From 41fd9b197cdad9b7cae34e274ad2eafbb250a3ce Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Thu, 16 Oct 2025 21:12:16 -0500 Subject: [PATCH] tests/patdiff: add Signed-off-by: Austin Horstman --- tests/modules/programs/patdiff/default.nix | 5 ++++ .../programs/patdiff/patdiff-basic.nix | 11 ++++++++ .../programs/patdiff/patdiff-migration.nix | 26 +++++++++++++++++++ .../patdiff/patdiff-with-git-integration.nix | 14 ++++++++++ 4 files changed, 56 insertions(+) create mode 100644 tests/modules/programs/patdiff/default.nix create mode 100644 tests/modules/programs/patdiff/patdiff-basic.nix create mode 100644 tests/modules/programs/patdiff/patdiff-migration.nix create mode 100644 tests/modules/programs/patdiff/patdiff-with-git-integration.nix diff --git a/tests/modules/programs/patdiff/default.nix b/tests/modules/programs/patdiff/default.nix new file mode 100644 index 00000000..73b4614f --- /dev/null +++ b/tests/modules/programs/patdiff/default.nix @@ -0,0 +1,5 @@ +{ + patdiff-basic = ./patdiff-basic.nix; + patdiff-with-git-integration = ./patdiff-with-git-integration.nix; + patdiff-migration = ./patdiff-migration.nix; +} diff --git a/tests/modules/programs/patdiff/patdiff-basic.nix b/tests/modules/programs/patdiff/patdiff-basic.nix new file mode 100644 index 00000000..6d5c0810 --- /dev/null +++ b/tests/modules/programs/patdiff/patdiff-basic.nix @@ -0,0 +1,11 @@ +{ + programs.patdiff = { + enable = true; + }; + programs.git.enable = true; + + nmt.script = '' + # Git config should NOT contain patdiff configuration since enableGitIntegration is false by default + assertFileNotRegex home-files/.config/git/config 'external = .*/patdiff-git-wrapper' + ''; +} diff --git a/tests/modules/programs/patdiff/patdiff-migration.nix b/tests/modules/programs/patdiff/patdiff-migration.nix new file mode 100644 index 00000000..40733ea2 --- /dev/null +++ b/tests/modules/programs/patdiff/patdiff-migration.nix @@ -0,0 +1,26 @@ +{ + lib, + options, + ... +}: + +{ + programs.git = { + enable = true; + patdiff = { + enable = true; + }; + }; + + test.asserts.warnings.expected = [ + "The option `programs.git.patdiff.enable' defined in ${lib.showFiles options.programs.git.patdiff.enable.files} has been renamed to `programs.patdiff.enable'." + "`programs.patdiff.enableGitIntegration` automatic enablement is deprecated. Please explicitly set `programs.patdiff.enableGitIntegration = true`." + ]; + + nmt.script = '' + # Git config should contain patdiff configuration (backward compatibility) + assertFileExists home-files/.config/git/config + assertFileContains home-files/.config/git/config '[diff]' + assertFileRegex home-files/.config/git/config 'external = .*/patdiff-git-wrapper' + ''; +} diff --git a/tests/modules/programs/patdiff/patdiff-with-git-integration.nix b/tests/modules/programs/patdiff/patdiff-with-git-integration.nix new file mode 100644 index 00000000..d5043391 --- /dev/null +++ b/tests/modules/programs/patdiff/patdiff-with-git-integration.nix @@ -0,0 +1,14 @@ +{ + programs.patdiff = { + enable = true; + enableGitIntegration = true; + }; + + programs.git.enable = true; + + nmt.script = '' + assertFileExists home-files/.config/git/config + assertFileContains home-files/.config/git/config '[diff]' + assertFileRegex home-files/.config/git/config 'external = .*/patdiff-git-wrapper' + ''; +}