diff --git a/tests/modules/programs/firefox/common.nix b/tests/modules/programs/firefox/common.nix index a9c04d57bc..46663547d8 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 5eb4be1cba..f3379b44f8 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 19c1037fa2..f26cae53e0 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 dd126e260b..80b77ffb2f 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 67a13659c1..6cd18447f2 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 3a77e0f1d4..cbb3c3ba3c 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 12a35de70f..c6b6c5c797 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 e447498f4c..23b6a7ad5f 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 3001e6ead8..14a098f719 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 1dcfa35f90..24e094b2c7 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 b87f09c2c8..b99cb9a2b8 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 f1b01c642d..091271113f 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 04fffd244d..efa982b2f1 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 =