diff --git a/package/busybox/busybox-1.14.2-test.patch b/package/busybox/busybox-1.14.2-test.patch new file mode 100644 index 000000000..ce0d9a77e --- /dev/null +++ b/package/busybox/busybox-1.14.2-test.patch @@ -0,0 +1,64 @@ +diff -urpN busybox-1.14.2/coreutils/test.c busybox-1.14.2-test/coreutils/test.c +--- busybox-1.14.2/coreutils/test.c 2009-07-05 22:59:28.000000000 +0200 ++++ busybox-1.14.2-test/coreutils/test.c 2009-07-17 01:46:28.000000000 +0200 +@@ -571,7 +571,14 @@ static number_t nexpr(enum token n) + + nest_msg(">nexpr(%s)\n", TOKSTR[n]); + if (n == UNOT) { +- res = !nexpr(check_operator(*++args)); ++ n = check_operator(*++args); ++ if (n == EOI) { ++ /* special case: [ ! ], [ a -a ! ] are valid */ ++ /* IOW, "! ARG" may miss ARG */ ++ unnest_msg("op_type == BINOP) { + /* "test [!] arg1 arg2" */ +- args = &argv[0]; ++ args = argv; + res = (binop() == 0); + goto ret; + } +@@ -755,7 +762,7 @@ int test_main(int argc, char **argv) + argv--; + } + #endif +- args = &argv[0]; ++ args = argv; + res = !oexpr(check_operator(*args)); + + if (*args != NULL && *++args != NULL) { +diff -urpN busybox-1.14.2/testsuite/test.tests busybox-1.14.2-test/testsuite/test.tests +--- busybox-1.14.2/testsuite/test.tests 2009-07-05 22:59:22.000000000 +0200 ++++ busybox-1.14.2-test/testsuite/test.tests 2009-07-17 01:46:28.000000000 +0200 +@@ -21,6 +21,11 @@ testing "test '': should be false (1)" \ + "1\n" \ + "" "" + ++testing "test !: should be true (0)" \ ++ "busybox test !; echo \$?" \ ++ "0\n" \ ++ "" "" ++ + testing "test a: should be true (0)" \ + "busybox test a; echo \$?" \ + "0\n" \ +@@ -51,6 +56,11 @@ testing "test -lt = -gt: should be false + "1\n" \ + "" "" + ++testing "test a -a !: should be true (0)" \ ++ "busybox test a -a !; echo \$?" \ ++ "0\n" \ ++ "" "" ++ + testing "test -f = a -o b: should be true (0)" \ + "busybox test -f = a -o b; echo \$?" \ + "0\n" \