diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-10-10 13:28:20 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-10-10 13:28:20 +0200 |
commit | 5c1f8cbc70cd5e6867ef6a2a06d27a40daa07010 (patch) | |
tree | a6c0f605be6de3f372ae69905b331f9f75452da7 /nixos/tests/kde4.nix | |
parent | 6070bc016bd2fd945b04347e25cfd3738622d2ac (diff) |
Move all of NixOS to nixos/ in preparation of the repository merge
Diffstat (limited to 'nixos/tests/kde4.nix')
-rw-r--r-- | nixos/tests/kde4.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/nixos/tests/kde4.nix b/nixos/tests/kde4.nix new file mode 100644 index 0000000000000..3fb35bbab0985 --- /dev/null +++ b/nixos/tests/kde4.nix @@ -0,0 +1,67 @@ +{ pkgs, ... }: + +{ + + machine = + { config, pkgs, ... }: + + { imports = [ ./common/user-account.nix ]; + + virtualisation.memorySize = 768; + + services.xserver.enable = true; + + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + services.httpd.documentRoot = "${pkgs.valgrind}/share/doc/valgrind/html"; + + services.xserver.displayManager.kdm.enable = true; + services.xserver.displayManager.kdm.extraConfig = + '' + [X-:0-Core] + AutoLoginEnable=true + AutoLoginUser=alice + AutoLoginPass=foobar + ''; + + services.xserver.desktopManager.kde4.enable = true; + + # Include most of KDE. We don't really test these here, but at + # least they should build. + environment.systemPackages = + [ pkgs.kde4.kdemultimedia + pkgs.kde4.kdegraphics + pkgs.kde4.kdeutils + pkgs.kde4.kdegames + pkgs.kde4.kdeedu + pkgs.kde4.kdeaccessibility + pkgs.kde4.kdeadmin + pkgs.kde4.kdenetwork + pkgs.kde4.kdetoys + pkgs.kde4.kdewebdev + ]; + }; + + testScript = + '' + $machine->waitUntilSucceeds("pgrep plasma-desktop"); + $machine->waitForWindow(qr/plasma-desktop/); + + # Check that logging in has given the user ownership of devices. + $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); + + $machine->execute("su - alice -c 'DISPLAY=:0.0 kwrite /var/log/messages &'"); + $machine->waitForWindow(qr/messages.*KWrite/); + + $machine->execute("su - alice -c 'DISPLAY=:0.0 konqueror http://localhost/ &'"); + $machine->waitForWindow(qr/Valgrind.*Konqueror/); + + $machine->execute("su - alice -c 'DISPLAY=:0.0 gwenview ${pkgs.kde4.kde_wallpapers}/share/wallpapers/Hanami/contents/images/1280x1024.jpg &'"); + $machine->waitForWindow(qr/Gwenview/); + + $machine->sleep(10); + + $machine->screenshot("screen"); + ''; + +} |