1{ pkgs, ... }:
2{
3 name = "tuptime";
4 meta = with pkgs.lib.maintainers; {
5 maintainers = [ evils ];
6 };
7
8 nodes.machine =
9 { pkgs, ... }:
10 {
11 imports = [ ../modules/profiles/minimal.nix ];
12 services.tuptime.enable = true;
13 };
14
15 testScript = ''
16 # see if it starts
17 start_all()
18 machine.wait_for_unit("multi-user.target")
19 machine.succeed("tuptime | grep 'System startups:[[:blank:]]*1'")
20 machine.succeed("tuptime | grep 'System uptime:[[:blank:]]*100.0%'")
21 machine.shutdown()
22
23 # restart machine and see if it correctly reports the reboot
24 machine.start()
25 machine.wait_for_unit("multi-user.target")
26 machine.succeed("tuptime | grep 'System startups:[[:blank:]]*2'")
27 machine.succeed("tuptime | grep 'System shutdowns:[[:blank:]]*1 ok'")
28 machine.shutdown()
29 '';
30}