diff options
author | Will Fancher <elvishjerricco@gmail.com> | 2023-09-20 05:58:30 -0400 |
---|---|---|
committer | Will Fancher <elvishjerricco@gmail.com> | 2023-11-09 17:53:49 -0500 |
commit | 90e26586937dc2bb5bb4c1a825ee1d8682a62d94 (patch) | |
tree | e97ee9d0a768643ae3e94e9bac546eb284a9bf21 /nixos | |
parent | 9a0f523372cf836662421ef2603bfb93f568f399 (diff) | |
download | nixlib-90e26586937dc2bb5bb4c1a825ee1d8682a62d94.tar nixlib-90e26586937dc2bb5bb4c1a825ee1d8682a62d94.tar.gz nixlib-90e26586937dc2bb5bb4c1a825ee1d8682a62d94.tar.bz2 nixlib-90e26586937dc2bb5bb4c1a825ee1d8682a62d94.tar.lz nixlib-90e26586937dc2bb5bb4c1a825ee1d8682a62d94.tar.xz nixlib-90e26586937dc2bb5bb4c1a825ee1d8682a62d94.tar.zst nixlib-90e26586937dc2bb5bb4c1a825ee1d8682a62d94.zip |
nixos/tests/systemd-initrd-networkd: Separate into different tests
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/tests/systemd-initrd-networkd.nix | 75 |
1 files changed, 46 insertions, 29 deletions
diff --git a/nixos/tests/systemd-initrd-networkd.nix b/nixos/tests/systemd-initrd-networkd.nix index 8376276d8f63..22a570520545 100644 --- a/nixos/tests/systemd-initrd-networkd.nix +++ b/nixos/tests/systemd-initrd-networkd.nix @@ -1,9 +1,19 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "systemd-initrd-network"; - meta.maintainers = [ lib.maintainers.elvishjerricco ]; +{ system ? builtins.currentSystem +, config ? {} +, pkgs ? import ../.. { inherit system config; } +, lib ? pkgs.lib +}: - nodes = let - mkFlushTest = flush: script: { ... }: { +with import ../lib/testing-python.nix { inherit system pkgs; }; + +let + inherit (lib.maintainers) elvishjerricco; + + mkFlushTest = flush: script: makeTest { + name = "systemd-initrd-network-${lib.optionalString (!flush) "no-"}flush"; + meta.maintainers = [ elvishjerricco ]; + + nodes.machine = { boot.initrd.systemd.enable = true; boot.initrd.network = { enable = true; @@ -19,8 +29,18 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { inherit script; }; }; - in { - basic = { ... }: { + + testScript = '' + machine.wait_for_unit("multi-user.target") + ''; + }; + +in { + basic = makeTest { + name = "systemd-initrd-network"; + meta.maintainers = [ elvishjerricco ]; + + nodes.machine = { boot.initrd.network.enable = true; boot.initrd.systemd = { @@ -47,29 +67,26 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: { }; }; - doFlush = mkFlushTest true '' - if ip addr | grep 10.0.2.15; then - echo "Network configuration survived switch-root; flushBeforeStage2 failed" - exit 1 - fi - ''; - - dontFlush = mkFlushTest false '' - if ! (ip addr | grep 10.0.2.15); then - echo "Network configuration didn't survive switch-root" - exit 1 - fi + testScript = '' + machine.wait_for_unit("multi-user.target") + # Make sure the systemd-network user was set correctly in initrd + machine.succeed("[ $(stat -c '%U,%G' /run/systemd/netif/links) = systemd-network,systemd-network ]") + machine.succeed("ip addr show >&2") + machine.succeed("ip route show >&2") ''; }; - testScript = '' - start_all() - basic.wait_for_unit("multi-user.target") - doFlush.wait_for_unit("multi-user.target") - dontFlush.wait_for_unit("multi-user.target") - # Make sure the systemd-network user was set correctly in initrd - basic.succeed("[ $(stat -c '%U,%G' /run/systemd/netif/links) = systemd-network,systemd-network ]") - basic.succeed("ip addr show >&2") - basic.succeed("ip route show >&2") + doFlush = mkFlushTest true '' + if ip addr | grep 10.0.2.15; then + echo "Network configuration survived switch-root; flushBeforeStage2 failed" + exit 1 + fi + ''; + + dontFlush = mkFlushTest false '' + if ! (ip addr | grep 10.0.2.15); then + echo "Network configuration didn't survive switch-root" + exit 1 + fi ''; -}) +} |