diff --git a/nixos/tests/apfs.nix b/nixos/tests/apfs.nix index ac0459b57e9c..9fe689951c78 100644 --- a/nixos/tests/apfs.nix +++ b/nixos/tests/apfs.nix @@ -48,5 +48,18 @@ import ./make-test-python.nix ({ pkgs, ... }: { "umount /tmp/mnt", "apfsck /dev/vdb", ) + with subtest("Snapshots"): + machine.succeed( + "mkapfs /dev/vdb", + "mount -o cknodes,readwrite /dev/vdb /tmp/mnt", + "echo 'Hello World' > /tmp/mnt/test.txt", + "apfs-snap /tmp/mnt snap-1", + "rm /tmp/mnt/test.txt", + "umount /tmp/mnt", + "mount -o cknodes,readwrite,snap=snap-1 /dev/vdb /tmp/mnt", + "echo 'Hello World' | diff - /tmp/mnt/test.txt", + "umount /tmp/mnt", + "apfsck /dev/vdb", + ) ''; }) diff --git a/pkgs/tools/filesystems/apfsprogs/default.nix b/pkgs/tools/filesystems/apfsprogs/default.nix index 8ed9f3b2c046..51b21292f989 100644 --- a/pkgs/tools/filesystems/apfsprogs/default.nix +++ b/pkgs/tools/filesystems/apfsprogs/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation { buildPhase = '' runHook preBuild + make -C apfs-snap $makeFlags make -C apfsck $makeFlags make -C mkapfs $makeFlags runHook postBuild @@ -24,6 +25,7 @@ stdenv.mkDerivation { installPhase = '' runHook preInstall + make -C apfs-snap install DESTDIR="$out" $installFlags make -C apfsck install DESTDIR="$out" $installFlags make -C mkapfs install DESTDIR="$out" $installFlags runHook postInstall