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

Results for append.test.sh

statusoshosh-cpp
pass 1919
total1919
caseoshosh-cppdescription
0pass pass Append string to string
1pass pass Append array to array
2pass pass Append string to undefined variable
3pass pass Append to array to undefined variable
4pass pass error: s+=(my array)
5pass pass error: myarray+=s
6pass pass typeset s+=(my array)
7pass pass error: typeset myarray+=s
8pass pass error: append used like env prefix
9pass pass myarray[1]+=s - Append to element
10pass pass myarray[-1]+=s - Append to last element
11pass pass Try to append list to element
12pass pass Strings have value semantics, not reference semantics
13pass pass typeset s+=
14pass pass typeset s${dyn}+=
15pass pass export readonly +=
16pass pass local +=
17pass pass assign builtin appending array: declare d+=(d e)
18pass pass export+=array disallowed (strict_array)
38 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped