name nixos tests, close #3078

This commit is contained in:
Florian Friesdorf 2014-06-28 16:04:49 +02:00
parent 6a3e6164bd
commit 9b7dbcc83e
37 changed files with 51 additions and 7 deletions

View file

@ -1,6 +1,7 @@
# Test whether `avahi-daemon' and `libnss-mdns' work as expected.
import ./make-test.nix {
name = "avahi";
nodes = {
one =

View file

@ -23,6 +23,7 @@ let
in
{
name = "bittorrent";
nodes =
{ tracker =

View file

@ -6,6 +6,8 @@
with import ../lib/build-vms.nix { inherit nixos nixpkgs system; };
rec {
name = "check-filesystems";
nodes = {
share = {pkgs, config, ...}: {
services.nfs.server.enable = true;

View file

@ -1,6 +1,7 @@
# Test for NixOS' container support.
import ./make-test.nix {
name = "containers";
machine =
{ config, pkgs, ... }:

View file

@ -1,4 +1,5 @@
import ./make-test.nix ({ pkgs, ... }: {
name = "firefox";
machine =
{ config, pkgs, ... }:

View file

@ -1,6 +1,7 @@
# Test the firewall module.
import ./make-test.nix {
name = "firewall";
nodes =
{ walled =

View file

@ -1,4 +1,5 @@
import ./make-test.nix {
name = "gnome3";
machine =
{ config, pkgs, ... }:

View file

@ -1,4 +1,5 @@
import ./make-test.nix {
name = "gnome3_12";
machine =
{ config, pkgs, ... }:

View file

@ -1,6 +1,8 @@
# This test runs influxdb and checks if influxdb is up and running
import ./make-test.nix {
name = "influxdb";
nodes = {
one = { config, pkgs, ... }: {
services.influxdb.enable = true;

View file

@ -215,10 +215,11 @@ let
'';
makeInstallerTest =
makeInstallerTest = name:
{ createPartitions, testChannel ? false, useEFI ? false, grubVersion ? 2, grubDevice ? "/dev/vda" }:
makeTest {
inherit iso;
name = "installer-" + name;
nodes = if testChannel then { inherit webserver; } else { };
testScript = testScriptFun {
inherit createPartitions testChannel useEFI grubVersion grubDevice;
@ -233,7 +234,7 @@ in {
# The (almost) simplest partitioning scheme: a swap partition and
# one big filesystem partition.
simple = makeInstallerTest
simple = makeInstallerTest "simple"
{ createPartitions =
''
$machine->succeed(
@ -251,7 +252,7 @@ in {
};
# Same as the previous, but now with a separate /boot partition.
separateBoot = makeInstallerTest
separateBoot = makeInstallerTest "separateBoot"
{ createPartitions =
''
$machine->succeed(
@ -273,7 +274,7 @@ in {
# Create two physical LVM partitions combined into one volume group
# that contains the logical swap and root partitions.
lvm = makeInstallerTest
lvm = makeInstallerTest "lvm"
{ createPartitions =
''
$machine->succeed(
@ -295,7 +296,7 @@ in {
'';
};
swraid = makeInstallerTest
swraid = makeInstallerTest "swraid"
{ createPartitions =
''
$machine->succeed(
@ -328,7 +329,7 @@ in {
};
# Test a basic install using GRUB 1.
grub1 = makeInstallerTest
grub1 = makeInstallerTest "grub1"
{ createPartitions =
''
$machine->succeed(
@ -348,7 +349,7 @@ in {
};
# Test an EFI install.
efi = makeInstallerTest
efi = makeInstallerTest "efi"
{ createPartitions =
''
$machine->succeed(
@ -369,6 +370,7 @@ in {
# Rebuild the CD configuration with a little modification.
rebuildCD = makeTest
{ inherit iso;
name = "rebuild-CD";
nodes = { };
testScript =
''

View file

@ -2,6 +2,7 @@
# solicication/advertisement using radvd works.
import ./make-test.nix {
name = "ipv6";
nodes =
{ client = { config, pkgs, ... }: { };

View file

@ -4,6 +4,7 @@
# 3. jenkins service not started on slave node
import ./make-test.nix {
name = "jenkins";
nodes = {

View file

@ -1,4 +1,5 @@
import ./make-test.nix ({ pkgs, ... }: {
name = "kde4";
machine =
{ config, pkgs, ... }:

View file

@ -1,6 +1,7 @@
# Test whether fast reboots via kexec work.
import ./make-test.nix {
name = "kexec";
machine = { config, pkgs, ... }:
{ virtualisation.vlans = [ ]; };

View file

@ -1,6 +1,7 @@
import ./make-test.nix ({ pkgs, latestKernel ? false, ... }:
{
name = "login";
machine =
{ config, pkgs, lib, ... }:

View file

@ -2,6 +2,7 @@
# elasticsearch is started.
import ./make-test.nix {
name = "logstash";
nodes = {
one =

View file

@ -1,6 +1,7 @@
# Miscellaneous small tests that don't warrant their own VM run.
import ./make-test.nix {
name = "misc";
machine =
{ config, lib, pkgs, ... }:

View file

@ -1,6 +1,8 @@
# Simple example to showcase distributed tests using NixOS VMs.
import ./make-test.nix {
name = "mpich";
nodes = {
master =
{ config, pkgs, ... }: {

View file

@ -7,6 +7,8 @@ let
};
in
{
name = "mumble";
nodes = {
server = { config, pkgs, ... }: {
services.murmur.enable = true;

View file

@ -2,6 +2,7 @@
# machine.
import ./make-test.nix {
name = "munin";
nodes = {
one =

View file

@ -6,6 +6,8 @@ let
in
{
name = "mysql-replication";
nodes = {
master =
{ pkgs, config, ... }:

View file

@ -1,4 +1,5 @@
import ./make-test.nix {
name = "mysql";
nodes = {
master =

View file

@ -5,6 +5,7 @@
# for the client.
import ./make-test.nix {
name = "nat";
nodes =
{ client =

View file

@ -17,6 +17,7 @@ let
in
{
name = "nfs";
nodes =
{ client1 = client;

View file

@ -16,6 +16,7 @@ let
];
in {
name = "openssh";
nodes = {

View file

@ -63,6 +63,8 @@ let
logvol / --size=1000 --grow --fstype=ext4 --name=root --vgname=nixos
'';
in {
name = "partitiion";
machine = { config, pkgs, ... }: {
environment.systemPackages = [
pkgs.pythonPackages.nixpart

View file

@ -1,4 +1,5 @@
import ./make-test.nix ({ pkgs, ... }: {
name = "phabricator";
nodes = {
storage =

View file

@ -1,6 +1,7 @@
# Test printing via CUPS.
import ./make-test.nix ({pkgs, ... }: {
name = "printing";
nodes = {

View file

@ -14,6 +14,7 @@ let
in
{
name = "proxy";
nodes =
{ proxy =

View file

@ -13,6 +13,7 @@ let
in
rec {
name = "quake3";
makeCoverageReport = true;

View file

@ -1,6 +1,7 @@
# This test runs rabbitmq and checks if rabbitmq is up and running.
import ./make-test.nix ({ pkgs, ... }: {
name = "rabbitmq";
nodes = {
one = { config, pkgs, ... }: {

View file

@ -1,4 +1,5 @@
import ./make-test.nix {
name = "simple"
machine = { config, pkgs, ... }: { };

View file

@ -32,6 +32,7 @@ let
in
{
name = "subversion";
nodes =
{ webserver =

View file

@ -1,4 +1,5 @@
import ./make-test.nix {
name = "tomcat";
nodes = {
server =

View file

@ -1,4 +1,5 @@
import ./make-test.nix ({ pkgs, ... }: {
name = "trac";
nodes = {
storage =

View file

@ -10,6 +10,7 @@ let
in
{
name = "udisks2";
machine =
{ config, pkgs, ... }:

View file

@ -1,4 +1,5 @@
import ./make-test.nix {
name = "xfce";
machine =
{ config, pkgs, ... }: