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. # Test whether `avahi-daemon' and `libnss-mdns' work as expected.
import ./make-test.nix { import ./make-test.nix {
name = "avahi";
nodes = { nodes = {
one = one =

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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