From ddafdae21c574b1dcd5c56e403c82010e7ed3565 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?= 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 b2a465cf53..8af356c663 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 93cf9bd77e..cc1c583cdf 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.47.2