9 failures = lib.runTests {
10 # Merging two non-list definitions must still result in an error
11 # about a conflicting definition.
12 test-unitOption-merging-non-lists-conflict =
15 system.stateVersion = lib.trivial.release;
16 systemd.services.systemd-test-nixos = {
17 serviceConfig = lib.mkMerge [
18 { StateDirectory = "foo"; }
19 { StateDirectory = "bar"; }
26 (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory))
31 # Merging must lift non-list definitions to a list
32 # if at least one of them is a list.
33 test-unitOption-merging-list-non-list-append =
36 system.stateVersion = lib.trivial.release;
37 systemd.services.systemd-test-nixos = {
38 serviceConfig = lib.mkMerge [
39 { StateDirectory = "foo"; }
40 { StateDirectory = [ "bar" ]; }
46 expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory;
55 lib.optional (failures != [ ]) (
56 throw "The following systemd unit tests failed: ${lib.generators.toPretty { } failures}"