44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From ddafdae21c574b1dcd5c56e403c82010e7ed3565 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
|
Date: Mon, 2 May 2022 14:27:34 +0100
|
|
Subject: [PATCH] tests: sort-NaN-infloop: augment testing for recent fix
|
|
|
|
* tests/misc/sort-NaN-infloop.sh: Add test case from
|
|
https://unix.stackexchange.com/a/700967/37127
|
|
* src/sort.c: Avoid syntax-check failure.
|
|
---
|
|
src/sort.c | 2 +-
|
|
tests/misc/sort-NaN-infloop.sh | 3 +++
|
|
2 files changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/sort.c b/src/sort.c
|
|
index b2a465cf5..8af356c66 100644
|
|
--- a/src/sort.c
|
|
+++ b/src/sort.c
|
|
@@ -2006,7 +2006,7 @@ numcompare (char const *a, char const *b)
|
|
static int
|
|
nan_compare (long double a, long double b)
|
|
{
|
|
- char buf[2][sizeof "-nan()" + CHAR_BIT * sizeof a];
|
|
+ char buf[2][sizeof "-nan""()" + CHAR_BIT * sizeof a];
|
|
snprintf (buf[0], sizeof buf[0], "%Lf", a);
|
|
snprintf (buf[1], sizeof buf[1], "%Lf", b);
|
|
return strcmp (buf[0], buf[1]);
|
|
diff --git a/tests/misc/sort-NaN-infloop.sh b/tests/misc/sort-NaN-infloop.sh
|
|
index 93cf9bd77..cc1c583cd 100755
|
|
--- a/tests/misc/sort-NaN-infloop.sh
|
|
+++ b/tests/misc/sort-NaN-infloop.sh
|
|
@@ -23,6 +23,9 @@ echo nan > F || framework_failure_
|
|
printf 'nan\nnan\n' > exp || framework_failure_
|
|
timeout 10 sort -g -m F F > out || fail=1
|
|
|
|
+# This was seen to infloop on some systems until coreutils v9.2 (bug 55212)
|
|
+yes nan | head -n128095 | timeout 60 sort -g > /dev/null || fail=1
|
|
+
|
|
compare exp out || fail=1
|
|
|
|
Exit $fail
|
|
--
|
|
2.27.0
|
|
|