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-case: spec test case results

Results for ysh-case.test.sh

statusyshysh-cpp
pass 1818
total1818
caseyshysh-cppdescription
0pass pass case syntax, one line
1pass pass case syntax, multiline
2pass pass case syntax, simple expressions
3pass pass case syntax, complex expressions
4pass pass case semantics, no match
5pass pass eggex as case arm
6pass pass eggex respects flags
7pass pass empty case statement
8pass pass typed args
9pass pass eggex capture
10pass pass else case pattern
11pass pass expression evaluation shortcuts
12pass pass expression evaluation order
13pass pass word evaluation shortcuts
14pass pass word evaluation order
15pass pass only one branch is evaluated
16pass pass stop on errors
17pass pass old and new case statements
36 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped