diff --git a/nixos/tests/activation/etc-overlay-immutable.nix b/nixos/tests/activation/etc-overlay-immutable.nix index 601ac77cbd84..882bc651841a 100644 --- a/nixos/tests/activation/etc-overlay-immutable.nix +++ b/nixos/tests/activation/etc-overlay-immutable.nix @@ -27,9 +27,14 @@ specialisation.new-generation.configuration = { environment.etc."newgen".text = "newgen"; }; + specialisation.newer-generation.configuration = { + environment.etc."newergen".text = "newergen"; + }; }; - testScript = '' + testScript = /* python */ '' + newergen = machine.succeed("realpath /run/current-system/specialisation/newer-generation/bin/switch-to-configuration").rstrip() + with subtest("/run/etc-metadata/ is mounted"): print(machine.succeed("mountpoint /run/etc-metadata")) @@ -79,5 +84,13 @@ print(machine.succeed("ls /etc/mountpoint")) print(machine.succeed("stat /etc/mountpoint/extra-file")) print(machine.succeed("findmnt /etc/filemount")) + + machine.succeed(f"{newergen} switch") + + tmpMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc\\..*' | wc -l").rstrip() + metaMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc-metadata\\..*' | wc -l").rstrip() + + assert tmpMounts == "0", f"Found {tmpMounts} remaining tmpmounts" + assert metaMounts == "1", f"Found {metaMounts} remaining metamounts" ''; } diff --git a/nixos/tests/activation/etc-overlay-mutable.nix b/nixos/tests/activation/etc-overlay-mutable.nix index fe6165212470..ef465e3616c3 100644 --- a/nixos/tests/activation/etc-overlay-mutable.nix +++ b/nixos/tests/activation/etc-overlay-mutable.nix @@ -15,9 +15,14 @@ specialisation.new-generation.configuration = { environment.etc."newgen".text = "newgen"; }; + specialisation.newer-generation.configuration = { + environment.etc."newergen".text = "newergen"; + }; }; - testScript = '' + testScript = /* python */ '' + newergen = machine.succeed("realpath /run/current-system/specialisation/newer-generation/bin/switch-to-configuration").rstrip() + with subtest("/run/etc-metadata/ is mounted"): print(machine.succeed("mountpoint /run/etc-metadata")) @@ -55,5 +60,14 @@ print(machine.succeed("findmnt /etc/mountpoint")) print(machine.succeed("stat /etc/mountpoint/extra-file")) print(machine.succeed("findmnt /etc/filemount")) + + machine.succeed(f"{newergen} switch") + assert machine.succeed("cat /etc/newergen") == "newergen" + + tmpMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc\\..*' | wc -l").rstrip() + metaMounts = machine.succeed("find /tmp -maxdepth 1 -type d -regex '/tmp/nixos-etc-metadata\\..*' | wc -l").rstrip() + + assert tmpMounts == "0", f"Found {tmpMounts} remaining tmpmounts" + assert metaMounts == "1", f"Found {metaMounts} remaining metamounts" ''; }