30 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| import ./make-test.nix ({ pkgs, ... }: {
 | |
|   name = "firefox";
 | |
|   meta = with pkgs.stdenv.lib.maintainers; {
 | |
|     maintainers = [ eelco chaoflow shlevy ];
 | |
|   };
 | |
| 
 | |
|   machine =
 | |
|     { pkgs, ... }:
 | |
| 
 | |
|     { imports = [ ./common/x11.nix ];
 | |
|       environment.systemPackages = [ pkgs.firefox pkgs.xdotool ];
 | |
|     };
 | |
| 
 | |
|   testScript =
 | |
|     ''
 | |
|       $machine->waitForX;
 | |
|       $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");
 | |
|     '';
 | |
| 
 | |
| })
 | 
