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

Results for ysh-multiline.test.sh

statusoshosh-cpp
pass 99
total99
caseoshosh-cppdescription
0pass pass ... with simple command
1pass pass ... with pipeline
2pass pass ... with multiline $()
3pass pass ... inside command sub $()
4pass pass ... with && and [[
5pass pass '... for' is allowed, but NOT recommended
6pass pass Blank line in multiline command is syntax error
7pass pass Blank line with spaces and tabs isn't OK either
8pass pass Combine multi-line command and strings
18 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped