From 67256809ea80464f3b0e3f0dc7a60b41709d73aa Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Wed, 9 Jul 2025 00:03:21 +0800 Subject: [PATCH] nixosTests.easytier: handleTest -> runTest --- nixos/tests/all-tests.nix | 2 +- nixos/tests/easytier.nix | 214 +++++++++++++++++++------------------- 2 files changed, 107 insertions(+), 109 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4fd1c64693ac..6a8f71d17c15 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -445,7 +445,7 @@ in fscrypt = runTest ./fscrypt.nix; fastnetmon-advanced = runTest ./fastnetmon-advanced.nix; lauti = runTest ./lauti.nix; - easytier = handleTest ./easytier.nix { }; + easytier = runTest ./easytier.nix; ejabberd = runTest ./xmpp/ejabberd.nix; elk = handleTestOn [ "x86_64-linux" ] ./elk.nix { }; emacs-daemon = runTest ./emacs-daemon.nix; diff --git a/nixos/tests/easytier.nix b/nixos/tests/easytier.nix index e5366fb5ce98..23ce88464959 100644 --- a/nixos/tests/easytier.nix +++ b/nixos/tests/easytier.nix @@ -1,121 +1,119 @@ -import ./make-test-python.nix ( - { lib, ... }: - { - name = "easytier"; - meta.maintainers = with lib.maintainers; [ ltrump ]; +{ lib, ... }: +{ + name = "easytier"; + meta.maintainers = with lib.maintainers; [ ltrump ]; - nodes = - let - genPeer = - hostConfig: settings: - lib.mkMerge [ - { - services.easytier = { - enable = true; - instances.default = { - settings = { - network_name = "easytier_test"; - network_secret = "easytier_test_secret"; - } // settings; - }; + nodes = + let + genPeer = + hostConfig: settings: + lib.mkMerge [ + { + services.easytier = { + enable = true; + instances.default = { + settings = { + network_name = "easytier_test"; + network_secret = "easytier_test_secret"; + } // settings; }; - - networking.useDHCP = false; - networking.firewall.allowedTCPPorts = [ - 11010 - 11011 - ]; - networking.firewall.allowedUDPPorts = [ - 11010 - 11011 - ]; - } - hostConfig - ]; - in - { - relay = - genPeer - { - virtualisation.vlans = [ - 1 - 2 - ]; - - networking.interfaces.eth1.ipv4.addresses = [ - { - address = "192.168.1.11"; - prefixLength = 24; - } - ]; - - networking.interfaces.eth2.ipv4.addresses = [ - { - address = "192.168.2.11"; - prefixLength = 24; - } - ]; - } - { - ipv4 = "10.144.144.1"; - listeners = [ - "tcp://0.0.0.0:11010" - "wss://0.0.0.0:11011" - ]; }; - peer1 = - genPeer - { - virtualisation.vlans = [ 1 ]; - } - { - ipv4 = "10.144.144.2"; - peers = [ "tcp://192.168.1.11:11010" ]; - }; + networking.useDHCP = false; + networking.firewall.allowedTCPPorts = [ + 11010 + 11011 + ]; + networking.firewall.allowedUDPPorts = [ + 11010 + 11011 + ]; + } + hostConfig + ]; + in + { + relay = + genPeer + { + virtualisation.vlans = [ + 1 + 2 + ]; - peer2 = - genPeer - { - virtualisation.vlans = [ 2 ]; - } - { - ipv4 = "10.144.144.3"; - peers = [ "wss://192.168.2.11:11011" ]; - }; - }; + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "192.168.1.11"; + prefixLength = 24; + } + ]; - testScript = '' - start_all() + networking.interfaces.eth2.ipv4.addresses = [ + { + address = "192.168.2.11"; + prefixLength = 24; + } + ]; + } + { + ipv4 = "10.144.144.1"; + listeners = [ + "tcp://0.0.0.0:11010" + "wss://0.0.0.0:11011" + ]; + }; - relay.wait_for_unit("easytier-default.service") - peer1.wait_for_unit("easytier-default.service") - peer2.wait_for_unit("easytier-default.service") + peer1 = + genPeer + { + virtualisation.vlans = [ 1 ]; + } + { + ipv4 = "10.144.144.2"; + peers = [ "tcp://192.168.1.11:11010" ]; + }; - # relay is accessible by the other hosts - peer1.succeed("ping -c5 192.168.1.11") - peer2.succeed("ping -c5 192.168.2.11") + peer2 = + genPeer + { + virtualisation.vlans = [ 2 ]; + } + { + ipv4 = "10.144.144.3"; + peers = [ "wss://192.168.2.11:11011" ]; + }; + }; - # The other hosts are in separate vlans - peer1.fail("ping -c5 192.168.2.11") - peer2.fail("ping -c5 192.168.1.11") + testScript = '' + start_all() - # Each host can ping themselves through EasyTier - relay.succeed("ping -c5 10.144.144.1") - peer1.succeed("ping -c5 10.144.144.2") - peer2.succeed("ping -c5 10.144.144.3") + relay.wait_for_unit("easytier-default.service") + peer1.wait_for_unit("easytier-default.service") + peer2.wait_for_unit("easytier-default.service") - # Relay is accessible by the other hosts through EasyTier - peer1.succeed("ping -c5 10.144.144.1") - peer2.succeed("ping -c5 10.144.144.1") + # relay is accessible by the other hosts + peer1.succeed("ping -c5 192.168.1.11") + peer2.succeed("ping -c5 192.168.2.11") - # Relay can access the other hosts through EasyTier - relay.succeed("ping -c5 10.144.144.2") - relay.succeed("ping -c5 10.144.144.3") + # The other hosts are in separate vlans + peer1.fail("ping -c5 192.168.2.11") + peer2.fail("ping -c5 192.168.1.11") - # The other hosts in separate vlans can access each other through EasyTier - peer1.succeed("ping -c5 10.144.144.3") - peer2.succeed("ping -c5 10.144.144.2") - ''; - } -) + # Each host can ping themselves through EasyTier + relay.succeed("ping -c5 10.144.144.1") + peer1.succeed("ping -c5 10.144.144.2") + peer2.succeed("ping -c5 10.144.144.3") + + # Relay is accessible by the other hosts through EasyTier + peer1.succeed("ping -c5 10.144.144.1") + peer2.succeed("ping -c5 10.144.144.1") + + # Relay can access the other hosts through EasyTier + relay.succeed("ping -c5 10.144.144.2") + relay.succeed("ping -c5 10.144.144.3") + + # The other hosts in separate vlans can access each other through EasyTier + peer1.succeed("ping -c5 10.144.144.3") + peer2.succeed("ping -c5 10.144.144.2") + ''; +}