Commit graph

182 commits

Author SHA1 Message Date
Eelco Dolstra
261430df54 * Flush the coverage data by doing a shutdown.
svn path=/nixos/trunk/; revision=25481
2011-01-09 22:33:21 +00:00
Eelco Dolstra
ef82cd9c48 * Coverage report: propagate the build products of the VM test run.
* Run the Quake 3 with coverage instrumentation.

svn path=/nixos/trunk/; revision=25480
2011-01-09 22:21:22 +00:00
Eelco Dolstra
7adc21218f * Simulate connection interruptions.
svn path=/nixos/trunk/; revision=25470
2011-01-09 18:17:17 +00:00
Eelco Dolstra
e343a16a36 * Improved logging in the test driver.
* Support subtests.

svn path=/nixos/trunk/; revision=25451
2011-01-06 17:28:35 +00:00
Eelco Dolstra
7378e17f74 * Test driver: write structured log info to $out/log.xml (not finished
yet).
* Machine->new -> createMachine (because VMs must be tracked in the
  %vms hash).

svn path=/nixos/trunk/; revision=25427
2011-01-05 15:27:21 +00:00
Eelco Dolstra
c8bca42355 * Update the Bittorrent test for Transmission 2.
svn path=/nixos/trunk/; revision=25422
2011-01-05 11:52:45 +00:00
Eelco Dolstra
747e284e75 * Fix an evaluation error in tests.installer.rebuildCD.
svn path=/nixos/trunk/; revision=25193
2010-12-18 18:07:25 +00:00
Eelco Dolstra
6039c22da4 svn path=/nixos/trunk/; revision=25141 2010-12-15 12:10:17 +00:00
Eelco Dolstra
47157986f2 * Unbreak the NixOS installer tests.
svn path=/nixos/trunk/; revision=25096
2010-12-13 08:53:43 +00:00
Eelco Dolstra
9def3a8dbc * Use mkOverride.
svn path=/nixos/trunk/; revision=24255
2010-10-12 22:04:10 +00:00
Eelco Dolstra
52a8a529b3 * Fix indentation.
svn path=/nixos/trunk/; revision=24254
2010-10-12 22:03:50 +00:00
Ludovic Courtès
5e6186418e Avahi test: Use getent hosts' instead of ping -c1'.
svn path=/nixos/trunk/; revision=24151
2010-10-07 20:10:45 +00:00
Ludovic Courtès
2b2b7820a9 Add an Avahi (mDNS/DNS-SD) and NSS-mDNS test.
svn path=/nixos/trunk/; revision=24148
2010-10-07 16:58:07 +00:00
Nicolas Pierron
6cc0032074 Installation CD: Check that the current system can be replaced.
svn path=/nixos/trunk/; revision=23920
2010-09-25 09:33:21 +00:00
Nicolas Pierron
1a232545a0 Test that CD configuration can be rebuild.
svn path=/nixos/trunk/; revision=23908
2010-09-25 09:32:22 +00:00
Nicolas Pierron
de1ba135ac Fix installer tests.
svn path=/nixos/trunk/; revision=23907
2010-09-25 09:18:42 +00:00
Eelco Dolstra
0fccd7bb49 * Add a trivial test that just starts a machine and shuts it down.
svn path=/nixos/trunk/; revision=23765
2010-09-13 16:06:07 +00:00
Nicolas Pierron
c9dc3651da Replace mkOverride by its alias mkOverrideTemplate to remove the unused
template argument of mkOverride later.

svn path=/nixos/trunk/; revision=23631
2010-09-03 19:10:59 +00:00
Eelco Dolstra
b9282b1752 * Test whether the build hook automatically skips unavailable slaves.
(This is in fact currently broken.)

