1 |
|
2 |
|
3 |
shopt --set ysh:upgrade
|
4 |
|
5 |
module 'main' || return 0
|
6 |
source $REPO_ROOT/spec/testdata/module/common.ysh
|
7 |
source $REPO_ROOT/spec/testdata/module/module1.ysh
|
8 |
## STDOUT:
|
9 |
common
|
10 |
module1
|
11 |
## END
|
12 |
|
13 |
|
14 |
|
15 |
# This sources lib.ysh
|
16 |
$SH $REPO_ROOT/spec/testdata/module/main.ysh
|
17 |
|
18 |
# Run it directly
|
19 |
$SH $REPO_ROOT/spec/testdata/module/lib.ysh
|
20 |
|
21 |
## STDOUT:
|
22 |
lib.ysh is not the main module
|
23 |
hi from main.ysh
|
24 |
hi from lib.ysh
|
25 |
## END
|
26 |
|
27 |
|
28 |
|
29 |
$SH -c 'echo -c; is-main; echo status=$?'
|
30 |
|
31 |
echo 'echo stdin; is-main; echo status=$?' | $SH
|
32 |
|
33 |
## STDOUT:
|
34 |
-c
|
35 |
status=0
|
36 |
stdin
|
37 |
status=0
|
38 |
## END
|
39 |
|
40 |
|
41 |
shopt --set parse_proc
|
42 |
|
43 |
f() {
|
44 |
write -- f "$@"
|
45 |
}
|
46 |
proc p {
|
47 |
write -- p "$@"
|
48 |
}
|
49 |
runproc f 1 2
|
50 |
echo status=$?
|
51 |
|
52 |
runproc p 3 4
|
53 |
echo status=$?
|
54 |
|
55 |
runproc invalid 5 6
|
56 |
echo status=$?
|
57 |
|
58 |
runproc
|
59 |
echo status=$?
|
60 |
|
61 |
## STDOUT:
|
62 |
f
|
63 |
1
|
64 |
2
|
65 |
status=0
|
66 |
p
|
67 |
3
|
68 |
4
|
69 |
status=0
|
70 |
status=1
|
71 |
status=2
|
72 |
## END
|
73 |
|
74 |
|
75 |
shopt --set parse_brace parse_proc
|
76 |
|
77 |
proc p {
|
78 |
echo hi
|
79 |
}
|
80 |
|
81 |
# The block is ignored for now
|
82 |
runproc p {
|
83 |
echo myblock
|
84 |
}
|
85 |
## STDOUT:
|
86 |
hi
|
87 |
## END
|
88 |
|