Merge pull request #180796 from squalus/librewolf-tests

Changed files
+17 -6
nixos
pkgs
applications
networking
browsers
librewolf
+1
nixos/tests/all-tests.nix
···
libreddit = handleTest ./libreddit.nix {};
libresprite = handleTest ./libresprite.nix {};
libreswan = handleTest ./libreswan.nix {};
+
librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; };
lidarr = handleTest ./lidarr.nix {};
lightdm = handleTest ./lightdm.nix {};
limesurvey = handleTest ./limesurvey.nix {};
+14 -5
nixos/tests/firefox.nix
···
-
import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: {
-
name = "firefox";
+
import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }:
+
let firefoxPackage' = firefoxPackage.override (args: {
+
extraPrefsFiles = (args.extraPrefsFiles or []) ++ [
+
# make sure that autoplay is enabled by default for the audio test
+
(builtins.toString (builtins.toFile "autoplay-pref.js" ''defaultPref("media.autoplay.default",0);''))
+
];
+
});
+
+
in
+
{
+
name = firefoxPackage'.unwrapped.binaryName;
meta = with pkgs.lib.maintainers; {
maintainers = [ eelco shlevy ];
};
···
{ imports = [ ./common/x11.nix ];
environment.systemPackages = [
-
firefoxPackage
+
firefoxPackage'
pkgs.xdotool
];
···
with subtest("Wait until Firefox has finished loading the Valgrind docs page"):
machine.execute(
-
"xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &"
+
"xterm -e '${firefoxPackage'.unwrapped.binaryName} file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &"
)
machine.wait_for_window("Valgrind")
machine.sleep(40)
···
with subtest("Check whether Firefox can play sound"):
with record_audio(machine):
machine.succeed(
-
"firefox file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga >&2 &"
+
"${firefoxPackage'.unwrapped.binaryName} file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga >&2 &"
)
wait_for_sound(machine)
machine.copy_from_vm("/tmp/record.wav")
+2 -1
pkgs/applications/networking/browsers/librewolf/default.nix
···
-
{ stdenv, lib, callPackage, buildMozillaMach }:
+
{ stdenv, lib, callPackage, buildMozillaMach, nixosTests }:
let
librewolf-src = callPackage ./librewolf.nix { };
···
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
license = lib.licenses.mpl20;
};
+
tests = [ nixosTests.librewolf ];
updateScript = callPackage ./update.nix {
attrPath = "librewolf-unwrapped";
};