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 "$@" }
spec test index / oilshell.org
74 passed, 2 OK, 2 not implemented, 0 BUG, 4 failed, 0 timeouts, 0 cases skipped 4 failed under osh
osh | 8 coerce to string with ${A[*]}, etc. [osh stdout] Expected "['xx yy']\n['X X Y Y']\n['xx', 'yy']\n['X', 'X', 'Y', 'Y']\n" Got "['xx', 'yy']\n['X X Y Y']\n['xx', 'yy']\n['X', 'X', 'Y', 'Y']\n" stdout: ['xx', 'yy'] ['X X Y Y'] ['xx', 'yy'] ['X', 'X', 'Y', 'Y']stderr: |
osh-cpp | 8 coerce to string with ${A[*]}, etc. [osh-cpp stdout] Expected "['xx yy']\n['X X Y Y']\n['xx', 'yy']\n['X', 'X', 'Y', 'Y']\n" Got "['xx', 'yy']\n['X X Y Y']\n['xx', 'yy']\n['X', 'X', 'Y', 'Y']\n" stdout: ['xx', 'yy'] ['X X Y Y'] ['xx', 'yy'] ['X', 'X', 'Y', 'Y']stderr: |
osh | 23 bash variable can have an associative array part and a string part stdout: 1 2 1 2 zerostderr: echo ${assoc[1]} ${assoc[2]} ${assoc} ^~~~~ [ stdin ]:8: fatal: Can't index string 'assoc' with integer |
osh-cpp | 23 bash variable can have an associative array part and a string part stdout: 1 2 1 2 zerostderr: echo ${assoc[1]} ${assoc[2]} ${assoc} ^~~~~ [ stdin ]:8: fatal: Can't index string 'assoc' with integer |
osh | 28 readonly associative array can't be modified stdout: stderr: A['x']=1 ^~ [ stdin ]:2: fatal: Can't assign to readonly associative array |
osh-cpp | 28 readonly associative array can't be modified stdout: stderr: A['x']=1 ^~ [ stdin ]:2: fatal: Can't assign to readonly associative array |
osh | 34 nameref and assoc array [osh stdout] Expected 'values: val\nbefore val\nafter val2\nvalues: val2\n---\nbefore val2\nafter val3\nvalues: val3\n' Got 'values: val\nbefore A["K"]\nafter val2\nvalues: val\n---\nbefore A[$key]\nafter val3\nvalues: val\n' stdout: values: val before A["K"] after val2 values: val --- before A[$key] after val3 values: valstderr: |
osh-cpp | 34 nameref and assoc array [osh-cpp stdout] Expected 'values: val\nbefore val\nafter val2\nvalues: val2\n---\nbefore val2\nafter val3\nvalues: val3\n' Got 'values: val\nbefore A["K"]\nafter val2\nvalues: val\n---\nbefore A[$key]\nafter val3\nvalues: val\n' stdout: values: val before A["K"] after val2 values: val --- before A[$key] after val3 values: valstderr: |
osh | 38 Implicit increment of keys [osh stdout] Expected "['30', '31', '40', '41']\n['a', 'b', 'x', 'y']\n" Got '' [osh status] Expected 0, got 2 stdout: stderr: declare -a arr=( [30]=a b [40]=x y) ^ [ stdin ]:1: Expected associative array pair |
osh-cpp | 38 Implicit increment of keys [osh-cpp stdout] Expected "['30', '31', '40', '41']\n['a', 'b', 'x', 'y']\n" Got '' [osh-cpp status] Expected 0, got 2 stdout: stderr: declare -a arr=( [30]=a b [40]=x y) ^ [ stdin ]:1: Expected associative array pair |
osh | 40 test -v with dynamic parsing [osh stdout] Expected 'empty=0\nk=0\nnonexistent=1\n', got 'empty=1\nk=1\nnonexistent=1\n' stdout: empty=1 k=1 nonexistent=1stderr: |
osh-cpp | 40 test -v with dynamic parsing [osh-cpp stdout] Expected 'empty=0\nk=0\nnonexistent=1\n', got 'empty=1\nk=1\nnonexistent=1\n' stdout: empty=1 k=1 nonexistent=1stderr: |