at master 1.2 kB view raw
1{ lib, pkgs, ... }: 2{ 3 name = "btrbk-no-timer"; 4 meta.maintainers = with lib.maintainers; [ oxalica ]; 5 6 nodes.machine = 7 { ... }: 8 { 9 environment.systemPackages = with pkgs; [ btrfs-progs ]; 10 services.btrbk.instances.local = { 11 onCalendar = null; 12 settings.volume."/mnt" = { 13 snapshot_dir = "btrbk/local"; 14 subvolume = "to_backup"; 15 }; 16 }; 17 }; 18 19 testScript = '' 20 start_all() 21 22 # Create btrfs partition at /mnt 23 machine.succeed("truncate --size=128M /data_fs") 24 machine.succeed("mkfs.btrfs /data_fs") 25 machine.succeed("mkdir /mnt") 26 machine.succeed("mount /data_fs /mnt") 27 machine.succeed("btrfs subvolume create /mnt/to_backup") 28 machine.succeed("mkdir -p /mnt/btrbk/local") 29 30 # The service should not have any triggering timer. 31 unit = machine.get_unit_info('btrbk-local.service') 32 assert "TriggeredBy" not in unit 33 34 # Manually starting the service should still work. 35 machine.succeed("echo foo > /mnt/to_backup/bar") 36 machine.start_job("btrbk-local.service") 37 machine.wait_until_succeeds("cat /mnt/btrbk/local/*/bar | grep foo") 38 ''; 39}