at 23.05-pre 1.7 kB view raw
1import ../make-test-python.nix ({ pkgs, ... }: 2 { 3 name = "stratis"; 4 5 meta = with pkgs.lib.maintainers; { 6 maintainers = [ nickcao ]; 7 }; 8 9 nodes.machine = { pkgs, ... }: { 10 services.stratis.enable = true; 11 virtualisation.emptyDiskImages = [ 1024 1024 1024 1024 ]; 12 }; 13 14 testScript = '' 15 machine.wait_for_unit("stratisd") 16 # test pool creation 17 machine.succeed("stratis pool create testpool /dev/vdb") 18 machine.succeed("stratis pool add-data testpool /dev/vdc") 19 machine.succeed("stratis pool init-cache testpool /dev/vdd") 20 machine.succeed("stratis pool add-cache testpool /dev/vde") 21 # test filesystem creation and rename 22 machine.succeed("stratis filesystem create testpool testfs0") 23 machine.succeed("stratis filesystem rename testpool testfs0 testfs1") 24 # test snapshot 25 machine.succeed("mkdir -p /mnt/testfs1 /mnt/testfs2") 26 machine.wait_for_file("/dev/stratis/testpool/testfs1") 27 machine.succeed("mount /dev/stratis/testpool/testfs1 /mnt/testfs1") 28 machine.succeed("echo test0 > /mnt/testfs1/test0") 29 machine.succeed("echo test1 > /mnt/testfs1/test1") 30 machine.succeed("stratis filesystem snapshot testpool testfs1 testfs2") 31 machine.succeed("echo test2 > /mnt/testfs1/test1") 32 machine.wait_for_file("/dev/stratis/testpool/testfs2") 33 machine.succeed("mount /dev/stratis/testpool/testfs2 /mnt/testfs2") 34 assert "test0" in machine.succeed("cat /mnt/testfs1/test0") 35 assert "test0" in machine.succeed("cat /mnt/testfs2/test0") 36 assert "test2" in machine.succeed("cat /mnt/testfs1/test1") 37 assert "test1" in machine.succeed("cat /mnt/testfs2/test1") 38 ''; 39 })