Commit graph

268 commits

Author SHA1 Message Date
Jascha Geerds ab70c601b6 cups: Fix printing test 2015-08-27 09:24:45 +02:00
Eelco Dolstra aa3b13549f Grmbl
http://hydra.nixos.org/build/24983009
2015-08-25 11:26:38 +02:00
Eelco Dolstra 779e585549 chromium: Fix test on i686-linux
http://hydra.nixos.org/build/24982682
2015-08-24 11:05:01 +02:00
Eelco Dolstra d1c30dc5aa Give the chromium test more memory
Hopefully fixes random failures like

http://hydra.nixos.org/build/24861987/nixlog/446
2015-08-20 20:34:35 +02:00
aszlig 0ed0669699
nixos/tests/lightdm: Drop "session" screenshot.
Using waitForWindow on the IceWM root window doesn't necessarily mean
that the panel will be shown. In the lightdm test, we only make sure
that the login is working and thus it doesn't matter how the session
itself will look or whether IceWM is broken, so we don't need that
screenshot.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-08-20 12:57:40 +02:00
Tuomas Tynkkynen f7771131b6 nixos/tests/lightdm: Fix waiting for the login to succeed
Currently the lightdm test detects a successful login by OCR'ing the
screen and searching for the clock widget's text.  Since the last
IceWM update (commit bdd20ced), either the font or the colors of the
clock changed such that the OCR doesn't pick it up anymore.

Instead, just look for a matching (root) window title, e.g.
"IceWM 1.3.9 (Linux/i686)"
2015-08-15 17:12:07 +03:00
aszlig 6440e9bbfd
nixos/vbox: Move all options to virtualisation.*.
Commit 687caeb renamed services.virtualboxHost to programs.virtualbox,
but according to the discussion on the commit, it's probably a better to
put it into virtualisation.virtualbox instead.

The discussion can be found here:

https://github.com/NixOS/nixpkgs/commit/687caeb#commitcomment-12664978

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-08-13 12:28:24 +02:00
William A. Kennington III 7a0980e5dc nixos/tests/openssh: Fix test by using safe public keys 2015-08-12 11:16:26 -07:00
Eelco Dolstra 2cd7c1f198 Unify NixOS and Nixpkgs channel structure
This is primarily to ensure that

  -I nixpkgs=https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz

and

  -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz

and

  -I nixpkgs=https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz

behave consistently.

It also allows installing packages via "nix-env -iA nixos.<pkg>"
rather than "nixos.pkgs.<pkg>". It would be even better to allow
"nixpkgs.<pkg>", but that requires a change to nix-channel.

Fixes #7659.
2015-08-05 17:37:11 +02:00
Eelco Dolstra fc7e7f9032 Remove broken/unused test 2015-08-05 14:34:54 +02:00
Ricardo M. Correia 47dad51c2b nixos.tests.avahi: unmaintain 2015-08-04 17:30:55 +02:00
Vladimír Čunát 1b4a727959 nixos/tests/printing: unmaintain
I won't be a good maintainer of printing tests, as I don't print.
I don't know why I was made one in #8163, in the first place.
2015-08-04 13:17:44 +02:00
aszlig 07edb2483d
Merge branch 'vboxguest-sbin-removal'.
This removes all references to .../sbin for the guest additions and also
installs all binaries to .../bin instead (so no more .../sbin).

The main motivation for doing this is commit 98cedb3 (which
unfortunately had to be reverted in a9f2e10) and pull request #9063,
where the latter is an initial effort to move mount.vboxsf to .../bin
instead of .../sbin.

The commit I made afterwards is finishing the removal of .../sbin
entirely.
2015-08-04 04:00:09 +02:00
Charles Strahan 878e69c67c riak2: use sensible default paths
Make exporting the RIAK_{ETC,LOG,DATA}_DIR variables optional;
if they're not in the environment, we use the same default values as
NixOS.
2015-08-03 21:48:29 -04:00
aszlig 86b695a18e
vbox-guest: Remove all references to sbin/.
Using $storepath/sbin is deprecated according to commit 98cedb3, so
let's avoid putting anything in .../sbin for the guest additions.

This is a continuation of the initial commit done by @ctheune at
1fb1360, which unfortunately broke VM tests and only changed the path of
the mount.vboxsf helper.

