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

Results for alias.test.sh

statusoshosh-cpp
pass 4343
ok 55
total4848
caseoshosh-cppdescription
0pass pass Usage of builtins
1pass pass Basic alias
2pass pass define and use alias on a single line
3pass pass alias can override builtin
4pass pass defining multiple aliases, then unalias
5pass pass alias not defined
6pass pass unalias not defined
7pass pass unalias -a
8pass pass List aliases by providing names
9pass pass alias without args lists all aliases
10pass pass unalias without args is a usage error
11pass pass alias with trailing space causes alias expansion on second word
12pass pass Recursive alias expansion of first word
13pass pass Recursive alias expansion of SECOND word
14pass pass Expansion of alias with variable
15pass pass Alias must be an unquoted word, no expansions allowed
16pass pass first and second word are the same alias, but no trailing space
17pass pass first and second word are the same alias, with trailing space
18pass pass Invalid syntax of alias
19pass pass Dynamic alias definition
20pass pass Alias name with punctuation
21pass pass Syntax error after expansion
22pass pass Loop split across alias and arg works
23ok ok Loop split across alias in another way
detailsdetails
24ok ok Loop split across both iterative and recursive aliases
detailsdetails
25pass pass Alias with a quote in the middle is a syntax error
26pass pass Alias with internal newlines
27pass pass Alias trailing newline
28pass pass Two aliases in pipeline
29pass pass Alias not respected inside $()
30pass pass Alias can be defined and used on a single line
31pass pass Alias is respected inside eval
32pass pass alias with redirects works
33pass pass alias with environment bindings works
34pass pass alias with line continuation in the middle
35ok ok alias for left brace
detailsdetails
36ok ok alias for left paren
detailsdetails
37pass pass alias used in subshell and command sub
38pass pass alias used in here doc
39pass pass here doc inside alias
40pass pass Corner case: alias inside LHS array arithmetic expression
41pass pass Alias that is pipeline
42pass pass Alias that is && || ;
43pass pass Alias and command sub (bug regression)
44pass pass Alias and arithmetic
45pass pass Alias and PS4
46ok ok alias with keywords
detailsdetails
47pass pass alias with word of multiple lines
86 passed, 10 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped

Details on runs that didn't PASS

osh23 Loop split across alias in another way

stdout:
stderr: 
  for i in 1 2 3; do echo $i
                            ^
[ expansion of alias 'e_' ]:1: Expected word type Id.KW_Done, got Id.Eof_Real
osh-cpp23 Loop split across alias in another way

stdout:
stderr: 
  for i in 1 2 3; do echo $i
                            ^
[ expansion of alias 'e_' ]:1: Expected word type Id.KW_Done, got Id.Eof_Real
osh24 Loop split across both iterative and recursive aliases

stdout:
stderr: 
  for i in $one "2" 3
                     ^
[ expansion of alias 'FOR1' ]:1: Invalid word in for loop
osh-cpp24 Loop split across both iterative and recursive aliases

stdout:
stderr: 
  for i in $one "2" 3
                     ^
[ expansion of alias 'FOR1' ]:1: Invalid word in for loop
osh35 alias for left brace

stdout:
stderr: 
  { echo one
            ^
[ expansion of alias 'LEFT' ]:1: Expected word type Id.Lit_RBrace, got Id.Eof_Real
osh-cpp35 alias for left brace

stdout:
stderr: 
  { echo one
            ^
[ expansion of alias 'LEFT' ]:1: Expected word type Id.Lit_RBrace, got Id.Eof_Real
osh36 alias for left paren

stdout:
stderr: 
  ( echo one
            ^
[ expansion of alias 'LEFT' ]:1: Expected word type Id.Right_Subshell, got Id.Eof_Real
osh-cpp36 alias for left paren

stdout:
stderr: 
  ( echo one
            ^
[ expansion of alias 'LEFT' ]:1: Expected word type Id.Right_Subshell, got Id.Eof_Real
osh46 alias with keywords

stdout:
stderr: 
  
   ^
[ expansion of alias 'a' ]:1: Unexpected EOF while parsing command
osh-cpp46 alias with keywords

stdout:
stderr: 
  
   ^
[ expansion of alias 'a' ]:1: Unexpected EOF while parsing command