@@ -8,6 +8,7 @@ import ./make-test-python.nix (
88 {
99 name = "matter-server" ;
1010 meta . maintainers = with lib . maintainers ; [ leonm1 ] ;
11+ meta . timeout = 120 ; # Timeout after two minutes
1112
1213 nodes = {
1314 machine =
@@ -22,29 +23,30 @@ import ./make-test-python.nix (
2223
2324 testScript = # python
2425 ''
25- start_all()
26+ @polling_condition
27+ def matter_server_running():
28+ machine.succeed("systemctl status matter-server")
2629
27- machine.wait_for_unit("matter-server.service")
28- machine.wait_for_open_port(1234)
30+ start_all()
2931
30- with subtest("Check websocket server initialized"):
31- output = machine.succeed("echo \"\" | ${ pkgs . websocat } /bin/websocat ws://localhost:1234/ws")
32- machine.log(output)
32+ machine.wait_for_unit("matter-server.service", timeout=20)
33+ machine.wait_for_open_port(1234, timeout=20)
3334
34- assert '"sdk_version": "${ chipVersion } "' in output, (
35- 'CHIP version \"${ chipVersion } \" not present in websocket message'
36- )
35+ with matter_server_running: # type: ignore[union-attr]
36+ with subtest("Check websocket server initialized"):
37+ output = machine.succeed("echo \"\" | ${ pkgs . websocat } /bin/websocat ws://localhost:1234/ws")
38+ machine.log(output)
3739
38- assert '"fabric_id": 1' in output, (
39- "fabric_id not propagated to server"
40- )
40+ assert '"fabric_id": 1' in output, (
41+ "fabric_id not propagated to server"
42+ )
4143
42- with subtest("Check storage directory is created"):
43- machine.succeed("ls /var/lib/matter-server/chip.json")
44+ with subtest("Check storage directory is created"):
45+ machine.succeed("ls /var/lib/matter-server/chip.json")
4446
45- with subtest("Check systemd hardening"):
46- _, output = machine.execute("systemd-analyze security matter-server.service | grep -v '✓'")
47- machine.log(output)
47+ with subtest("Check systemd hardening"):
48+ _, output = machine.execute("systemd-analyze security matter-server.service | grep -v '✓'")
49+ machine.log(output)
4850 '' ;
4951 }
5052)
0 commit comments