Skip to content

Commit fb6689b

Browse files
authored
nixosTests.mumble: Migrate to runTest (#396240)
2 parents 55a4eba + b911a61 commit fb6689b

File tree

2 files changed

+79
-81
lines changed

2 files changed

+79
-81
lines changed

nixos/tests/all-tests.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,7 @@ in
807807
mpv = runTest ./mpv.nix;
808808
mtp = handleTest ./mtp.nix { };
809809
multipass = handleTest ./multipass.nix { };
810-
mumble = handleTest ./mumble.nix { };
810+
mumble = runTest ./mumble.nix;
811811
# Fails on aarch64-linux at the PDF creation step - need to debug this on an
812812
# aarch64 machine..
813813
musescore = handleTestOn [ "x86_64-linux" ] ./musescore.nix { };

nixos/tests/mumble.nix

Lines changed: 78 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,93 @@
1-
import ./make-test-python.nix (
2-
{ pkgs, ... }:
1+
{ pkgs, ... }:
32

4-
let
5-
client =
6-
{ pkgs, ... }:
7-
{
8-
imports = [ ./common/x11.nix ];
9-
environment.systemPackages = [ pkgs.mumble ];
10-
};
3+
let
4+
client =
5+
{ pkgs, ... }:
6+
{
7+
imports = [ ./common/x11.nix ];
8+
environment.systemPackages = [ pkgs.mumble ];
9+
};
1110

12-
# outside of tests, this file should obviously not come from the nix store
13-
envFile = pkgs.writeText "nixos-test-mumble-murmurd.env" ''
14-
MURMURD_PASSWORD=testpassword
15-
'';
11+
# outside of tests, this file should obviously not come from the nix store
12+
envFile = pkgs.writeText "nixos-test-mumble-murmurd.env" ''
13+
MURMURD_PASSWORD=testpassword
14+
'';
1615

17-
in
18-
{
19-
name = "mumble";
20-
meta = with pkgs.lib.maintainers; {
21-
maintainers = [ thoughtpolice ];
22-
};
16+
in
17+
{
18+
name = "mumble";
19+
meta = with pkgs.lib.maintainers; {
20+
maintainers = [ thoughtpolice ];
21+
};
2322

24-
nodes = {
25-
server =
26-
{ config, ... }:
27-
{
28-
security.apparmor.enable = true;
29-
services.murmur.enable = true;
30-
services.murmur.registerName = "NixOS tests";
31-
services.murmur.password = "$MURMURD_PASSWORD";
32-
services.murmur.environmentFile = envFile;
33-
networking.firewall.allowedTCPPorts = [ config.services.murmur.port ];
34-
};
23+
nodes = {
24+
server =
25+
{ config, ... }:
26+
{
27+
security.apparmor.enable = true;
28+
services.murmur.enable = true;
29+
services.murmur.registerName = "NixOS tests";
30+
services.murmur.password = "$MURMURD_PASSWORD";
31+
services.murmur.environmentFile = envFile;
32+
networking.firewall.allowedTCPPorts = [ config.services.murmur.port ];
33+
};
3534

36-
client1 = client;
37-
client2 = client;
38-
};
35+
client1 = client;
36+
client2 = client;
37+
};
3938

40-
testScript = ''
41-
start_all()
39+
testScript = ''
40+
start_all()
4241
43-
server.wait_for_unit("murmur.service")
44-
client1.wait_for_x()
45-
client2.wait_for_x()
42+
server.wait_for_unit("murmur.service")
43+
client1.wait_for_x()
44+
client2.wait_for_x()
4645
47-
client1.execute("mumble mumble://client1:testpassword\@server/test >&2 &")
48-
client2.execute("mumble mumble://client2:testpassword\@server/test >&2 &")
46+
client1.execute("mumble mumble://client1:testpassword\@server/test >&2 &")
47+
client2.execute("mumble mumble://client2:testpassword\@server/test >&2 &")
4948
50-
# cancel client audio configuration
51-
client1.wait_for_window(r"Audio Tuning Wizard")
52-
client2.wait_for_window(r"Audio Tuning Wizard")
53-
server.sleep(5) # wait because mumble is slow to register event handlers
54-
client1.send_key("esc")
55-
client2.send_key("esc")
49+
# cancel client audio configuration
50+
client1.wait_for_window(r"Audio Tuning Wizard")
51+
client2.wait_for_window(r"Audio Tuning Wizard")
52+
server.sleep(5) # wait because mumble is slow to register event handlers
53+
client1.send_key("esc")
54+
client2.send_key("esc")
5655
57-
# cancel client cert configuration
58-
client1.wait_for_window(r"Certificate Management")
59-
client2.wait_for_window(r"Certificate Management")
60-
server.sleep(5) # wait because mumble is slow to register event handlers
61-
client1.send_key("esc")
62-
client2.send_key("esc")
56+
# cancel client cert configuration
57+
client1.wait_for_window(r"Certificate Management")
58+
client2.wait_for_window(r"Certificate Management")
59+
server.sleep(5) # wait because mumble is slow to register event handlers
60+
client1.send_key("esc")
61+
client2.send_key("esc")
6362
64-
# accept server certificate
65-
client1.wait_for_window(r"^Mumble$")
66-
client2.wait_for_window(r"^Mumble$")
67-
server.sleep(5) # wait because mumble is slow to register event handlers
68-
client1.send_chars("y")
69-
client2.send_chars("y")
70-
server.sleep(5) # wait because mumble is slow to register event handlers
63+
# accept server certificate
64+
client1.wait_for_window(r"^Mumble$")
65+
client2.wait_for_window(r"^Mumble$")
66+
server.sleep(5) # wait because mumble is slow to register event handlers
67+
client1.send_chars("y")
68+
client2.send_chars("y")
69+
server.sleep(5) # wait because mumble is slow to register event handlers
7170
72-
# sometimes the wrong of the 2 windows is focused, we switch focus and try pressing "y" again
73-
client1.send_key("alt-tab")
74-
client2.send_key("alt-tab")
75-
server.sleep(5) # wait because mumble is slow to register event handlers
76-
client1.send_chars("y")
77-
client2.send_chars("y")
71+
# sometimes the wrong of the 2 windows is focused, we switch focus and try pressing "y" again
72+
client1.send_key("alt-tab")
73+
client2.send_key("alt-tab")
74+
server.sleep(5) # wait because mumble is slow to register event handlers
75+
client1.send_chars("y")
76+
client2.send_chars("y")
7877
79-
# Find clients in logs
80-
server.wait_until_succeeds(
81-
"journalctl -eu murmur -o cat | grep -q 'client1.\+Authenticated'"
82-
)
83-
server.wait_until_succeeds(
84-
"journalctl -eu murmur -o cat | grep -q 'client2.\+Authenticated'"
85-
)
78+
# Find clients in logs
79+
server.wait_until_succeeds(
80+
"journalctl -eu murmur -o cat | grep -q 'client1.\+Authenticated'"
81+
)
82+
server.wait_until_succeeds(
83+
"journalctl -eu murmur -o cat | grep -q 'client2.\+Authenticated'"
84+
)
8685
87-
server.sleep(5) # wait to get screenshot
88-
client1.screenshot("screen1")
89-
client2.screenshot("screen2")
86+
server.sleep(5) # wait to get screenshot
87+
client1.screenshot("screen1")
88+
client2.screenshot("screen2")
9089
91-
# check if apparmor denied anything
92-
server.fail('journalctl -b --no-pager --grep "^audit: .*apparmor=\\"DENIED\\""')
93-
'';
94-
}
95-
)
90+
# check if apparmor denied anything
91+
server.fail('journalctl -b --no-pager --grep "^audit: .*apparmor=\\"DENIED\\""')
92+
'';
93+
}

0 commit comments

Comments
 (0)