systemd: add some basic tests

(cherry picked from commit 6ebf14143a)
This commit is contained in:
Robert Helgesson 2019-03-24 15:52:30 +01:00
parent 0312d450e2
commit d5f6e84862
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
6 changed files with 77 additions and 3 deletions

View file

@ -27,8 +27,11 @@ import nmt {
texlive-minimal = ./modules/programs/texlive-minimal.nix;
xresources = ./modules/xresources.nix;
}
// pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
i3-keybindings = ./modules/services/window-managers/i3-keybindings.nix;
}
// pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux (
{
i3-keybindings = ./modules/services/window-managers/i3-keybindings.nix;
}
// import ./modules/systemd
)
// import ./modules/programs/ssh;
}

View file

@ -0,0 +1,4 @@
{
systemd-services = ./services.nix;
systemd-timers = ./timers.nix;
}

View file

@ -0,0 +1,5 @@
[Service]
ExecStart=/some/exec/start/command --with-arguments "%i"
[Unit]
Description=A basic test service

View file

@ -0,0 +1,23 @@
{ config, lib, pkgs, ... }:
with lib;
{
config = {
systemd.user.services."test-service@" = {
Unit = {
Description = "A basic test service";
};
Service = {
ExecStart = ''/some/exec/start/command --with-arguments "%i"'';
};
};
nmt.script = ''
local serviceFile=home-files/.config/systemd/user/test-service@.service
assertFileExists $serviceFile
assertFileContent $serviceFile ${./services-expected.conf}
'';
};
}

View file

@ -0,0 +1,8 @@
[Install]
WantedBy=timers.target
[Timer]
OnUnitActiveSec=1h 30m
[Unit]
Description=A basic test timer

View file

@ -0,0 +1,31 @@
{ config, lib, pkgs, ... }:
with lib;
{
config = {
systemd.user.timers.test-timer = {
Unit = {
Description = "A basic test timer";
};
Timer = {
OnUnitActiveSec = "1h 30m";
};
Install = {
WantedBy = [ "timers.target" ];
};
};
nmt.script = ''
local unitDir=home-files/.config/systemd/user
local timerFile=$unitDir/test-timer.timer
assertFileExists $timerFile
assertFileContent $timerFile ${./timers-expected.conf}
assertFileExists $unitDir/timers.target.wants/test-timer.timer
'';
};
}