With this commit, the VM test is fixed and I've also verified on my
machine that it is indeed working again.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-08-04 03:03:24 +02:00
Jascha Geerds a7bfe5643b cups: Fix test by using different groff output 2015-07-27 20:15:34 +02:00
Charles Strahan babb744b71 riak: new nixos service 2015-07-21 09:25:41 -04:00
Joachim Schiele 0731489953 all tests: added meta.maintainers section 2015-07-12 12:29:51 +02:00
William A. Kennington III 26e44a0a5c tests/boot: Remove unused store contents 2015-07-08 16:23:42 -07:00
William A. Kennington III e861889e99 nixos/tests/installer: Add a testcase for fat32 /boot 2015-07-08 12:05:31 -07:00
Luca Bruno 6c8e6aaa24 nixos docker: fix service and test 2015-07-05 13:57:23 +02:00
aszlig 9bc2f77daa
nixos/tests/chromium: Improve sandbox checking.
We no longer need have "SUID sandbox" enabled in the chrome://sandbox
status page and we now also check for "You are adequately sandboxed." to
be absolutely sure that we're running with proper sandboxing.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-07-04 02:31:45 +02:00
Eelco Dolstra f93d8425c3 Installer test: Fix booting from SCSI
This is required by the GRUB 1 test.
2015-06-17 15:47:43 +02:00
Dan Peebles 4b758e374e Initial attempt at configuring from EC2 userdata (with input from cstrahan). Now with VM tests! 2015-06-11 23:16:35 -04:00
Dan Peebles b6c589b2da Simple EC2 user-data VM test 2015-06-11 22:54:04 -04:00
Eelco Dolstra 8e88710693 Installer test: Remove apparently useless setting of nix.readOnlyStore 2015-06-10 15:28:56 +02:00
Eelco Dolstra d906939e74 Installer tests: Don't use the ISO
We already have separate tests for checking whether the ISO boots
correctly, so it's not necessary to do that here. So now
tests/installer.nix just tests nixos-install, from a regular NixOS VM
that uses the host's Nix store. This makes running the tests more
convenient because we don't have to build a new ISO after every
change.
2015-06-10 15:28:56 +02:00
Eelco Dolstra 7c6b935b60 Remove dead code 2015-06-03 16:38:52 +02:00
aszlig d22b6fb10f
nixos: Add small VM test for lightdm.
Serves as a regression test for #7902.

It's not yet referenced in release(-combined)?.nix because it will fail
until the issue is resolved. Tested successfully against libgcrypt with
libcap passed as null however.

As for the test itself, I'm not quite sure whether checking for the time
displayed by IceWM is a good idea, but we can still fix that if it turns
out to be a problem.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-27 18:17:34 +02:00
William A. Kennington III c8db08ee07 nixos/installer: Make test install disk larger to support the expressions 2015-05-25 21:11:59 -07:00
aszlig 5f50f23013
nixos/tests/chromium: Detect popup using OCR.
This will make the test a lot more reliable, because we no longer need
to press ESC multiple times hoping that it will close the popup.

Unfortunately in order to run this test I needed to locally revert the
gyp update from a305e6855d.

With the old gyp version however the test runs fine and it's able to
properly detect the popup.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-22 11:23:09 +02:00
aszlig 8be00dc71d
nixos/test-driver: Make tesseract OCR optional.
By default this is now enabled, and it has to be explicitely enabled
using "enableOCR = true". If it is set to false, any usage of
getScreenText or waitForText will fail with an error suggesting to pass
enableOCR.

This should get rid of the rather large dependency on tesseract which
we don't need for most tests.

Note, that I'm using system("type -P") here to check whether tesseract
is in PATH. I know it's a bashism but we already have other bashisms
within the test scripts and we also run it with bash, so IMHO it's not a
problem here.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-22 07:21:58 +02:00
aszlig 77d7aa6742
nixos/tests/luksroot: Switch to use waitForText.
Fixes the "blindly hope that 60 seconds is enough" issue from 1f34503,
so that we now have a (hopefully) reliable way to wait for the
passphrase prompt.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-21 19:55:21 +02:00
aszlig 1f34503010
nixos/tests/installer: Add test for LUKS rootfs.
This serves as a regression test for #7859.

It's pretty straightforward, except from the fact that nixos-generate-
config doesn't detect LUKS devices and the "sleep 60".

