0 | pass | pass | zero args: [ ] |
1 | pass | pass | one arg: [ x ] where x is one of '=' '!' '(' ']' |
2 | pass | pass | one arg: empty string is false. Equivalent to -n. |
3 | pass | pass | -a as unary operator (alias of -e) |
4 | pass | pass | two args: -z with = ! ( ] |
5 | pass | pass | three args |
6 | pass | pass | four args |
7 | pass | pass | test with extra args is syntax error |
8 | pass | pass | ] syntax errors |
9 | pass | pass | -n |
10 | pass | pass | ! -a |
11 | pass | pass | -o |
12 | pass | pass | ( ) |
13 | pass | pass | ( ) ! -a -o with system version of [ |
14 | pass | pass | == is alias for = |
15 | pass | pass | == and = does not do glob |
16 | pass | pass | [ with op variable |
17 | pass | pass | [ with unquoted empty var |
18 | pass | pass | [ compare with literal -f |
19 | pass | pass | [ '(' foo ] is runtime syntax error |
20 | pass | pass | -z '>' implies two token lookahead |
21 | pass | pass | operator/operand ambiguity with ] |
22 | pass | pass | operator/operand ambiguity with -a |
23 | pass | pass | -d |
24 | pass | pass | -x |
25 | pass | pass | -r |
26 | pass | pass | -w |
27 | pass | pass | -k for sticky bit |
28 | pass | pass | -h and -L test for symlink |
29 | pass | pass | -t 1 for stdout |
30 | pass | pass | [ -t invalid ] |
31 | pass | pass | -ot and -nt |
32 | pass | pass | [ a -eq b ] |
33 | pass | pass | test -s |
34 | pass | pass | test -b -c -S (block, character, socket) |
35 | pass | pass | test -p named pipe |
36 | pass | pass | -G and -O for effective user ID and group ID |
37 | pass | pass | -u for setuid, -g too |
38 | pass | pass | -v to test variable (bash) |
39 | pass | pass | test -o for options |
40 | pass | pass | -nt -ot |
41 | pass | pass | -ef |
42 | pass | pass | Overflow error |
43 | pass | pass | Bug regression |
44 | pass | pass | test -c |
45 | pass | pass | test -S |