summaryrefslogtreecommitdiffstats
path: root/nixos/tests/btrbk-no-timer.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/btrbk-no-timer.nix')
-rw-r--r--nixos/tests/btrbk-no-timer.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/nixos/tests/btrbk-no-timer.nix b/nixos/tests/btrbk-no-timer.nix
new file mode 100644
index 000000000000..4fcab8839c89
--- /dev/null
+++ b/nixos/tests/btrbk-no-timer.nix
@@ -0,0 +1,37 @@
+import ./make-test-python.nix ({ lib, pkgs, ... }:
+ {
+ name = "btrbk-no-timer";
+ meta.maintainers = with lib.maintainers; [ oxalica ];
+
+ nodes.machine = { ... }: {
+ environment.systemPackages = with pkgs; [ btrfs-progs ];
+ services.btrbk.instances.local = {
+ onCalendar = null;
+ settings.volume."/mnt" = {
+ snapshot_dir = "btrbk/local";
+ subvolume = "to_backup";
+ };
+ };
+ };
+
+ testScript = ''
+ start_all()
+
+ # Create btrfs partition at /mnt
+ machine.succeed("truncate --size=128M /data_fs")
+ machine.succeed("mkfs.btrfs /data_fs")
+ machine.succeed("mkdir /mnt")
+ machine.succeed("mount /data_fs /mnt")
+ machine.succeed("btrfs subvolume create /mnt/to_backup")
+ machine.succeed("mkdir -p /mnt/btrbk/local")
+
+ # The service should not have any triggering timer.
+ unit = machine.get_unit_info('btrbk-local.service')
+ assert "TriggeredBy" not in unit
+
+ # Manually starting the service should still work.
+ machine.succeed("echo foo > /mnt/to_backup/bar")
+ machine.start_job("btrbk-local.service")
+ machine.wait_until_succeeds("cat /mnt/btrbk/local/*/bar | grep foo")
+ '';
+ })