forked from mirrors/nixpkgs
51097933ab
* 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
30 lines
698 B
Nix
30 lines
698 B
Nix
{ nixpkgs ? ../../nixpkgs
|
|
, services ? ../../services
|
|
, system ? builtins.currentSystem
|
|
}:
|
|
|
|
let
|
|
|
|
testLib =
|
|
(import ../lib/build-vms.nix { inherit nixpkgs services system; }) //
|
|
(import ../lib/testing.nix { inherit nixpkgs services system; });
|
|
|
|
apply = testFun:
|
|
with testLib;
|
|
let
|
|
t = testFun { inherit pkgs testLib; };
|
|
in t // rec {
|
|
nodes = if t ? nodes then t.nodes else { machine = t.machine; };
|
|
vms = buildVirtualNetwork { inherit nodes; };
|
|
test = runTests vms t.testScript;
|
|
report = makeReport test;
|
|
};
|
|
|
|
in
|
|
|
|
{
|
|
kde4 = apply (import ./kde4.nix);
|
|
quake3 = apply (import ./quake3.nix);
|
|
subversion = apply (import ./subversion.nix);
|
|
}
|