From fb13cdc727541adef0010279f770f2afa358002e Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Tue, 6 Jan 2015 03:36:57 +0000 Subject: maint: adjustments related to previous shuf crash fix * tests/misc/shuf.sh: Improve the test so it detects crashes in more cases. * NEWS: Mention the previous fix. --- tests/misc/shuf.sh | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'tests/misc') diff --git a/tests/misc/shuf.sh b/tests/misc/shuf.sh index 5e85d9aca..34f422507 100755 --- a/tests/misc/shuf.sh +++ b/tests/misc/shuf.sh @@ -47,7 +47,8 @@ test "$t" = 'a b c d e' || { fail=1; echo "not a permutation" 1>&2; } shuf -er test $? -eq 1 || fail=1 -# coreutils-8.23 dumps core. +# coreutils-8.22 and 8.23 dump core +# with a single redundant operand with --input-range shuf -i0-0 1 test $? -eq 1 || fail=1 @@ -70,7 +71,7 @@ touch unreadable || framework_failure_ chmod 0 unreadable || framework_failure_ if ! test -r unreadable; then shuf -n0 unreadable || fail=1 - shuf -n1 unreadable && fail=1 + { shuf -n1 unreadable || test $? -ne 1; } && fail=1 fi # Multiple -n is accepted, should use the smallest value @@ -81,25 +82,25 @@ test "$c" -eq 3 || { fail=1; echo "Multiple -n failed">&2 ; } # Test error conditions # -i and -e must not be used together -: | shuf -i0-9 -e A B && +: | { shuf -i0-9 -e A B || test $? -ne 1; } && { fail=1; echo "shuf did not detect erroneous -e and -i usage.">&2 ; } # Test invalid value for -n -: | shuf -nA && +: | { shuf -nA || test $? -ne 1; } && { fail=1; echo "shuf did not detect erroneous -n usage.">&2 ; } # Test multiple -i -shuf -i0-9 -n10 -i8-90 && +{ shuf -i0-9 -n10 -i8-90 || test $? -ne 1; } && { fail=1; echo "shuf did not detect multiple -i usage.">&2 ; } # Test invalid range for ARG in '1' 'A' '1-' '1-A'; do - shuf -i$ARG && + { shuf -i$ARG || test $? -ne 1; } && { fail=1; echo "shuf did not detect erroneous -i$ARG usage.">&2 ; } done # multiple -o are forbidden -shuf -i0-9 -o A -o B && +{ shuf -i0-9 -o A -o B || test $? -ne 1; } && { fail=1; echo "shuf did not detect erroneous multiple -o usage.">&2 ; } # multiple random-sources are forbidden -shuf -i0-9 --random-source A --random-source B && +{ shuf -i0-9 --random-source A --random-source B || test $? -ne 1; } && { fail=1; echo "shuf did not detect multiple --random-source usage.">&2 ; } # Test --repeat option -- cgit v1.2.3-70-g09d2