44 lines
1.4 KiB
Nix
44 lines
1.4 KiB
Nix
|
import ./make-test-python.nix {
|
||
|
name = "specialisation";
|
||
|
nodes = {
|
||
|
inheritconf = { pkgs, ... }: {
|
||
|
environment.systemPackages = [ pkgs.cowsay ];
|
||
|
specialisation.inheritconf.configuration = { pkgs, ... }: {
|
||
|
environment.systemPackages = [ pkgs.hello ];
|
||
|
};
|
||
|
};
|
||
|
noinheritconf = { pkgs, ... }: {
|
||
|
environment.systemPackages = [ pkgs.cowsay ];
|
||
|
specialisation.noinheritconf = {
|
||
|
inheritParentConfig = false;
|
||
|
configuration = { pkgs, ... }: {
|
||
|
environment.systemPackages = [ pkgs.hello ];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
testScript = ''
|
||
|
inheritconf.wait_for_unit("default.target")
|
||
|
inheritconf.succeed("cowsay hey")
|
||
|
inheritconf.fail("hello")
|
||
|
|
||
|
with subtest("Nested clones do inherit from parent"):
|
||
|
inheritconf.succeed(
|
||
|
"/run/current-system/specialisation/inheritconf/bin/switch-to-configuration test"
|
||
|
)
|
||
|
inheritconf.succeed("cowsay hey")
|
||
|
inheritconf.succeed("hello")
|
||
|
|
||
|
noinheritconf.wait_for_unit("default.target")
|
||
|
noinheritconf.succeed("cowsay hey")
|
||
|
noinheritconf.fail("hello")
|
||
|
|
||
|
with subtest("Nested children do not inherit from parent"):
|
||
|
noinheritconf.succeed(
|
||
|
"/run/current-system/specialisation/noinheritconf/bin/switch-to-configuration test"
|
||
|
)
|
||
|
noinheritconf.fail("cowsay hey")
|
||
|
noinheritconf.succeed("hello")
|
||
|
'';
|
||
|
}
|