From c071c53a8fbbed9e5a66ba3e939909bf45296128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 22 Aug 2026 23:53:57 +0200 Subject: Fix parsing statements using innerBlock without new variables Changelog: Fixed parsing of disconnect and packet loss commands. --- test/asset/network/disconnect_node.et | 27 ++++++++++++++++++++ test/asset/network/disconnect_nodes.et | 46 ++++++++++++++++++++++++++++++++++ test/script/network.et | 28 +++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 test/asset/network/disconnect_node.et create mode 100644 test/asset/network/disconnect_nodes.et create mode 100644 test/script/network.et (limited to 'test') 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" -- cgit v1.2.3