at 25.11-pre 1.3 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 4 let 5 client = 6 { pkgs, ... }: 7 8 { 9 imports = [ ./common/x11.nix ]; 10 environment.systemPackages = [ pkgs.teeworlds ]; 11 }; 12 13 in 14 { 15 name = "teeworlds"; 16 meta = with pkgs.lib.maintainers; { 17 maintainers = [ hax404 ]; 18 }; 19 20 nodes = { 21 server = { 22 services.teeworlds = { 23 enable = true; 24 openPorts = true; 25 }; 26 }; 27 28 client1 = client; 29 client2 = client; 30 }; 31 32 testScript = '' 33 start_all() 34 35 server.wait_for_unit("teeworlds.service") 36 server.wait_until_succeeds("ss --numeric --udp --listening | grep -q 8303") 37 38 client1.wait_for_x() 39 client2.wait_for_x() 40 41 client1.execute("teeworlds 'player_name Alice;connect server' >&2 &") 42 server.wait_until_succeeds( 43 'journalctl -u teeworlds -e | grep --extended-regexp -q "team_join player=\'[0-9]:Alice"' 44 ) 45 46 client2.execute("teeworlds 'player_name Bob;connect server' >&2 &") 47 server.wait_until_succeeds( 48 'journalctl -u teeworlds -e | grep --extended-regexp -q "team_join player=\'[0-9]:Bob"' 49 ) 50 51 server.sleep(10) # wait for a while to get a nice screenshot 52 53 client1.screenshot("screen_client1") 54 client2.screenshot("screen_client2") 55 ''; 56 57 } 58)