From 252a37e2cb87cce17b89343c3a1effc99ad86c64 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Sat, 27 Sep 2025 04:06:37 -0400 Subject: [PATCH] nix: Test module --- flake.nix | 2 ++ nixos-test.nix | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 nixos-test.nix diff --git a/flake.nix b/flake.nix index ccb66a16..861e4572 100644 --- a/flake.nix +++ b/flake.nix @@ -135,6 +135,8 @@ pname = "${prev.pname}-msrv"; } ); + + nixos-test = pkgs.nixosTest (import ./nixos-test.nix self'); }; devShells.default = pkgs.mkShell { diff --git a/nixos-test.nix b/nixos-test.nix new file mode 100644 index 00000000..015c46a5 --- /dev/null +++ b/nixos-test.nix @@ -0,0 +1,34 @@ +self': { + name = "bcachefs-nixos"; + + nodes.machine = + { config, ... }: + { + assertions = [ + { + assertion = + config.boot.bcachefs.modulePackage or null == self'.packages.bcachefs-module-linux-latest; + message = "Local bcachefs module isn't being used; update nixpkgs?"; + } + ]; + + virtualisation.emptyDiskImages = [ + { + size = 4096; + driveConfig.deviceExtraOpts.serial = "test-disk"; + } + ]; + + boot.supportedFilesystems.bcachefs = true; + boot.bcachefs.package = self'.packages.bcachefs-tools; + }; + + testScript = '' + machine.succeed( + "modinfo bcachefs | grep updates/src/fs/bcachefs > /dev/null", + "mkfs.bcachefs /dev/disk/by-id/virtio-test-disk", + "mkdir /mnt", + "mount /dev/disk/by-id/virtio-test-disk /mnt", + ) + ''; +}