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