12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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("<nexpr:1 (!EOI)\n");
- + return 1;
- + }
- + res = !nexpr(n);
- unnest_msg("<nexpr:%lld\n", res);
- return res;
- }
- @@ -742,7 +749,7 @@ int test_main(int argc, char **argv)
- check_operator(argv[1]);
- if (last_operator->op_type == BINOP) {
- /* "test [!] arg1 <binary_op> 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" \
|