stress-ng: 0.18.09 -> 0.18.10 (#378985)
[NixPkgs.git] / pkgs / test / systemd / nixos / default.nix
blob8547c19478f4ec0c9e75e83f8fa4a86a23f4efb2
2   pkgs,
3   lib,
4   stdenv,
5   ...
6 }:
8 let
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 =
13       let
14         nixos = pkgs.nixos {
15           system.stateVersion = lib.trivial.release;
16           systemd.services.systemd-test-nixos = {
17             serviceConfig = lib.mkMerge [
18               { StateDirectory = "foo"; }
19               { StateDirectory = "bar"; }
20             ];
21           };
22         };
23       in
24       {
25         expr =
26           (builtins.tryEval (nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory))
27           .success;
28         expected = false;
29       };
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 =
34       let
35         nixos = pkgs.nixos {
36           system.stateVersion = lib.trivial.release;
37           systemd.services.systemd-test-nixos = {
38             serviceConfig = lib.mkMerge [
39               { StateDirectory = "foo"; }
40               { StateDirectory = [ "bar" ]; }
41             ];
42           };
43         };
44       in
45       {
46         expr = nixos.config.systemd.services.systemd-test-nixos.serviceConfig.StateDirectory;
47         expected = [
48           "foo"
49           "bar"
50         ];
51       };
52   };
55 lib.optional (failures != [ ]) (
56   throw "The following systemd unit tests failed: ${lib.generators.toPretty { } failures}"