sfxr-qt: add nixos test

Changed files
+35
nixos
pkgs
applications
audio
sfxr-qt
+1
nixos/tests/all-tests.nix
···
seafile = handleTest ./seafile.nix {};
searx = handleTest ./searx.nix {};
service-runner = handleTest ./service-runner.nix {};
shadow = handleTest ./shadow.nix {};
shadowsocks = handleTest ./shadowsocks {};
shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {};
···
seafile = handleTest ./seafile.nix {};
searx = handleTest ./searx.nix {};
service-runner = handleTest ./service-runner.nix {};
+
sfxr-qt = handleTest ./sfxr-qt.nix {};
shadow = handleTest ./shadow.nix {};
shadowsocks = handleTest ./shadowsocks {};
shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {};
+32
nixos/tests/sfxr-qt.nix
···
···
+
import ./make-test-python.nix ({ pkgs, ... }: {
+
name = "sfxr-qt";
+
meta = with pkgs.lib.maintainers; {
+
maintainers = [ fgaz ];
+
};
+
+
machine = { config, pkgs, ... }: {
+
imports = [
+
./common/x11.nix
+
];
+
+
services.xserver.enable = true;
+
sound.enable = true;
+
environment.systemPackages = [ pkgs.sfxr-qt ];
+
};
+
+
enableOCR = true;
+
+
testScript =
+
''
+
machine.wait_for_x()
+
# Add a dummy sound card, or the program won't start
+
machine.execute("modprobe snd-dummy")
+
+
machine.execute("sfxr-qt >&2 &")
+
+
machine.wait_for_window(r"sfxr")
+
machine.sleep(10)
+
machine.wait_for_text("requency")
+
machine.screenshot("screen")
+
'';
+
})
+2
pkgs/applications/audio/sfxr-qt/default.nix
···
, SDL
, python3
, callPackage
}:
mkDerivation rec {
···
passthru.tests = {
export-square-wave = callPackage ./test-export-square-wave {};
};
meta = with lib; {
···
, SDL
, python3
, callPackage
+
, nixosTests
}:
mkDerivation rec {
···
passthru.tests = {
export-square-wave = callPackage ./test-export-square-wave {};
+
sfxr-qt-starts = nixosTests.sfxr-qt;
};
meta = with lib; {