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 "$@" } strict-options: spec test case results

Results for strict-options.test.sh

statusoshosh-cpp
pass 1515
total1515
caseoshosh-cppdescription
0pass pass strict_arith option
1pass pass Sourcing a script that returns at the top level
2pass pass top level control flow
3pass pass errexit and top-level control flow
4pass pass shopt -s strict_control_flow
5pass pass return at top level is an error
6pass pass continue at top level is NOT an error
7pass pass break at top level is NOT an error
8pass pass empty argv WITHOUT strict_argv
9pass pass empty argv WITH strict_argv
10pass pass Arrays are incorrectly compared, but strict_array prevents it
11pass pass automatically creating arrays WITHOUT strict_array
12pass pass automatically creating arrays are INDEXED, not associative
13pass pass simple_eval_builtin
14pass pass strict_parse_slice means you need explicit length
30 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped