253 lines
3.1 KiB
Text
253 lines
3.1 KiB
Text
NAME=(msg x;echo ${x})
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(msg x;echo ${x})
|
|
.(msg HelloWorld)
|
|
EOF
|
|
EXPECT=<<EOF
|
|
HelloWorld
|
|
EOF
|
|
RUN
|
|
|
|
NAME=(msg x;echo ${x})
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(msg x;echo ${x})
|
|
.(msg HelloWorld)
|
|
echo hiz
|
|
EOF
|
|
EXPECT=<<EOF
|
|
HelloWorld
|
|
hiz
|
|
EOF
|
|
RUN
|
|
|
|
NAME=.(msg x y;echo ${x} ${y})
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(msg x y;echo ${x} ${y})
|
|
.(msg Hello World)
|
|
EOF
|
|
EXPECT=<<EOF
|
|
Hello World
|
|
EOF
|
|
RUN
|
|
|
|
NAME=.(msg "foo bar")
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(msg x;echo ${x})
|
|
.(msg "Hello World")
|
|
EOF
|
|
EXPECT=<<EOF
|
|
Hello World
|
|
EOF
|
|
RUN
|
|
|
|
NAME=.(msg foo\ bar)
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(msg x;echo ${x})
|
|
.(msg Hello\ World)
|
|
EOF
|
|
EXPECT=<<EOF
|
|
Hello World
|
|
EOF
|
|
RUN
|
|
|
|
NAME=(*~?
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo;bar)
|
|
(bar;cow)
|
|
(*~?
|
|
EOF
|
|
EXPECT=<<EOF
|
|
2
|
|
EOF
|
|
RUN
|
|
|
|
NAME=3(foo inc;p8 4;sd +${inc})(1)
|
|
FILE==
|
|
CMDS=<<EOF
|
|
wx 010203040506070809
|
|
3(foo inc;p8 4;sd +${inc})(1)
|
|
EOF
|
|
EXPECT=<<EOF
|
|
01020304
|
|
02030405
|
|
03040506
|
|
EOF
|
|
RUN
|
|
|
|
NAME=3(foo;echo a;echo b)()
|
|
FILE==
|
|
CMDS=2(foo;echo a;echo b)()
|
|
EXPECT=<<EOF
|
|
a
|
|
b
|
|
a
|
|
b
|
|
EOF
|
|
RUN
|
|
|
|
NAME=%v $$ @@f:foo*
|
|
FILE==
|
|
CMDS=<<EOF
|
|
f foo.one @ 1
|
|
f foo.bar @ 2
|
|
f foo.cow @ 3
|
|
%v $$ @@f:foo*
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x1
|
|
0x2
|
|
0x3
|
|
EOF
|
|
RUN
|
|
|
|
NAME=%v
|
|
FILE==
|
|
CMDS=<<EOF
|
|
f foo.one @ 1
|
|
f foo.bar @ 2
|
|
f foo.cow @ 3
|
|
(_;%v $$)() @@f:foo*
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x1
|
|
0x2
|
|
0x3
|
|
EOF
|
|
RUN
|
|
|
|
NAME=multiple commands
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo x y; p8 ${x} @ ${y}; echo Hello ${x})(2 0)
|
|
(bar x y; p8 ${x} @ ${y}; echo Hello ${x}; echo World ${y})(1 0)
|
|
(zas x y; .(foo ${y} ${x}))(3 1)
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0000
|
|
Hello 2
|
|
00
|
|
Hello 1
|
|
World 0
|
|
00
|
|
Hello 1
|
|
EOF
|
|
RUN
|
|
|
|
NAME=..(
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo1 fst; echo ${fst})
|
|
(foo2 fst snd; echo ${fst}; %v ${snd})
|
|
..(foo1 xyz)
|
|
echo -----
|
|
..(foo1 abc def)
|
|
echo -----
|
|
..(foo2 xyz 11)
|
|
echo -----
|
|
..(foo2 abc 10 def 9)
|
|
EOF
|
|
EXPECT=<<EOF
|
|
xyz
|
|
-----
|
|
abc
|
|
def
|
|
-----
|
|
xyz
|
|
0xb
|
|
-----
|
|
abc
|
|
0xa
|
|
def
|
|
0x9
|
|
EOF
|
|
RUN
|
|
|
|
NAME=arity errors
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo0; echo foo0)
|
|
.(foo0 1)
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Macro 'foo0' expects 0 args, not 1
|
|
ERROR: core: Error while executing command: .(foo0 1)
|
|
EOF
|
|
RUN
|
|
|
|
NAME=arity errors 2
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo0; echo foo0)
|
|
..(foo0 1)
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Macro 'foo0' expects 0 args, not 1
|
|
ERROR: core: Error while executing command: ..(foo0 1)
|
|
EOF
|
|
RUN
|
|
|
|
NAME=arity errors 3
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo1 fst; echo foo1 ${fst})
|
|
.(foo1)
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Macro 'foo1' expects 1 args, not 0
|
|
ERROR: core: Error while executing command: .(foo1)
|
|
EOF
|
|
RUN
|
|
|
|
NAME=arity errors 4
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo1 fst; echo foo1 ${fst})
|
|
.(foo1 1 2)
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Macro 'foo1' expects 1 args, not 2
|
|
ERROR: core: Error while executing command: .(foo1 1 2)
|
|
EOF
|
|
RUN
|
|
|
|
NAME=arity errors 5
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo1 fst; echo foo1 ${fst})
|
|
..(foo1)
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Macro 'foo1' expects 1 args, not 0
|
|
ERROR: core: Error while executing command: ..(foo1)
|
|
EOF
|
|
RUN
|
|
|
|
NAME=arity errors 6
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo2 fst snd; echo foo2_0 ${fst}; echo foo2_1 ${snd})
|
|
..(foo2 1)
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Macro 'foo2' expects 2 args and 1 is not a multiple of 2
|
|
ERROR: core: Error while executing command: ..(foo2 1)
|
|
EOF
|
|
RUN
|
|
|
|
NAME=arity errors 7
|
|
FILE==
|
|
CMDS=<<EOF
|
|
(foo2 fst snd; echo foo2_0 ${fst}; echo foo2_1 ${snd})
|
|
..(foo2)
|
|
EOF
|
|
EXPECT_ERR=<<EOF
|
|
ERROR: Macro 'foo2' expects 2 args, not 0
|
|
ERROR: core: Error while executing command: ..(foo2)
|
|
EOF
|
|
RUN
|