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 "$@"
}
pass | 33 | 33 | |
total | 33 | 33 | |
| | | |
0 | pass | pass | s ~ regex and s !~ regex |
1 | pass | pass | Invalid regex has libc error message |
2 | pass | pass | Eggex flags to ignore case are respected |
3 | pass | pass | Eggex flags to treat newlines as special are respected |
4 | pass | pass | Positional captures with _group |
5 | pass | pass | _group() returns null when group doesn't match |
6 | pass | pass | _start() and _end() |
7 | pass | pass | Str->search() method returns value.Match object |
8 | pass | pass | Str->search() only matches %start ^ when pos == 0 |
9 | pass | pass | search() and leftMatch() accept ERE string |
10 | pass | pass | Str->leftMatch() can implement lexer pattern |
11 | pass | pass | Named captures with m => group() |
12 | pass | pass | Named captures with _group() _start() _end() |
13 | pass | pass | Named Capture Decays Without Name |
14 | pass | pass | Nested Named Capture Uses ( ordering |
15 | pass | pass | Capture with Type Conversion Func |
16 | pass | pass | Named Capture with Type Conversion Func |
17 | pass | pass | Can't splice eggex with different flags |
18 | pass | pass | Eggex with translation preference has arbitrary flags |
19 | pass | pass | Invalid sh operation on eggex |
20 | pass | pass | Long Python Example |
21 | pass | pass | Regex in a loop (bug regression) |
22 | pass | pass | Regex in a loop depending on var |
23 | pass | pass | Regex with [ (bug regression) |
24 | pass | pass | Str => replace(Str, Str) |
25 | pass | pass | Str => replace(Eggex, Str) |
26 | pass | pass | Str => replace(Eggex, Expr) |
27 | pass | pass | Str => replace(*, Expr), $0 |
28 | pass | pass | Str => replace(Eggex, Expr), scopes |
29 | pass | pass | Str => replace(Eggex, *, count) |
30 | pass | pass | Str => replace(Str, Str), empty new/old strings |
31 | pass | pass | Str => replace(Eggex, Lazy), convert_func |
32 | pass | pass | Str => replace(Eggex, *), eflags |