diff options
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/chromium.nix | 39 | ||||
-rw-r--r-- | nixos/tests/nfs.nix | 6 |
2 files changed, 24 insertions, 21 deletions
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix index 55b1fb5a7222..3a2c65164766 100644 --- a/nixos/tests/chromium.nix +++ b/nixos/tests/chromium.nix @@ -18,8 +18,9 @@ mapAttrs (channel: chromiumPkg: makeTest rec { enableOCR = true; - machine.imports = [ ./common/x11.nix ]; + machine.imports = [ ./common/user-account.nix ./common/x11.nix ]; machine.virtualisation.memorySize = 2047; + machine.services.xserver.displayManager.auto.user = "alice"; machine.environment.systemPackages = [ chromiumPkg ]; startupHTML = pkgs.writeText "chromium-startup.html" '' @@ -43,14 +44,20 @@ mapAttrs (channel: chromiumPkg: makeTest rec { xdoScript = pkgs.writeText "${name}.xdo" text; in "${pkgs.xdotool}/bin/xdotool '${xdoScript}'"; in '' + # Run as user alice + sub ru ($) { + my $esc = $_[0] =~ s/'/'\\${"'"}'/gr; + return "su - alice -c '$esc'"; + } + sub createNewWin { $machine->nest("creating a new Chromium window", sub { - $machine->execute("${xdo "new-window" '' + $machine->execute(ru "${xdo "new-window" '' search --onlyvisible --name "startup done" windowfocus --sync windowactivate --sync ''}"); - $machine->execute("${xdo "new-window" '' + $machine->execute(ru "${xdo "new-window" '' key Ctrl+n ''}"); }); @@ -58,16 +65,16 @@ mapAttrs (channel: chromiumPkg: makeTest rec { sub closeWin { Machine::retry sub { - $machine->execute("${xdo "close-window" '' + $machine->execute(ru "${xdo "close-window" '' search --onlyvisible --name "new tab" windowfocus --sync windowactivate --sync ''}"); - $machine->execute("${xdo "close-window" '' + $machine->execute(ru "${xdo "close-window" '' key Ctrl+w ''}"); for (1..20) { - my ($status, $out) = $machine->execute("${xdo "wait-for-close" '' + my ($status, $out) = $machine->execute(ru "${xdo "wait-for-close" '' search --onlyvisible --name "new tab" ''}"); return 1 if $status != 0; @@ -80,7 +87,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec { my $ret = 0; $machine->nest("waiting for new Chromium window to appear", sub { for (1..20) { - my ($status, $out) = $machine->execute("${xdo "wait-for-window" '' + my ($status, $out) = $machine->execute(ru "${xdo "wait-for-window" '' search --onlyvisible --name "new tab" windowfocus --sync windowactivate --sync @@ -113,13 +120,9 @@ mapAttrs (channel: chromiumPkg: makeTest rec { $machine->waitForX; my $url = "file://${startupHTML}"; - my $args = "--user-data-dir=/tmp/chromium-${channel}"; - $machine->execute( - "ulimit -c unlimited; ". - "chromium $args \"$url\" & disown" - ); + $machine->execute(ru "ulimit -c unlimited; chromium \"$url\" & disown"); $machine->waitForText(qr/startup done/); - $machine->waitUntilSucceeds("${xdo "check-startup" '' + $machine->waitUntilSucceeds(ru "${xdo "check-startup" '' search --sync --onlyvisible --name "startup done" # close first start help popup key -delay 1000 Escape @@ -134,13 +137,13 @@ mapAttrs (channel: chromiumPkg: makeTest rec { $machine->screenshot("startup_done"); testNewWin "check sandbox", sub { - $machine->succeed("${xdo "type-url" '' + $machine->succeed(ru "${xdo "type-url" '' search --sync --onlyvisible --name "new tab" windowfocus --sync type --delay 1000 "chrome://sandbox" ''}"); - $machine->succeed("${xdo "submit-url" '' + $machine->succeed(ru "${xdo "submit-url" '' search --sync --onlyvisible --name "new tab" windowfocus --sync key --delay 1000 Return @@ -148,15 +151,15 @@ mapAttrs (channel: chromiumPkg: makeTest rec { $machine->screenshot("sandbox_info"); - $machine->succeed("${xdo "submit-url" '' + $machine->succeed(ru "${xdo "submit-url" '' search --sync --onlyvisible --name "sandbox status" windowfocus --sync ''}"); - $machine->succeed("${xdo "submit-url" '' + $machine->succeed(ru "${xdo "submit-url" '' key --delay 1000 Ctrl+a Ctrl+c ''}"); - my $clipboard = $machine->succeed("${pkgs.xclip}/bin/xclip -o"); + my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o"); die "sandbox not working properly: $clipboard" unless $clipboard =~ /namespace sandbox.*yes/mi && $clipboard =~ /pid namespaces.*yes/mi diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix index 36cd6a395779..6ed1995f262a 100644 --- a/nixos/tests/nfs.nix +++ b/nixos/tests/nfs.nix @@ -40,7 +40,7 @@ in testScript = '' - $server->waitForUnit("nfsd"); + $server->waitForUnit("nfs-server"); $server->succeed("systemctl start network-online.target"); $server->waitForUnit("network-online.target"); @@ -54,8 +54,8 @@ in $client2->succeed("echo bla > /data/bar"); $server->succeed("test -e /data/bar"); - # Test whether restarting ‘nfsd’ works correctly. - $server->succeed("systemctl restart nfsd"); + # Test whether restarting ‘nfs-server’ works correctly. + $server->succeed("systemctl restart nfs-server"); $client2->succeed("echo bla >> /data/bar"); # will take 90 seconds due to the NFS grace period # Test whether we can get a lock. |