about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorWill Fancher <elvishjerricco@gmail.com>2023-09-20 05:58:30 -0400
committerWill Fancher <elvishjerricco@gmail.com>2023-11-09 17:53:49 -0500
commit90e26586937dc2bb5bb4c1a825ee1d8682a62d94 (patch)
treee97ee9d0a768643ae3e94e9bac546eb284a9bf21 /nixos
parent9a0f523372cf836662421ef2603bfb93f568f399 (diff)
downloadnixlib-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.nix75
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
   '';
-})
+}