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