OILS / spec / ysh-stdlib-testing.test.sh View on Github | oilshell.org

45 lines, 19 significant
1## our_shell: ysh
2## oils_failures_allowed: 1
3
4# Hm can we do this entirely in user code, not as a builtin?
5
6#### Describe Prototype
7
8source --builtin testing.ysh
9
10proc p {
11 echo STDOUT
12 echo STDERR >& 2
13 return 42
14}
15
16describe p {
17 # each case changes to a clean directory?
18 #
19 # and each one is numbered?
20
21 it 'prints to stdout and stderr' {
22 try {
23 p > out 2>& err
24 }
25 assert (_status === 42)
26
27 cat out
28 cat err
29
30 # Oh man the here docs are still useful here because of 'diff' interface
31 # Multiline strings don't quite do it
32
33 diff out - <<< '''
34 STDOUT
35 '''
36
37 diff err - <<< '''
38 STDERR
39 '''
40 }
41}
42
43## STDOUT:
44TODO
45## END