From 8a2fdaf6b4ffeff599b2d2456972aa8cabe0dc47 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 25 Apr 2026 19:35:51 -0500 Subject: [PATCH] tests: fix firefox program tests --- tests/modules/programs/firefox/common.nix | 21 ++++++++++++++----- tests/modules/programs/firefox/default.nix | 7 ++++--- .../programs/firefox/final-package.nix | 2 -- tests/modules/programs/firefox/firefox.nix | 6 +++++- tests/modules/programs/firefox/floorp.nix | 6 +++++- tests/modules/programs/firefox/librewolf.nix | 6 +++++- .../programs/firefox/multiple-derivatives.nix | 2 ++ tests/modules/programs/firefox/policies.nix | 13 ++++++++---- .../firefox/profiles/bookmarks/default.nix | 15 ++++++++----- .../firefox/profiles/overwrite/default.nix | 2 +- .../firefox/profiles/settings/default.nix | 2 +- .../firefox/profiles/userchrome/default.nix | 2 +- .../firefox/setup-firefox-mock-overlay.nix | 2 +- 13 files changed, 60 insertions(+), 26 deletions(-) diff --git a/tests/modules/programs/firefox/common.nix b/tests/modules/programs/firefox/common.nix index a9c04d57b..46663547d 100644 --- a/tests/modules/programs/firefox/common.nix +++ b/tests/modules/programs/firefox/common.nix @@ -1,11 +1,22 @@ -name: +{ lib, name }: +let + withDefaultStateVersion = module: { + imports = [ module ]; + + # Stronger than the global test default, but weaker than any test-local + # stateVersion assignment. + home.stateVersion = lib.mkOverride 900 "26.05"; + }; +in builtins.mapAttrs ( _test: module: - import module [ - "programs" - name - ] + withDefaultStateVersion ( + import module [ + "programs" + name + ] + ) ) { "${name}-deprecated-native-messenger" = ./deprecated-native-messenger.nix; diff --git a/tests/modules/programs/firefox/default.nix b/tests/modules/programs/firefox/default.nix index 5eb4be1cb..f3379b44f 100644 --- a/tests/modules/programs/firefox/default.nix +++ b/tests/modules/programs/firefox/default.nix @@ -1,3 +1,4 @@ +{ lib, ... }: { "firefox-config-path-explicit-legacy" = ./config-path-explicit-legacy.nix; "firefox-config-path-explicit-xdg" = ./config-path-explicit-xdg.nix; @@ -5,6 +6,6 @@ "firefox-config-path-warning" = ./config-path-warning.nix; "firefox-multiple-derivatives" = ./multiple-derivatives.nix; } -// (import ./firefox.nix) -// (import ./floorp.nix) -// (import ./librewolf.nix) +// (import ./firefox.nix { inherit lib; }) +// (import ./floorp.nix { inherit lib; }) +// (import ./librewolf.nix { inherit lib; }) diff --git a/tests/modules/programs/firefox/final-package.nix b/tests/modules/programs/firefox/final-package.nix index 19c1037fa..f26cae53e 100644 --- a/tests/modules/programs/firefox/final-package.nix +++ b/tests/modules/programs/firefox/final-package.nix @@ -22,8 +22,6 @@ lib.mkIf config.test.enableBig ( } ) // { - home.stateVersion = "19.09"; - _module.args.pkgs = lib.mkForce realPkgs; nmt.script = '' diff --git a/tests/modules/programs/firefox/firefox.nix b/tests/modules/programs/firefox/firefox.nix index dd126e260..80b77ffb2 100644 --- a/tests/modules/programs/firefox/firefox.nix +++ b/tests/modules/programs/firefox/firefox.nix @@ -1 +1,5 @@ -import ./common.nix "firefox" +{ lib, ... }: +import ./common.nix { + inherit lib; + name = "firefox"; +} diff --git a/tests/modules/programs/firefox/floorp.nix b/tests/modules/programs/firefox/floorp.nix index 67a13659c..6cd18447f 100644 --- a/tests/modules/programs/firefox/floorp.nix +++ b/tests/modules/programs/firefox/floorp.nix @@ -1 +1,5 @@ -import ./common.nix "floorp" +{ lib, ... }: +import ./common.nix { + inherit lib; + name = "floorp"; +} diff --git a/tests/modules/programs/firefox/librewolf.nix b/tests/modules/programs/firefox/librewolf.nix index 3a77e0f1d..cbb3c3ba3 100644 --- a/tests/modules/programs/firefox/librewolf.nix +++ b/tests/modules/programs/firefox/librewolf.nix @@ -1 +1,5 @@ -import ./common.nix "librewolf" +{ lib, ... }: +import ./common.nix { + inherit lib; + name = "librewolf"; +} diff --git a/tests/modules/programs/firefox/multiple-derivatives.nix b/tests/modules/programs/firefox/multiple-derivatives.nix index 12a35de70..c6b6c5c79 100644 --- a/tests/modules/programs/firefox/multiple-derivatives.nix +++ b/tests/modules/programs/firefox/multiple-derivatives.nix @@ -1,6 +1,8 @@ { config, lib, ... }: lib.mkIf config.test.enableBig { + home.stateVersion = "26.05"; + programs.firefox = { enable = true; package = null; diff --git a/tests/modules/programs/firefox/policies.nix b/tests/modules/programs/firefox/policies.nix index e447498f4..23b6a7ad5 100644 --- a/tests/modules/programs/firefox/policies.nix +++ b/tests/modules/programs/firefox/policies.nix @@ -16,10 +16,7 @@ in imports = [ firefoxMockOverlay ]; config = lib.mkIf config.test.enableBig ( - { - home.stateVersion = "23.05"; - } - // lib.setAttrByPath modulePath { + lib.setAttrByPath modulePath { enable = true; configPath = lib.mkIf pkgs.stdenv.hostPlatform.isLinux ".mozilla/firefox"; policies = { @@ -40,9 +37,17 @@ in else "${cfg.finalPackage}/lib/${cfg.finalPackage.unwrapped.libName or cfg.wrappedPackageName}"; config_file = "${libDir}/distribution/policies.json"; + config_file_browser = "${libDir}/browser/distribution/policies.json"; in '' jq=${lib.getExe pkgs.jq} + if [[ -f "${config_file}" ]]; then + config_file="${config_file}" + elif [[ -f "${config_file_browser}" ]]; then + config_file="${config_file_browser}" + else + fail "Expected ${libDir}/distribution/policies.json to exist but it was not found." + fi assertFileExists "${config_file}" diff --git a/tests/modules/programs/firefox/profiles/bookmarks/default.nix b/tests/modules/programs/firefox/profiles/bookmarks/default.nix index 3001e6ead..14a098f71 100644 --- a/tests/modules/programs/firefox/profiles/bookmarks/default.nix +++ b/tests/modules/programs/firefox/profiles/bookmarks/default.nix @@ -18,11 +18,7 @@ in imports = [ firefoxMockOverlay ]; config = lib.mkIf config.test.enableBig ( - { - # Required for bookmark policy to get set - home.stateVersion = "19.09"; - } - // lib.setAttrByPath modulePath { + lib.setAttrByPath modulePath { enable = true; configPath = lib.mkIf pkgs.stdenv.hostPlatform.isLinux ".mozilla/firefox"; profiles.bookmarks = { @@ -95,8 +91,17 @@ in else "${cfg.finalPackage}/lib/${cfg.finalPackage.unwrapped.libName or cfg.wrappedPackageName}"; config_file = "${libDir}/distribution/policies.json"; + config_file_browser = "${libDir}/browser/distribution/policies.json"; in '' + if [[ -f "${config_file}" ]]; then + config_file="${config_file}" + elif [[ -f "${config_file_browser}" ]]; then + config_file="${config_file_browser}" + else + fail "Expected ${libDir}/distribution/policies.json to exist but it was not found." + fi + assertFileExists "${config_file}" noDefaultBookmarks_actual_value="$(${lib.getExe pkgs.jq} ".policies.NoDefaultBookmarks" ${config_file})" diff --git a/tests/modules/programs/firefox/profiles/overwrite/default.nix b/tests/modules/programs/firefox/profiles/overwrite/default.nix index 1dcfa35f9..24e094b2c 100644 --- a/tests/modules/programs/firefox/profiles/overwrite/default.nix +++ b/tests/modules/programs/firefox/profiles/overwrite/default.nix @@ -46,7 +46,7 @@ in in '' assertFileRegex \ - "home-path/${binPath}/${cfg.wrappedPackageName}" \ + "home-path/${binPath}/${cfg.finalPackage.meta.mainProgram}" \ MOZ_APP_LAUNCHER assertDirectoryExists "home-files/${cfg.profilesPath}/basic" diff --git a/tests/modules/programs/firefox/profiles/settings/default.nix b/tests/modules/programs/firefox/profiles/settings/default.nix index b87f09c2c..b99cb9a2b 100644 --- a/tests/modules/programs/firefox/profiles/settings/default.nix +++ b/tests/modules/programs/firefox/profiles/settings/default.nix @@ -48,7 +48,7 @@ in in '' assertFileRegex \ - "home-path/${binPath}/${cfg.wrappedPackageName}" \ + "home-path/${binPath}/${cfg.finalPackage.meta.mainProgram}" \ MOZ_APP_LAUNCHER assertDirectoryExists "home-files/${cfg.profilesPath}/basic" diff --git a/tests/modules/programs/firefox/profiles/userchrome/default.nix b/tests/modules/programs/firefox/profiles/userchrome/default.nix index f1b01c642..091271113 100644 --- a/tests/modules/programs/firefox/profiles/userchrome/default.nix +++ b/tests/modules/programs/firefox/profiles/userchrome/default.nix @@ -44,7 +44,7 @@ in in '' assertFileRegex \ - "home-path/${binPath}/${cfg.wrappedPackageName}" \ + "home-path/${binPath}/${cfg.finalPackage.meta.mainProgram}" \ MOZ_APP_LAUNCHER assertDirectoryExists "home-files/${cfg.profilesPath}/basic" diff --git a/tests/modules/programs/firefox/setup-firefox-mock-overlay.nix b/tests/modules/programs/firefox/setup-firefox-mock-overlay.nix index 04fffd244..efa982b2f 100644 --- a/tests/modules/programs/firefox/setup-firefox-mock-overlay.nix +++ b/tests/modules/programs/firefox/setup-firefox-mock-overlay.nix @@ -25,7 +25,7 @@ in binaryName = cfg.wrappedPackageName; gtk3 = null; meta.description = "I pretend to be ${cfg.name}"; - meta.mainProgram = lib.toLower cfg.name; + meta.mainProgram = cfg.wrappedPackageName; }; outPath = null; buildScript =