svn path=/nixos/trunk/; revision=23398
2010-08-24 14:01:19 +00:00
Eelco Dolstra
bfb2e304dd * Test using multiple build machines in parallel.
svn path=/nixos/trunk/; revision=23396
2010-08-24 13:56:18 +00:00
Eelco Dolstra
3f10cf70f6 * Regression test for the build hook mechanism.
svn path=/nixos/trunk/; revision=23395
2010-08-24 13:27:28 +00:00
Eelco Dolstra
392275f185 * Move support for writable Nix stores to qemu-vm.nix.
svn path=/nixos/trunk/; revision=23393
2010-08-24 12:59:16 +00:00
Eelco Dolstra
ea1ba40374 svn path=/nixos/trunk/; revision=23056 2010-08-09 11:58:26 +00:00
Eelco Dolstra
3a0f295337 * The swraid installer test needs more disk space
(http://hydra.nixos.org/build/494390).

svn path=/nixos/trunk/; revision=22692
2010-07-21 21:20:42 +00:00
Eelco Dolstra
575950aa5d svn path=/nixos/trunk/; revision=22609 2010-07-15 13:28:36 +00:00
Eelco Dolstra
2a6819e03d * swraid test: Fix the alignment of the first logical partition. GNU
parted 2.3 barfs on this (http://hydra.nixos.org/build/484788),
  while 2.2 accepts it.

svn path=/nixos/trunk/; revision=22576
2010-07-13 11:57:12 +00:00
Eelco Dolstra
ddf6dae895 * Urgh, we do need to wait after each parted call
(http://hydra.nixos.org/build/483571).

svn path=/nixos/trunk/; revision=22558
2010-07-12 12:35:25 +00:00
Eelco Dolstra
d43d321e86 * Sync with the trunk.
svn path=/nixos/branches/boot-order/; revision=22349
2010-06-20 20:54:31 +00:00
Eelco Dolstra
eab091cc11 * Remove some redundant calls to `udevadm settle'.
svn path=/nixos/branches/boot-order/; revision=22345
2010-06-20 16:15:30 +00:00
Eelco Dolstra
1371f4e6c8 * Apparantly GRUB 2 cannot boot from a software RAID partition, so use
a separate /boot.

svn path=/nixos/branches/boot-order/; revision=22344
2010-06-20 16:05:15 +00:00
Eelco Dolstra
a65b5ec81c * Added an option boot.loader.grub.extraConfig to add commands to
grub.cfg before the menu entries.  (This could also be done using
  `extraEntriesBeforeNixOS', but then you can't have entries *after*
  the main entry anymore.)
* In the installer test, redirect GRUB output to the serial port.

svn path=/nixos/branches/boot-order/; revision=22300
2010-06-16 22:18:26 +00:00
Eelco Dolstra
a5c433696c * Put all of /var/run (not just /var/run/nscd) on a tmpfs to simplify
shutdown.  (Portmap and statd are needed during shutdown to unmount
  NFS volumes but have open files in /var/run.)
* In the shutdown job, don't kill PIDs belonging to Upstart jobs that
  are still running.  If they don't stop on the "starting shutdown"
  event, then they're needed during shutdown (such as portmap and
  statd).
* NFS test: test whether the shutdown quickly unmounts NFS volumes
  (i.e. whether portmap and statd are still running).

svn path=/nixos/branches/boot-order/; revision=22204
2010-06-09 22:29:06 +00:00
Eelco Dolstra
e519b0652a * Test whether locks survive a reboot of the server.
svn path=/nixos/branches/boot-order/; revision=22201
2010-06-09 15:11:46 +00:00
Eelco Dolstra
b56b4c22d5 * Test whether clients release their locks when they reboot.
svn path=/nixos/branches/boot-order/; revision=22199
2010-06-09 13:46:18 +00:00
Eelco Dolstra
6e27ce8e8e * Test whether distributed locking works on NFS.
svn path=/nixos/branches/boot-order/; revision=22197
2010-06-09 13:18:49 +00:00
Eelco Dolstra
5ddaf9b963 * Set `services.nfsKernel.client.enable' automatically if there is a
filesystem with type "nfs" or "nfs4".

svn path=/nixos/branches/boot-order/; revision=22189
2010-06-08 16:14:41 +00:00
Eelco Dolstra
2678f947fb * Add a test for the NFS server/client.
svn path=/nixos/branches/boot-order/; revision=22188
2010-06-08 16:02:22 +00:00
Eelco Dolstra
48255afa61 * This passwd doesn't have a --stdin flag.
svn path=/nixos/trunk/; revision=22110
2010-06-02 21:59:19 +00:00
Eelco Dolstra
046af078bb * We don't need Linux 2.6.27 anymore in the tests to get a writable
Nix store.  AUFS2 on 2.6.32 seems to work.

svn path=/nixos/trunk/; revision=22034
2010-05-28 07:10:17 +00:00
Eelco Dolstra
77a4004df1 * The installer test lost the QEMU flags to set up the NIC to talk to
the web server somewhere, so put them back in
  (http://hydra.nixos.org/build/424923).

svn path=/nixos/trunk/; revision=22003
2010-05-27 12:20:37 +00:00
Eelco Dolstra
894435ce5e * Slight cleanup.
svn path=/nixos/trunk/; revision=21998
2010-05-27 10:05:17 +00:00
Eelco Dolstra
fa89713c78 * Rename apply' and call'.
svn path=/nixos/trunk/; revision=21944
2010-05-23 12:02:54 +00:00
Eelco Dolstra
dd81311714 * Optionally pass the computed `nodes' to the test script as a
function argument, so that the test script can refer to computed
  values such as the assigned IP addresses of the virtual machines.

svn path=/nixos/trunk/; revision=21939
2010-05-21 14:31:05 +00:00
Eelco Dolstra
fa183e5472 * Expose networking.interfaces as an attribute set keyed on the
interface name through the derived option networking.ifaces.  This
  makes it easier to get information about specific interfaces
  (e.g. `nodes.router.config.networking.ifaces.eth2.ipAddress').
  Really networking.interfaces should be an attribute set.

svn path=/nixos/trunk/; revision=21938
2010-05-21 14:12:03 +00:00
Eelco Dolstra
3c7a6eb53c * Make the Bittorrent test more interesting by putting one client
behind a NAT router and verifying that another client can connect to
  it through the NAT (using a UPnP-IGD mapping created automatically
  by miniupnpd).

svn path=/nixos/trunk/; revision=21932
2010-05-20 23:07:21 +00:00
Eelco Dolstra
4dac9e5814 * Allow more complex network topologies in distributed tests. Each
machine can now declare an option `virtualisation.vlans' that causes
  it to have network interfaces connected to each listed virtual
  network.  For instance,

    virtualisation.vlans = [ 1 2 ];

  causes the machine to have two interfaces (in addition to eth0, used
  by the test driver to control the machine): eth1 connected to
  network 1 with IP address 192.168.1.<i>, and eth2 connected to
  network 2 with address 192.168.2.<i> (where <i> is the index of the
  machine in the `nodes' attribute set).  On the other hand,
  
    virtualisation.vlans = [ 2 ];

  causes the machine to only have an eth1 connected to network 2 with
  address 192.168.2.<i>.  So each virtual network <n> is assigned the
  IP range 192.168.<n>.0/24.

  Each virtual network is implemented using a separate multicast
  address on the host, so guests really cannot talk to networks to
  which they are not connected.

* Added a simple NAT test to demonstrate this.

* Added an option `virtualisation.qemu.options' to specify QEMU
  command-line options.  Used to factor out some commonality between
  the test driver script and the interactive test script.

svn path=/nixos/trunk/; revision=21928
2010-05-20 21:07:32 +00:00
Eelco Dolstra
85bd5bad32 * Another distributed test example: Bittorrent.
svn path=/nixos/trunk/; revision=21926
2010-05-20 14:56:04 +00:00
Eelco Dolstra
ec33622b48 * A test for installing NixOS on software RAID. Doesn't quite work
yet though - GRUB fails mysteriously on the second reboot.

svn path=/nixos/trunk/; revision=21808
2010-05-16 20:44:45 +00:00
Eelco Dolstra
835522e40d * Wait a bit more.
svn path=/nixos/trunk/; revision=21340
2010-04-27 12:24:16 +00:00
Sander van der Burg
97c20c8f4d Added openssh testcase
svn path=/nixos/trunk/; revision=20732
2010-03-18 13:07:56 +00:00
Eelco Dolstra
9d253ceca3 * Remove the obsolete gnu-integration.nix.
svn path=/nixos/trunk/; revision=20648
2010-03-16 12:10:50 +00:00
Eelco Dolstra
c1e313b5e1 * Remove obsolete references to kernelPackages in Nixpkgs.
svn path=/nixos/trunk/; revision=20647
2010-03-16 12:10:06 +00:00
Ludovic Courtès
8e16742b79 Update users of `services.sshd'.
svn path=/nixos/trunk/; revision=20575
2010-03-11 17:02:53 +00:00
Eelco Dolstra
cfcb5a1544 * Start of a GNU integration test (i.e. a variant of the NixOS
ISOs/tests that use the latest tarballs for GNU packages to provide
  a regression test for those GNU projects).

svn path=/nixos/trunk/; revision=20488
2010-03-09 12:21:26 +00:00
Eelco Dolstra
a8aefffa09 * Test whether logging into X assigns device ownership properly.
svn path=/nixos/trunk/; revision=20486
2010-03-09 11:43:56 +00:00
Eelco Dolstra
89d599bab1 * When switching between virtual terminals, check whether
ConsoleKit/udev change device ownership to the logged in user.

svn path=/nixos/trunk/; revision=20485
2010-03-09 11:38:24 +00:00
Eelco Dolstra
358f3cd79c * In tests/default.nix, only import lib/testing.nix.
svn path=/nixos/trunk/; revision=20483
2010-03-09 10:14:45 +00:00
Lluís Batlle i Rossell
0fb8300bb6 Updating the nixos NFS related expressions. Thanks to Oleksandr for the
help.
I tried not to break the tests.


svn path=/nixos/trunk/; revision=20157
2010-02-21 16:26:33 +00:00
Rob Vermaas
d79d934d85 move functions to lib/testing to allow easier use outside of nixos
svn path=/nixos/trunk/; revision=20072
2010-02-17 09:37:22 +00:00
Eelco Dolstra
eed3f9a118 * Remove a sleep that hopefully is no longer needed.
svn path=/nixos/trunk/; revision=20025
2010-02-15 19:30:35 +00:00
Eelco Dolstra
c373ac846d * Update test-upstart-job.sh for Upstart 0.6.
svn path=/nixos/trunk/; revision=19939
2010-02-11 16:14:47 +00:00
Eelco Dolstra
dbc03fbf68 * nixos-install: copy /etc/nsswitch.conf to the chroot. This seems
necessary to have it use /etc/hosts.

svn path=/nixos/trunk/; revision=19905
2010-02-10 14:31:46 +00:00
Eelco Dolstra
07cc5ac2fd * "python2.5" -> ${pkgs.python.libPrefix}
svn path=/nixos/trunk/; revision=19901
2010-02-10 12:39:47 +00:00
Eelco Dolstra
55c349fe20 * Added a test that checks whether users can log in on a virtual
console.  This uses the `sendkey' command in the QEMU monitor.
* For the block/unblock primitives, use the `set_link' command in the
  QEMU monitor.

svn path=/nixos/trunk/; revision=19854
2010-02-06 13:08:15 +00:00
Eelco Dolstra
5b60c280d7 * Make the Quake 3 test less timing-sensitive.
svn path=/nixos/trunk/; revision=19816
2010-02-04 13:59:31 +00:00
Ludovic Courtès
31f2d8ffbc Add simple portmap test.
svn path=/nixos/trunk/; revision=19700
2010-01-26 23:55:22 +00:00
Eelco Dolstra
3e3448a7df * Added an Upstart job to fetch the SSH key for logging into the root
account of the VM.  However, it doesn't work yet (the machine
  doesn't boot properly and there is no console output).  So use a
  hard-coded password for now (very dangerous!).

svn path=/nixos/trunk/; revision=19589
2010-01-21 08:03:58 +00:00
Eelco Dolstra
97668574dc * Doh.
svn path=/nixos/trunk/; revision=19584
2010-01-20 21:04:10 +00:00
Eelco Dolstra
dc137c54eb * Configuration used to generate an Amazon image. This doesn't belong
in `tests' but I don't have a better place right now.

svn path=/nixos/trunk/; revision=19583
2010-01-20 21:03:53 +00:00
Lluís Batlle i Rossell
473c9d8881 Fixing an additional missing check for linuxPackages/kernelPackages in tests.
svn path=/nixos/trunk/; revision=19444
2010-01-14 20:23:03 +00:00
Eelco Dolstra
73bdc861b7 * Added a test for a simple load-balancing web server. The tests
verify whether the reverse proxy works correctly if the back-ends go
  down and come up.  (Moved from the varia repo.)

svn path=/nixos/trunk/; revision=19356
2010-01-11 15:58:15 +00:00
Eelco Dolstra
f22a548c0d * Grrrr.
svn path=/nixos/trunk/; revision=19338
2010-01-10 19:19:52 +00:00
Eelco Dolstra
3219ad5587 * LVM test: use /dev/disk/by-label/nixos to see whether by-label works
for LVM.
* Add even more udevadm settle calls.  Urgh.

svn path=/nixos/trunk/; revision=19336
2010-01-10 19:05:30 +00:00
Eelco Dolstra
dcdbf68a68 * Add a sleep before initialising the Trac database. This shouldn't
be necessary, because waitForJob shouldn't return until Postgres is
  up and running, but we still get errors like this:

postgresql: running command: initctl status postgresql
postgresql: exit status 0
postgresql: running command: createdb trac
postgresql# createdb: could not connect to database postgres: FATAL:  the database system is starting up
postgresql: exit status 1
  

svn path=/nixos/trunk/; revision=19329
2010-01-10 16:31:19 +00:00
Eelco Dolstra
6cfe5e2746 * Add some more "udevadm settle" calls. Hopefully this fixes random
failures like this:

machine: running command: parted /dev/vda -- mkpart primary 1M 2048M
machine: exit status 0
machine: running command: parted /dev/vda -- set 1 lvm on
machine: exit status 1
machine: output: 
                                                                          
Warning: WARNING: the kernel failed to re-read the partition table on /dev/vda
(Device or resource busy).  As a result, it may not reflect all of your changes
until after reboot.
command `parted /dev/vda -- set 1 lvm on' did not succeed (exit code 1) at Machine.pm line 212, <GEN2> line 24.

svn path=/nixos/trunk/; revision=19328
2010-01-10 15:22:09 +00:00
Eelco Dolstra
1a0bb65901 * Added a regression test for whether the Nixpkgs channel works. This
is done by instantiating a webserver that simulates nixos.org.
  Using nix-push we create a channel that contains some stuff (namely
  the GNU Hello source tarball and the rlwrap program).  This was a
  bit tricky because nix-push requires a writable Nix store.  Using
  AUFS this is possible, but not on recent Linux kernels (AUFS1 over
  CIFS fails).

svn path=/nixos/trunk/; revision=19327
2010-01-10 01:26:01 +00:00
Eelco Dolstra
eee4b381ce * LVM test: don't use a /boot partition. GRUB 2 can boot directly
from LVM.

svn path=/nixos/trunk/; revision=19291
2010-01-07 14:59:43 +00:00
Eelco Dolstra
b74432218d * Test LVM installs.
svn path=/nixos/trunk/; revision=19289
2010-01-07 14:19:19 +00:00
Eelco Dolstra
a776afb085 * Parameterize the installer test to support different partitioning
schemes.
* Added a test for installing NixOS with a separate /boot partition.

svn path=/nixos/trunk/; revision=19283
2010-01-07 13:19:38 +00:00
Eelco Dolstra
381a38f5fe * Do a nixos-rebuild in the installed machine and then reboot again to
see if the system still boots.

svn path=/nixos/trunk/; revision=19279
2010-01-06 22:53:27 +00:00
Eelco Dolstra
ec3398e4b2 * Move the serial console kernel parameters to test-instrumentation.nix.
svn path=/nixos/trunk/; revision=19275
2010-01-06 21:16:57 +00:00
Eelco Dolstra
bffb5450e5 * Perform a full installation and boot from the installed system.
svn path=/nixos/trunk/; revision=19274
2010-01-06 20:52:05 +00:00
Eelco Dolstra
1d549cf6df * Test whether nix-env -i works.
svn path=/nixos/trunk/; revision=19265
2010-01-06 16:46:21 +00:00
Eelco Dolstra
cbca2f72df * Put a timeout on all wait* actions.
svn path=/nixos/trunk/; revision=19264
2010-01-06 15:14:26 +00:00
Eelco Dolstra
1b21115f61 * Support creating a virtual disk in the test driver.
svn path=/nixos/trunk/; revision=19263
2010-01-06 14:37:23 +00:00
Eelco Dolstra
816f12da88 * Test driver: added support for running from an ISO image. The goal
is to merge test-nixos-install-from-cd so that we have a single
  testing framework.

svn path=/nixos/trunk/; revision=19259
2010-01-06 13:36:21 +00:00
Eelco Dolstra
bc68c2985c * Added a function waitForX, which returns when the X server accepts
connections.
* In the root shell, source /etc/bashrc and set $HOME and $DISPLAY.  

svn path=/nixos/trunk/; revision=19247
2010-01-05 23:59:29 +00:00
Eelco Dolstra
5cc99487cb * A function to wait until a window exists.
svn path=/nixos/trunk/; revision=19246
2010-01-05 23:38:13 +00:00
Eelco Dolstra
0f5b178fcf svn path=/nixos/trunk/; revision=19242 2010-01-05 17:42:36 +00:00
Eelco Dolstra
bc238be01a * Factor out the X11 configuration.
svn path=/nixos/trunk/; revision=19241
2010-01-05 17:08:57 +00:00
Eelco Dolstra
73668f41da * Added an "auto" pseudo display manager that logs in a user
automatically.  This is mostly useful for testing.  (KDM also has
  this feature, but it's nice not to depend on KDE for non-KDE tests.)

svn path=/nixos/trunk/; revision=19239
2010-01-05 15:32:14 +00:00
Eelco Dolstra
bc8445a89e * Add a simple Firefox test.
svn path=/nixos/trunk/; revision=19234
2010-01-05 14:12:51 +00:00
Eelco Dolstra
9889d9f9f8 * Remove most default kernel options since they have no effect. Also,
don't put them in a default, so that they can easily be added to.

svn path=/nixos/trunk/; revision=19232
2010-01-05 13:11:12 +00:00
Eelco Dolstra
8343b8b902 * More cleanups.
svn path=/nixos/trunk/; revision=19228
2010-01-05 11:57:17 +00:00
Eelco Dolstra
5af12b6afe * Provide a function for taking a screenshot.
svn path=/nixos/trunk/; revision=19225
2010-01-05 11:35:59 +00:00
Eelco Dolstra
fbda972090 * This sleep should no longer be needed because in Upstart 0.6
"initctl stop" doesn't return until the job has stopped.

svn path=/nixos/trunk/; revision=19224
2010-01-05 11:29:30 +00:00
Eelco Dolstra
51097933ab * Moved test-related stuff from lib/build-vms.nix to lib/testing.nix.
* Factored out some commonality between tests to make them a bit
  simpler to write.  A test is a function { pkgs, ... }: -> { nodes,
  testScript } or { machine, testScript }.  So it's no longer
  necessary to have a "vms" attribute in every test.

svn path=/nixos/trunk/; revision=19220
2010-01-05 11:18:43 +00:00
Eelco Dolstra
9e98910a72 * Obsolete.
svn path=/nixos/trunk/; revision=19213
2010-01-05 09:20:43 +00:00
Eelco Dolstra
5730c27aed * For debugging, if $tests is not set, read commands from stdin.
svn path=/nixos/trunk/; revision=19210
2010-01-04 16:30:54 +00:00
Eelco Dolstra
9aa0a336bc * Updated the coverage analysis handling for Linux 2.6.32. Gcov is
now merged in the kernel, and the gcda files are exported through
  debugfs in /sys/kernel/debug/gcov.

svn path=/nixos/trunk/; revision=19207
2010-01-04 13:22:43 +00:00