Commit graph

214 commits

Author SHA1 Message Date
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
Eelco Dolstra
7707ceaddf * The test doesn't work with the default bit depth.
svn path=/nixos/trunk/; revision=19194
2010-01-03 23:34:44 +00:00
Eelco Dolstra
73c5a61a68 * Fix the Subversion test.
svn path=/nixos/trunk/; revision=19191
2010-01-03 17:57:38 +00:00
Marc Weber
5bf9fdbe41 cleaned up kvm installation test. It works now.
svn path=/nixos/trunk/; revision=18986
2009-12-16 04:55:35 +00:00
Marc Weber
273ecdf070 adding nix-env -i check in booted system.
It fails because nixbldN don't belong to the nixbld group
Manually removing socket file. Somehow the socket is not always created
when rebooting the second time (?) I have to look into that later.

svn path=/nixos/trunk/; revision=18984
2009-12-15 23:26:57 +00:00
Marc Weber
4b5864666e * refactoring kvm test and bootstrapping image.
expose makeInfo (used by test now)
  expose config hack
* Adding tests to release.nix
* fixes
* removing dependency on perl

refactoring details:
Move all configuration modules used by the NixOS installation test script
into one directory.

svn path=/nixos/trunk/; revision=18982
2009-12-15 23:26:52 +00:00
Marc Weber
401fd84ae1 kvm installation test update + NixOS installation archive
You can run the kvm nixos installation test by:
  nix-build --no-out-link tests/test-nixos-install-from-cd.nix
It boots the installed system.
It still fails sshd isn't started (yet)

adding nixos-bootstrapping-archive:
You can install NixOS easily using any live cd now.
See README-BOOTSTRAP-NIXOS

svn path=/nixos/trunk/; revision=18950
2009-12-15 06:37:32 +00:00
Marc Weber
4d7e344f69 Adding initial version of the nixos cd insallation test script using
qemu_kvm. Installation doesn't take place yet. VM is started
printing a remote controlled "Hello".

This serves as example how to run a vm within a bulid job.

svn path=/nixos/trunk/; revision=18887
2009-12-11 00:51:13 +00:00
Marc Weber
5cb52cc7cb nixos vms tests: use relative path to services, nixpkgs because this is more like to work if you don't put the repos in /etc/nixos/
svn path=/nixos/trunk/; revision=18330
2009-11-11 23:54:54 +00:00
Nicolas Pierron
e07f1e98db * Revert 18115, 18150, 18135, 18112, 18107-18105.
Revert modifications done on apache-httpd configurations.


svn path=/nixos/trunk/; revision=18215
2009-11-06 16:23:25 +00:00
Nicolas Pierron
72f804c9b2 * Fix subversion test and change the name of the "config" option to
"configuration" because it may interfered with sub-modules keywords.

svn path=/nixos/trunk/; revision=18155
2009-11-05 19:24:02 +00:00
Nicolas Pierron
ca00f6f3f8 * Fix nix-build errors of tests.
svn path=/nixos/trunk/; revision=18151
2009-11-05 18:21:09 +00:00
Nicolas Pierron
35c14bb11a * Add a test to avoid regression of (NIXOS-85).
svn path=/nixos/trunk/; revision=17979
2009-10-27 19:19:48 +00:00
Nicolas Pierron
2e34baba3b Rename environment.extraPackages to environment.systemPackages.
svn path=/nixos/trunk/; revision=17705
2009-10-07 17:14:25 +00:00
Sander van der Burg
d6b1b4615a Shortened the Trac test expression a bit to make it more readable
svn path=/nixos/trunk/; revision=16965
2009-09-04 23:04:29 +00:00
Sander van der Burg
4c2650d015 - The repository is no longer explicitly created on the storage server, but on the webserver in which the /repos dir is a NFS mount
- NFS mounts are created during startup time
- Played a bit with waiting times in order to capture a nice screenshot


svn path=/nixos/trunk/; revision=16964
2009-09-04 22:06:54 +00:00
Eelco Dolstra
fc69e22e3a * Timing dependency is bad.
svn path=/nixos/trunk/; revision=16961
2009-09-04 15:33:21 +00:00
Eelco Dolstra
80eafedc16 svn path=/nixos/trunk/; revision=16959 2009-09-04 15:26:30 +00:00
Eelco Dolstra
3f65966653 * Test konqueror.
svn path=/nixos/trunk/; revision=16958
2009-09-04 15:02:52 +00:00
Sander van der Burg
7fc8a1fd98 Fixed some bugs in the Trac testcase
svn path=/nixos/trunk/; revision=16957
2009-09-04 14:45:30 +00:00
Sander van der Burg
65cb814f7a Committed trac example case
svn path=/nixos/trunk/; revision=16955
2009-09-04 11:37:07 +00:00
Eelco Dolstra
a27680ea17 * Another distributed regression test, a network consisting of a Quake
3 server and two clients.  The clients connect to the server and do
  nothing (except getting blown by the bots).  After a few seconds we
  verify that the clients indeed connected successfully, and make a
  screenshot of the X displays of the clients.

