name nixos tests, close #3078
This commit is contained in:
parent
6a3e6164bd
commit
9b7dbcc83e
|
@ -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 =
|
||||||
|
|
|
@ -23,6 +23,7 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
name = "bittorrent";
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
{ tracker =
|
{ tracker =
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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, ... }:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix ({ pkgs, ... }: {
|
import ./make-test.nix ({ pkgs, ... }: {
|
||||||
|
name = "firefox";
|
||||||
|
|
||||||
machine =
|
machine =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
|
@ -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 =
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "gnome3";
|
||||||
|
|
||||||
machine =
|
machine =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "gnome3_12";
|
||||||
|
|
||||||
machine =
|
machine =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 =
|
||||||
''
|
''
|
||||||
|
|
|
@ -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, ... }: { };
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix ({ pkgs, ... }: {
|
import ./make-test.nix ({ pkgs, ... }: {
|
||||||
|
name = "kde4";
|
||||||
|
|
||||||
machine =
|
machine =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
|
@ -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 = [ ]; };
|
||||||
|
|
|
@ -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, ... }:
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
# elasticsearch is started.
|
# elasticsearch is started.
|
||||||
|
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "logstash";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
one =
|
one =
|
||||||
|
|
|
@ -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, ... }:
|
||||||
|
|
|
@ -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, ... }: {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
# machine.
|
# machine.
|
||||||
|
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "munin";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
one =
|
one =
|
||||||
|
|
|
@ -6,6 +6,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
name = "mysql-replication";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
master =
|
master =
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "mysql";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
master =
|
master =
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
# for the client.
|
# for the client.
|
||||||
|
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "nat";
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
{ client =
|
{ client =
|
||||||
|
|
|
@ -17,6 +17,7 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
name = "nfs";
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
{ client1 = client;
|
{ client1 = client;
|
||||||
|
|
|
@ -16,6 +16,7 @@ let
|
||||||
];
|
];
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
name = "openssh";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix ({ pkgs, ... }: {
|
import ./make-test.nix ({ pkgs, ... }: {
|
||||||
|
name = "phabricator";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
storage =
|
storage =
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
name = "proxy";
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
{ proxy =
|
{ proxy =
|
||||||
|
|
|
@ -13,6 +13,7 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
name = "quake3";
|
||||||
|
|
||||||
makeCoverageReport = true;
|
makeCoverageReport = true;
|
||||||
|
|
||||||
|
|
|
@ -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, ... }: {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "simple"
|
||||||
|
|
||||||
machine = { config, pkgs, ... }: { };
|
machine = { config, pkgs, ... }: { };
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
name = "subversion";
|
||||||
|
|
||||||
nodes =
|
nodes =
|
||||||
{ webserver =
|
{ webserver =
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "tomcat";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
server =
|
server =
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix ({ pkgs, ... }: {
|
import ./make-test.nix ({ pkgs, ... }: {
|
||||||
|
name = "trac";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
storage =
|
storage =
|
||||||
|
|
|
@ -10,6 +10,7 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
name = "udisks2";
|
||||||
|
|
||||||
machine =
|
machine =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import ./make-test.nix {
|
import ./make-test.nix {
|
||||||
|
name = "xfce";
|
||||||
|
|
||||||
machine =
|
machine =
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
Loading…
Reference in New Issue