about summary refs log tree commit diff
path: root/nixos/tests/firefox.nix
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2017-03-15 16:49:08 +0100
committerMichael Raskin <7c6f434c@mail.ru>2017-03-15 17:25:57 +0100
commit14a3412048473e022e4bc2c687c66bb5f30c0e42 (patch)
tree1ed6ac8b0468908d70b11b57871d16007b6544ba /nixos/tests/firefox.nix
parenta26c51116d681a2828ad836386b7698dc3876689 (diff)
nixos: tests: firefox: make more comprehensive
Run Firefox inside an XTerm, it doesn't crash mysteriously this way.
Also try opening developer tools and checking that Firefox doesn't
crash in the process.
Diffstat (limited to 'nixos/tests/firefox.nix')
-rw-r--r--nixos/tests/firefox.nix10
1 files changed, 8 insertions, 2 deletions
diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix
index 1bdabe93fec19..e1b628c914456 100644
--- a/nixos/tests/firefox.nix
+++ b/nixos/tests/firefox.nix
@@ -8,15 +8,21 @@ import ./make-test.nix ({ pkgs, ... }: {
     { config, pkgs, ... }:
 
     { imports = [ ./common/x11.nix ];
-      environment.systemPackages = [ pkgs.firefox ];
+      environment.systemPackages = [ pkgs.firefox pkgs.xdotool ];
     };
 
   testScript =
     ''
       $machine->waitForX;
-      $machine->execute("firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html &");
+      $machine->execute("xterm -e 'firefox file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' &");
       $machine->waitForWindow(qr/Valgrind/);
       $machine->sleep(40); # wait until Firefox has finished loading the page
+      $machine->execute("xdotool key space"); # do I want to make Firefox the
+                             # default browser? I just want to close the dialog
+      $machine->sleep(2); # wait until Firefox hides the default browser window
+      $machine->execute("xdotool key F12");
+      $machine->sleep(10); # wait until Firefox draws the developer tool panel
+      $machine->succeed("xwininfo -root -tree | grep Valgrind");
       $machine->screenshot("screen");
     '';