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

Results for whitespace.test.sh

statusoshosh-cpp
pass 33
ok 22
total55
caseoshosh-cppdescription
0pass pass Parsing shell words \r \v
1ok ok \r in arith expression is allowed by some shells, but not most!
detailsdetails
2ok ok whitespace in string to integer conversion
detailsdetails
3pass pass \r at end of line is not special
4pass pass Default IFS does not include \r \v \f
6 passed, 4 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh1 \r in arith expression is allowed by some shells, but not most!

stdout:
['3']
['3']
stderr:
osh-cpp1 \r in arith expression is allowed by some shells, but not most!

stdout:
['3']
['3']
stderr:
osh2 whitespace in string to integer conversion

stdout:
43
43
stderr:
osh-cpp2 whitespace in string to integer conversion

stdout:
43
43
stderr: