diff options
author | Bjørn Forsman <bjorn.forsman@gmail.com> | 2017-10-14 22:38:10 +0200 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2017-10-16 19:08:19 +0200 |
commit | 943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f (patch) | |
tree | 9d28d9b0eebd5f861900ea167be0b92b14ba7757 /nixos | |
parent | 38e6ae8e440d3c1eb53c7f2bae9dedd2fdf9a5bb (diff) | |
download | nixlib-943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f.tar nixlib-943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f.tar.gz nixlib-943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f.tar.bz2 nixlib-943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f.tar.lz nixlib-943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f.tar.xz nixlib-943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f.tar.zst nixlib-943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f.zip |
nixos/tests: add basic test for services.atd
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/release.nix | 1 | ||||
-rw-r--r-- | nixos/tests/atd.nix | 36 |
2 files changed, 37 insertions, 0 deletions
diff --git a/nixos/release.nix b/nixos/release.nix index 4060e5df4ec1..5fa9e1f10d41 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -214,6 +214,7 @@ in rec { # Run the tests for each platform. You can run a test by doing # e.g. ‘nix-build -A tests.login.x86_64-linux’, or equivalently, # ‘nix-build tests/login.nix -A result’. + tests.atd = callTest tests/atd.nix {}; tests.acme = callTest tests/acme.nix {}; tests.avahi = callTest tests/avahi.nix {}; tests.bittorrent = callTest tests/bittorrent.nix {}; diff --git a/nixos/tests/atd.nix b/nixos/tests/atd.nix new file mode 100644 index 000000000000..c2c0a716e0de --- /dev/null +++ b/nixos/tests/atd.nix @@ -0,0 +1,36 @@ +import ./make-test.nix ({ pkgs, lib, ... }: + +{ + name = "atd"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ bjornfor ]; + }; + + machine = + { config, pkgs, ... }: + { services.atd.enable = true; + users.extraUsers.alice = { isNormalUser = true; }; + }; + + # "at" has a resolution of 1 minute + testScript = '' + startAll; + + $machine->fail("test -f ~root/at-1"); + $machine->fail("test -f ~root/batch-1"); + $machine->fail("test -f ~alice/at-1"); + $machine->fail("test -f ~alice/batch-1"); + + $machine->succeed("echo 'touch ~root/at-1' | at now+1min"); + $machine->succeed("echo 'touch ~root/batch-1' | batch"); + $machine->succeed("su - alice -c \"echo 'touch at-1' | at now+1min\""); + $machine->succeed("su - alice -c \"echo 'touch batch-1' | batch\""); + + $machine->succeed("sleep 1.5m"); + + $machine->succeed("test -f ~root/at-1"); + $machine->succeed("test -f ~root/batch-1"); + $machine->succeed("test -f ~alice/at-1"); + $machine->succeed("test -f ~alice/batch-1"); + ''; +}) |