at 25.11-pre 1.5 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 4 { 5 name = "retroarch"; 6 meta = with pkgs.lib; { 7 maintainers = teams.libretro.members ++ [ maintainers.j0hax ]; 8 }; 9 10 nodes.machine = 11 { ... }: 12 13 { 14 imports = [ ./common/user-account.nix ]; 15 services.xserver.enable = true; 16 services.xserver.desktopManager.retroarch = { 17 enable = true; 18 package = pkgs.retroarch-bare; 19 }; 20 services.xserver.displayManager = { 21 sddm.enable = true; 22 defaultSession = "RetroArch"; 23 autoLogin = { 24 enable = true; 25 user = "alice"; 26 }; 27 }; 28 }; 29 30 testScript = 31 { nodes, ... }: 32 let 33 user = nodes.machine.config.users.users.alice; 34 xdo = "${pkgs.xdotool}/bin/xdotool"; 35 in 36 '' 37 with subtest("Wait for login"): 38 start_all() 39 machine.wait_for_file("/tmp/xauth_*") 40 machine.succeed("xauth merge /tmp/xauth_*") 41 42 with subtest("Check RetroArch started"): 43 machine.wait_until_succeeds("pgrep retroarch") 44 machine.wait_for_window("^RetroArch") 45 46 with subtest("Check configuration created"): 47 machine.wait_for_file("${user.home}/.config/retroarch/retroarch.cfg") 48 49 with subtest("Wait to get a screenshot"): 50 machine.execute( 51 "${xdo} key Alt+F1 sleep 10" 52 ) 53 machine.screenshot("screen") 54 ''; 55 } 56)