svn path=/nixos/trunk/; revision=16951
2009-09-03 00:04:43 +00:00
Eelco Dolstra
497760b444 * Use scrot to make screenshots.
* Another X11 test (running Quake 3).

svn path=/nixos/trunk/; revision=16949
2009-09-02 23:16:33 +00:00
Eelco Dolstra
6ee7ccf07f * Automatically log in using kdm.
svn path=/nixos/trunk/; revision=16941
2009-09-02 18:44:09 +00:00
Eelco Dolstra
cddc93cc5e * Start of a simple GUI test. Right now it just starts the X server,
wait a few seconds and makes a screenshot.

svn path=/nixos/trunk/; revision=16934
2009-09-02 14:48:28 +00:00
Eelco Dolstra
0ca8c84618 svn path=/nixos/trunk/; revision=16924 2009-09-02 08:42:43 +00:00
Eelco Dolstra
137c5c65bd * Added a timeout for starting the VM. TODO: handle SIGCHLD from
qemu.
* Do the subversion test on i686-linux.  

svn path=/nixos/trunk/; revision=16923
2009-09-02 08:36:30 +00:00
Eelco Dolstra
37134cf3af svn path=/nixos/trunk/; revision=16921 2009-09-02 06:45:50 +00:00
Eelco Dolstra
e7acca2ba3 * Cleanup the kernel coverage analysis.
svn path=/nixos/trunk/; revision=16919
2009-09-01 22:50:46 +00:00
Eelco Dolstra
4d8d704fba * Run the subversion.nix test with coverage analysis on the kernel.
svn path=/nixos/trunk/; revision=16917
2009-09-01 22:22:45 +00:00
Eelco Dolstra
9359bf11d5 * Build the Subversion test in Hydra (as a regression test for NixOS).
* Pass the location to the services tree around instead of requiring
  it to be in ../services.

svn path=/nixos/trunk/; revision=16901
2009-08-31 14:56:19 +00:00
Eelco Dolstra
27a8e656bc * Stuff for automatic and manual testing of NixOS VMs.
lib/build-vms.nix contains a function `buildVirtualNetwork' that
  takes a specification of a network of machines (as an attribute set
  of NixOS machine configurations) and builds a script that starts
  each configuration in a separate QEMU/KVM VM and connects them
  together in a virtual network.  This script can be run manually to
  test the VMs interactively.  There is also a function `runTests'
  that starts and runs the virtual network in a derivation, and
  then executes a test specification that tells the VMs to do certain
  things (i.e., letting one VM send an HTTP request to a webserver on
  another VM).  The tests are written in Perl (for now).

  tests/subversion.nix shows a simple example, namely a network of two
  machines: a webserver that runs the Subversion subservice, and a
  client.  Apache, Subversion and a few other packages are built with
  coverage analysis instrumentation.  For instance,

    $ nix-build tests/subversion.nix -A vms
    $ ./result/bin/run-vms

  starts two QEMU/KVM instances.  When they have finished booting, the
  webserver can be accessed from the host through
  http://localhost:8081/.

  It also has a small test suite:

    $ nix-build tests/subversion.nix -A report

  This runs the VMs in a derivation, runs the tests, and then produces
  a distributed code coverage analysis report (i.e. it shows the
  combined coverage on both machines).

  The Perl test driver program is in lib/test-driver.  It executes
  commands on the guest machines by connecting to a root shell running
  on port 514 (provided by modules/testing/test-instrumentation.nix).

  The VMs are connected together in a virtual network using QEMU's
  multicast feature.  This isn't very secure.  At the very least,
  other processes on the same machine can listen to or send packets on
  the virtual network.  On the plus side, we don't need to be root to
  set up a multicast virtual network, so we can do it from a
  derivation.  Maybe we can use VDE instead.

  (Moved from the vario repository.)

svn path=/nixos/trunk/; revision=16899
2009-08-31 14:25:12 +00:00
Eelco Dolstra
921b838149 * test -> tests.
svn path=/nixos/trunk/; revision=16897
2009-08-31 13:40:57 +00:00