As for the former, I have tried to add support for LUKS devices for
nixos-generate-config, but it's not so easy as it sounds, because we
need to create a device tree across all possible mappers and/or LVM up
to the "real" device and then decide whether it is relevant to what is
currently mounted. So I guess this is something for the nixpart branch
(see #2079).

And the latter isn't very trivial as well, because the LUKS passphrase
prompt is issued on /dev/console, which is the last "console=..." kernel
parameter (thus the `mkAfter`). So we can't simply grep the log, because
the prompt ends up being on one terminal only (tty0) and using select()
on $machine->{socket} doesn't work very well, because the FD is always
"ready for read". If we would read the FD, we would conflict with
$machine->connect and end up having an inconsistent state. Another idea
would be to use multithreading to do $machine->connect while feeding the
passphrase prompt in a loop and stop the thread once $machine->connect
is done. Turns out that this is not so easy as well, because the threads
need to share the $machine object and of course need to do properly
locking.

In the end I decided to use the "blindly hope that 60 seconds is enough"
approach for now and come up with a better solution later. Other VM
tests surely use sleep as well, but it's $machine->sleep, which is bound
to the clock of the VM, so if the build machine is on high load, a
$machine->sleep gets properly delayed but the timer outside the VM won't
get that delay, so the test is not deterministic.

Tested against the following revisions:

5e3fe39: Before the libgcrypt cleanup (a71f78a) that broke cryptsetup.
69a6848: While cryptsetup was broken (obviously the test failed).
15faa43: After cryptsetup has been switched to OpenSSL (fd588f9).

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-21 13:21:41 +02:00
aszlig 3b396701fd
nixos/tests/installer: Allow pre-boot commands.
These commands will be executed directly after the machine is created,
so it gives us the chance to for example type in passphrases using the
virtual keyboard.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-21 13:21:41 +02:00
aszlig 5d2c6f0353
nixos/tests/installer: Allow to pass extra config.
We're going to need it for installer tests where nixos-generate-config
isn't yet able to fully detect the filesystems/hardware. for example for
device mapper configurations other than LVM.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-05-21 13:21:40 +02:00
Luca Bruno 25f9555599 Drop GNOME 3.12 2015-05-18 12:24:08 +02:00
Jascha Geerds 779b65f019 cups: Second attempt to fix our printing tests; add more sleep statements 2015-05-14 17:46:32 +02:00
Eelco Dolstra 15ffb9ad88 Remove fixed uid in tests 2015-05-13 16:23:57 +02:00
Jascha Geerds 92317259ef cups: First attempt to fix our printing tests; wait until cups is fully initialized 2015-05-13 14:22:30 +02:00
Jascha Geerds 6f69dd46d7 cups: Add defaultShared, browsing and webInterace config option 2015-05-10 13:46:32 +02:00
Jascha Geerds 65e2b83b36 cups: Fix printing tests
It seems like there's an upstream bug in the "lpstat" command. We need
to specify the server's port.

Further information: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=711327

[root@client:~]# lpstat -H
/var/run/cups/cups.sock

[root@client:~]# lpstat -h server -H
/var/run/cups/cups.sock:631

[root@client:~]# CUPS_SERVER=server lpstat -H
server:631

[root@client:~]# lpstat -h server:631 -H
server:631
2015-05-10 13:46:32 +02:00
Vladimír Čunát 30f31c9afc Merge 'master' into staging
(relatively simple conflicts)
2015-04-26 22:52:08 +02:00
Luca Bruno db3b86560f GNOME 3.16.1, closes #7357 2015-04-25 12:02:33 +02:00
William A. Kennington III 793cf28cd5 nixos/tests/networking: Clean up and attempt to make more reliable 2015-04-10 23:23:53 -07:00
Eelco Dolstra facd53315b tests/misc.nix: Ensure that the Nix DB is initialised correctly 2015-04-07 15:10:47 +02:00
aszlig 1165a243f8
nixos/tests/vbox: Make GUI startup more robust.
Sometimes, keys aren't properly recognized the first time, so in order
to make sure they get through, always resend the key again on retry.

In this case the worst that could happen is that the VM is started over
and over again, but never in parallel, so that's fine because we're
checking for successful startup 10 seconds after the keypress.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-04 17:09:15 +02:00
Eelco Dolstra 94eb519e19 Add nfs4 test 2015-04-02 17:44:48 +02:00
aszlig 82bd608de1
tests/chromium: Work around popup close flakiness.
It's not nice to send the escape key over and over again just to ensure
the popup is closed, because even *if* it fails to close the popup 4
times in a row it's just very unlikely that it will be closed. But in
order to make really sure, we might need to do a screenshot and detect
visual changes.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-02 14:12:19 +02:00
aszlig 56c0edca86
nixos/tests/swraid: Increase boot partition size.
I'm increasing it to 100MB to make sure, any bootloader will fit with
all its stages. Of course, right now the reason why GRUB doesn't fit
into the partition is because of mdadm 3.3.2 and thus the initrd taking
all the space, but in order to avoid confusion on why the *boot* loader
fails in the VM tests, I've increased the size.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-01 08:50:38 +02:00