1import ./make-test.nix ({ pkgs, ... }: {
2 name = "bcachefs";
3 meta.maintainers = with pkgs.stdenv.lib.maintainers; [ chiiruno ];
4
5 machine = { pkgs, ... }: {
6 virtualisation.emptyDiskImages = [ 4096 ];
7 networking.hostId = "deadbeef";
8 boot.supportedFilesystems = [ "bcachefs" ];
9 environment.systemPackages = with pkgs; [ parted ];
10 };
11
12 testScript = ''
13 $machine->succeed("modprobe bcachefs");
14 $machine->succeed("bcachefs version");
15 $machine->succeed("ls /dev");
16
17 $machine->succeed(
18 "mkdir /tmp/mnt",
19
20 "udevadm settle",
21 "parted --script /dev/vdb mklabel msdos",
22 "parted --script /dev/vdb -- mkpart primary 1024M -1s",
23 "udevadm settle",
24
25 # Due to #32279, we cannot use encryption for this test yet
26 # "echo password | bcachefs format --encrypted /dev/vdb1",
27 # "echo password | bcachefs unlock /dev/vdb1",
28 "bcachefs format /dev/vdb1",
29 "mount -t bcachefs /dev/vdb1 /tmp/mnt",
30 "udevadm settle",
31
32 "bcachefs fs usage /tmp/mnt",
33
34 "umount /tmp/mnt",
35 "udevadm settle"
36 );
37 '';
38})