nixos/xpadneo: add sanity test

This commit is contained in:
Kira Bruneau 2022-09-20 19:39:13 -04:00
parent 216a21c638
commit 2a916b6c29
3 changed files with 30 additions and 1 deletions

View file

@ -633,6 +633,7 @@ in {
xfce = handleTest ./xfce.nix {}; xfce = handleTest ./xfce.nix {};
xmonad = handleTest ./xmonad.nix {}; xmonad = handleTest ./xmonad.nix {};
xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {}; xmonad-xdg-autostart = handleTest ./xmonad-xdg-autostart.nix {};
xpadneo = handleTest ./xpadneo.nix {};
xrdp = handleTest ./xrdp.nix {}; xrdp = handleTest ./xrdp.nix {};
xss-lock = handleTest ./xss-lock.nix {}; xss-lock = handleTest ./xss-lock.nix {};
xterm = handleTest ./xterm.nix {}; xterm = handleTest ./xterm.nix {};

18
nixos/tests/xpadneo.nix Normal file
View file

@ -0,0 +1,18 @@
import ./make-test-python.nix ({ lib, pkgs, ... }: {
name = "xpadneo";
meta.maintainers = with lib.maintainers; [ kira-bruneau ];
nodes = {
machine = {
config.hardware.xpadneo.enable = true;
};
};
# This is just a sanity check to make sure the module was
# loaded. We'd have to find some way to mock an xbox controller if
# we wanted more in-depth testing.
testScript = ''
machine.start();
machine.succeed("modinfo hid_xpadneo | grep 'version:\s\+${pkgs.linuxPackages.xpadneo.version}'")
'';
})

View file

@ -1,4 +1,10 @@
{ lib, stdenv, fetchFromGitHub, kernel, bluez }: { lib
, stdenv
, fetchFromGitHub
, kernel
, bluez
, nixosTests
}:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "xpadneo"; pname = "xpadneo";
@ -29,6 +35,10 @@ stdenv.mkDerivation (finalAttrs: {
installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ]; installFlags = [ "INSTALL_MOD_PATH=${placeholder "out"}" ];
installTargets = [ "modules_install" ]; installTargets = [ "modules_install" ];
passthru.tests = {
xpadneo = nixosTests.xpadneo;
};
meta = with lib; { meta = with lib; {
description = "Advanced Linux driver for Xbox One wireless controllers"; description = "Advanced Linux driver for Xbox One wireless controllers";
homepage = "https://atar-axis.github.io/xpadneo"; homepage = "https://atar-axis.github.io/xpadneo";