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