aboutsummaryrefslogtreecommitdiff
path: root/nixos/tests/atd.nix
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2017-10-14 22:38:10 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2017-10-16 19:08:19 +0200
commit943730ff9b6b05c61ef75d7e2f3fae17d4cbdf4f (patch)
tree9d28d9b0eebd5f861900ea167be0b92b14ba7757 /nixos/tests/atd.nix
parent38e6ae8e440d3c1eb53c7f2bae9dedd2fdf9a5bb (diff)
nixos/tests: add basic test for services.atd
Diffstat (limited to 'nixos/tests/atd.nix')
-rw-r--r--nixos/tests/atd.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/nixos/tests/atd.nix b/nixos/tests/atd.nix
new file mode 100644
index 00000000000..c2c0a716e0d
--- /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");
+ '';
+})