run-file () { local spec_name=$1; shift; local spec_file=spec/$spec_name.test.sh; local suite; suite=$(test/sh_spec.py --print-spec-suite $spec_file); local spec_subdir; case $suite in osh) spec_subdir='osh-cpp' ;; ysh) spec_subdir='ysh-cpp' ;; *) die "Invalid suite $suite" ;; esac; local base_dir=_tmp/spec/$spec_subdir; mkdir -v -p $base_dir; sh-spec $spec_file --timeout 10 --oils-bin-dir $PWD/bin --oils-cpp-bin-dir $REPO_ROOT/_bin/cxx-asan --tsv-output $base_dir/${spec_name}.tsv "$@" } builtin-bracket: spec test case results

Results for builtin-bracket.test.sh

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