summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-08-22 23:53:57 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-08-23 00:16:38 +0200
commitc071c53a8fbbed9e5a66ba3e939909bf45296128 (patch)
tree5b0c4f1fd4816bd3ab0b92de08a27949be29e70e /test
parent7a0c86835b8bd34c5bbaa0194e298c431d8b2c05 (diff)
Fix parsing statements using innerBlock without new variablesHEADmaster
Changelog: Fixed parsing of disconnect and packet loss commands.
Diffstat (limited to 'test')
-rw-r--r--test/asset/network/disconnect_node.et27
-rw-r--r--test/asset/network/disconnect_nodes.et46
-rw-r--r--test/script/network.et28
3 files changed, 101 insertions, 0 deletions
diff --git a/test/asset/network/disconnect_node.et b/test/asset/network/disconnect_node.et
new file mode 100644
index 0000000..a9450a7
--- /dev/null
+++ b/test/asset/network/disconnect_node.et
@@ -0,0 +1,27 @@
+test Test:
+ node n1
+ node n2
+ node n3
+
+ local:
+ shell on n1:
+ ping ${n3.ip} -c 1
+
+ shell on n2:
+ ping ${n3.ip} -c 1
+
+ local:
+ disconnect_node n1
+
+ shell on n1:
+ ! ping ${n3.ip} -c 1
+
+ shell on n2:
+ ping ${n3.ip} -c 1
+
+ local:
+ shell on n1:
+ ping ${n3.ip} -c 1
+
+ shell on n2:
+ ping ${n3.ip} -c 1
diff --git a/test/asset/network/disconnect_nodes.et b/test/asset/network/disconnect_nodes.et
new file mode 100644
index 0000000..9469024
--- /dev/null
+++ b/test/asset/network/disconnect_nodes.et
@@ -0,0 +1,46 @@
+test Test:
+ subnet s1
+ node n1_1 on s1
+ node n1_2 on s1
+
+ subnet s2
+ node n2_1 on s2
+ node n2_2 on s2
+
+ subnet s3
+ node n3 on s3
+
+ local:
+ shell on n1_1:
+ ping ${n1_2.ip} -c 1 -W 0.001
+ ping ${n2_2.ip} -c 1 -W 0.001
+ ping ${n3.ip} -c 1 -W 0.001
+
+ shell on n2_1:
+ ping ${n1_2.ip} -c 1 -W 0.001
+ ping ${n2_2.ip} -c 1 -W 0.001
+ ping ${n3.ip} -c 1 -W 0.001
+
+ local:
+ disconnect_nodes s1
+
+ shell on n1_1:
+ ! ping ${n1_2.ip} -c 1 -W 0.001
+ ! ping ${n2_2.ip} -c 1 -W 0.001
+ ! ping ${n3.ip} -c 1 -W 0.001
+
+ shell on n2_1:
+ ! ping ${n1_2.ip} -c 1 -W 0.001
+ ping ${n2_2.ip} -c 1 -W 0.001
+ ping ${n3.ip} -c 1 -W 0.001
+
+ local:
+ shell on n1_1:
+ ping ${n1_2.ip} -c 1 -W 0.001
+ ping ${n2_2.ip} -c 1 -W 0.001
+ ping ${n3.ip} -c 1 -W 0.001
+
+ shell on n2_1:
+ ping ${n1_2.ip} -c 1 -W 0.001
+ ping ${n2_2.ip} -c 1 -W 0.001
+ ping ${n3.ip} -c 1 -W 0.001
diff --git a/test/script/network.et b/test/script/network.et
new file mode 100644
index 0000000..62006ad
--- /dev/null
+++ b/test/script/network.et
@@ -0,0 +1,28 @@
+module network
+
+asset scripts:
+ path: ../asset/network
+
+
+def run_test_from using p (file):
+ guard (file /= "") # TODO: forces (file :: String)
+ send "" to p # TODO: forces (p :: Process)
+
+ with p:
+ send "load $file"
+ expect /load-done/
+
+ send "run Test"
+ expect /run-test-result Test (.*)/ capture result
+ guard (result == "done")
+ expect /run-done/
+
+
+test DisconnectNode:
+ spawn as p
+ run_test_from using p "${scripts.path}/disconnect_node.et"
+
+
+test DisconnectNodes:
+ spawn as p
+ run_test_from using p "${scripts.path}/disconnect_nodes.et"