summaryrefslogtreecommitdiff
path: root/test/script
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-08-02 14:55:46 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-08-02 16:24:32 +0200
commit387b02e41cc835541dcfc31af5f96873d5576e37 (patch)
tree9f7cbd1a6e5f408c17d5c791566d50ab6b69b93c /test/script
parent28a93e24f6a33a8254c16c31961d523c71bdb1d2 (diff)
Test: basic shell scripts
Diffstat (limited to 'test/script')
-rw-r--r--test/script/shell.et57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/script/shell.et b/test/script/shell.et
new file mode 100644
index 0000000..5cc11fb
--- /dev/null
+++ b/test/script/shell.et
@@ -0,0 +1,57 @@
+asset scripts:
+ path: ../asset/shell
+
+
+test ShellSpawn:
+ spawn as p
+ with p:
+ send "load ${scripts.path}/spawn.et"
+ local:
+ expect /(load-.*)/ capture done
+ guard (done == "load-done")
+ flush
+
+ send "run-all"
+ expect /run-test-result ShellTrue done/
+ expect /child-fail sh failed at: .*: false/
+ expect /child-fail sh exit code: 1/
+ expect /run-test-result ShellFalse failed/
+ expect /run-all-done/
+
+
+def expect_next_stdout from p (expected):
+ expect from p /child-stdout sh (.*)/ capture line
+ guard (line == expected)
+
+test ShellEcho:
+ spawn as p
+ with p:
+ send "load ${scripts.path}/echo.et"
+ local:
+ expect /(load-.*)/ capture done
+ guard (done == "load-done")
+ flush
+
+ send "run-all"
+
+ expect_next_stdout from p:
+ "a b c"
+ "a b c"
+ "a b d"
+ "a b c d"
+
+ "abcd xyz"
+ "aa bc d"
+ "b echo c"
+
+ "a b"
+ "a b"
+ "\$space_str"
+
+ "\$ \" \\"
+ "\"\"a"
+ "' \" \\\\\\ \\"
+
+ with p:
+ expect /run-test-result Echo done/
+ expect /run-all-done/