diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-22 22:37:53 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-22 22:38:56 +0200 |
| commit | 9fb76c74b5d30b592bad60de5955b9efa2e6cd65 (patch) | |
| tree | 3985118032a13f5044dee357c622e3ad34d79985 /test | |
| parent | 0ba7a3adcc5e539a31b5893bc956a39105e6a9bf (diff) | |
Shell: implement ‘!’ operator
Changelog: Implement negation using the `!` operator in the shell interpreter.
Diffstat (limited to 'test')
| -rw-r--r-- | test/asset/shell/logic.et | 14 | ||||
| -rw-r--r-- | test/script/shell.et | 26 |
2 files changed, 40 insertions, 0 deletions
diff --git a/test/asset/shell/logic.et b/test/asset/shell/logic.et new file mode 100644 index 0000000..d1d4b32 --- /dev/null +++ b/test/asset/shell/logic.et @@ -0,0 +1,14 @@ +test NegateFalse: + node n + shell on n as sh: + ! false + +test NegateTrue: + node n + shell on n as sh: + ! true + +test NegateNothing: + node n + shell on n as sh: + ! diff --git a/test/script/shell.et b/test/script/shell.et index e58dfea..086d3d3 100644 --- a/test/script/shell.et +++ b/test/script/shell.et @@ -154,3 +154,29 @@ test ShellExitOnError: expect /run-test-result Enabled failed/ expect /run-done/ flush + + +test ShellLogic: + spawn as p + with p: + send "load ${scripts.path}/logic.et" + local: + expect /(load-.*)/ capture done + guard (done == "load-done") + + send "run NegateFalse" + expect /run-test-result NegateFalse done/ + expect /run-done/ + flush + + send "run NegateTrue" + expect /child-fail sh failed at: .*logic.et:9:9: ! true/ + expect /run-test-result NegateTrue failed/ + expect /run-done/ + flush + + send "run NegateNothing" + expect /child-fail sh failed at: .*logic.et:14:9: !/ + expect /run-test-result NegateNothing failed/ + expect /run-done/ + flush |