vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / nixos / tests / systemd-misc.nix
blob0ddd51100463eed44786214c6af7ecb8d30b5852
1 import ./make-test-python.nix ({ pkgs, ... }:
3 let
4   exampleScript = pkgs.writeTextFile {
5     name = "example.sh";
6     text = ''
7       #! ${pkgs.runtimeShell} -e
9       while true; do
10           echo "Example script running" >&2
11           ${pkgs.coreutils}/bin/sleep 1
12       done
13     '';
14     executable = true;
15   };
17   unitFile = pkgs.writeTextFile {
18     name = "example.service";
19     text = ''
20       [Unit]
21       Description=Example systemd service unit file
23       [Service]
24       ExecStart=${exampleScript}
26       [Install]
27       WantedBy=multi-user.target
28     '';
29   };
32   name = "systemd-misc";
34   nodes.machine = { pkgs, lib, ... }: {
35     boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ];
37     users.users.limited = {
38       isNormalUser = true;
39       uid = 1000;
40     };
42     systemd.units."user-1000.slice.d/limits.conf" = {
43       text = ''
44         [Slice]
45         TasksAccounting=yes
46         TasksMax=100
47       '';
48     };
49   };
51   testScript = ''
52     machine.wait_for_unit("multi-user.target")
53     machine.succeed("mkdir -p /etc/systemd-rw/system")
54     machine.succeed(
55         "cp ${unitFile} /etc/systemd-rw/system/example.service"
56     )
57     machine.succeed("systemctl start example.service")
58     machine.succeed("systemctl status example.service | grep 'Active: active'")
60     machine.succeed("systemctl show --property TasksMax --value user-1000.slice | grep 100")
61   '';