2019-05-25 23:35:29 +01:00
|
|
|
import ./make-test.nix {
|
|
|
|
name = "nesting";
|
2019-05-25 23:52:52 +01:00
|
|
|
nodes = {
|
|
|
|
clone = { pkgs, ... }: {
|
|
|
|
environment.systemPackages = [ pkgs.cowsay ];
|
|
|
|
nesting.clone = [
|
|
|
|
({ pkgs, ... }: {
|
|
|
|
environment.systemPackages = [ pkgs.hello ];
|
|
|
|
})
|
|
|
|
];
|
|
|
|
};
|
|
|
|
children = { pkgs, ... }: {
|
|
|
|
environment.systemPackages = [ pkgs.cowsay ];
|
|
|
|
nesting.children = [
|
|
|
|
({ pkgs, ... }: {
|
|
|
|
environment.systemPackages = [ pkgs.hello ];
|
|
|
|
})
|
|
|
|
];
|
|
|
|
};
|
2019-05-25 23:35:29 +01:00
|
|
|
};
|
|
|
|
testScript = ''
|
2019-05-25 23:52:52 +01:00
|
|
|
$clone->waitForUnit("default.target");
|
|
|
|
$clone->succeed("cowsay hey");
|
|
|
|
$clone->fail("hello");
|
2019-05-25 23:35:29 +01:00
|
|
|
|
|
|
|
# Nested clones do inherit from parent
|
2019-05-25 23:52:52 +01:00
|
|
|
$clone->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
|
|
|
|
$clone->succeed("cowsay hey");
|
|
|
|
$clone->succeed("hello");
|
|
|
|
|
|
|
|
|
|
|
|
$children->waitForUnit("default.target");
|
|
|
|
$children->succeed("cowsay hey");
|
|
|
|
$children->fail("hello");
|
|
|
|
|
|
|
|
# Nested children do not inherit from parent
|
|
|
|
$children->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
|
|
|
|
$children->fail("cowsay hey");
|
|
|
|
$children->succeed("hello");
|
2019-05-25 23:35:29 +01:00
|
|
|
|
|
|
|
'';
|
|
|
|
}
|