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

Results for var-sub-quote.test.sh

statusoshosh-cpp
pass 3939
total3939
caseoshosh-cppdescription
0pass pass "${empty:-}"
1pass pass ${empty:-}
2pass pass array with empty values
3pass pass substitution of IFS character, quoted and unquoted
4pass pass :-
5pass pass -
6pass pass Inner single quotes
7pass pass Inner single quotes, outer double quotes
8pass pass Inner double quotes
9pass pass Inner double quotes, outer double quotes
10pass pass Multiple words: no quotes
11pass pass Multiple words: no outer quotes, inner single quotes
12pass pass Multiple words: no outer quotes, inner double quotes
13pass pass Multiple words: outer double quotes, no inner quotes
14pass pass Multiple words: outer double quotes, inner double quotes
15pass pass Multiple words: outer double quotes, inner single quotes
16pass pass Mixed inner quotes
17pass pass Mixed inner quotes with outer quotes
18pass pass part_value tree with multiple words
19pass pass part_value tree on RHS
20pass pass Var with multiple words: no quotes
21pass pass Multiple words: no outer quotes, inner single quotes
22pass pass Multiple words: no outer quotes, inner double quotes
23pass pass Multiple words: outer double quotes, no inner quotes
24pass pass Multiple words: outer double quotes, inner double quotes
25pass pass Multiple words: outer double quotes, inner single quotes
26pass pass No outer quotes, Multiple internal quotes
27pass pass Strip a string with single quotes, unquoted
28pass pass Strip a string with single quotes, double quoted
29pass pass The string to strip is space sensitive
30pass pass The string to strip can be single quoted, outer is unquoted
31pass pass Syntax error for single quote in double quote
32pass pass "${undef-'c d'}" and "${foo%'c d'}" are parsed differently
33pass pass $'' allowed within VarSub arguments
34pass pass # operator with single quoted arg (dash/ash and bash/mksh disagree, reported by Crestwave)
35pass pass / operator with single quoted arg (causes syntax error in regex in OSH, reported by Crestwave)
36pass pass single quotes work inside character classes
37pass pass comparison: :- operator with single quoted arg
38pass pass Right Brace as argument (similar to #702)
78 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped