diff options
author | Arian van Putten <aeroboy94@gmail.com> | 2019-05-26 00:35:29 +0200 |
---|---|---|
committer | Arian van Putten <aeroboy94@gmail.com> | 2019-05-26 00:37:13 +0200 |
commit | a48047a755047b34471a740dffa07744221d63c2 (patch) | |
tree | 012d2152ca867b2405e617f0143172e653e8aefa /nixos | |
parent | d50b43423455ac06f3e237dbc0a0c98bcb4b5dcf (diff) |
nixos: Add test that demonstrates how to use nesting.clone
This is actually very useful. Allows you to test switch-to-configuration nesting.children is still currently still broken as it will throw away 'too much' of the config, including the modules that make nixos tests work in the first place. But that's something for another time.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/tests/all-tests.nix | 1 | ||||
-rw-r--r-- | nixos/tests/nesting.nix | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 9bce49c9e3027..10a381c2c8f48 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -161,6 +161,7 @@ in nat.standalone = handleTest ./nat.nix { withFirewall = false; }; ndppd = handleTest ./ndppd.nix {}; neo4j = handleTest ./neo4j.nix {}; + nesting = handleTest ./nesting.nix {}; netdata = handleTest ./netdata.nix {}; networking.networkd = handleTest ./networking.nix { networkd = true; }; networking.scripted = handleTest ./networking.nix { networkd = false; }; diff --git a/nixos/tests/nesting.nix b/nixos/tests/nesting.nix new file mode 100644 index 0000000000000..3be64d7a9b549 --- /dev/null +++ b/nixos/tests/nesting.nix @@ -0,0 +1,22 @@ +import ./make-test.nix { + name = "nesting"; + machine = { pkgs, ... }: { + environment.systemPackages = [ pkgs.cowsay ]; + nesting.clone = [ + ({ pkgs, ... }: { + environment.systemPackages = [ pkgs.hello ]; + }) + ]; + }; + testScript = '' + $machine->waitForUnit("default.target"); + $machine->succeed("cowsay hey"); + $machine->fail("hello"); + + # Nested clones do inherit from parent + $machine->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"); + $machine->succeed("cowsay hey"); + $machine->succeed("hello"); + + ''; +} |