Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Aycan iRiCAN 2014-06-28 17:32:15 +03:00
commit 83e224cacb
44 changed files with 128 additions and 13 deletions

View File

@ -37,7 +37,7 @@ rec {
# `driver' is the script that runs the network.
runTests = driver:
stdenv.mkDerivation {
name = "vm-test-run";
name = "vm-test-run-${driver.testName}";
requiredSystemFeatures = [ "kvm" "nixos-test" ];
@ -68,9 +68,10 @@ rec {
makeTest =
{ testScript, makeCoverageReport ? false, ... } @ t:
{ testScript, makeCoverageReport ? false, name ? "unnamed", ... } @ t:
let
testDriverName = "nixos-test-driver-${name}";
nodes = buildVirtualNetwork (
t.nodes or (if t ? machine then { machine = t.machine; } else { }));
@ -88,10 +89,11 @@ rec {
# Generate onvenience wrappers for running the test driver
# interactively with the specified network, and for starting the
# VMs from the command line.
driver = runCommand "nixos-test-driver"
driver = runCommand testDriverName
{ buildInputs = [ makeWrapper];
testScript = testScript';
preferLocalBuild = true;
testName = name;
}
''
mkdir -p $out/bin

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, ... }:

View File

@ -95,4 +95,7 @@ rec {
darcsToGit = callPackage ./darcs-to-git { };
gitflow = callPackage ./gitflow { };
git-remote-hg = callPackage ./git-remote-hg { };
}

View File

@ -0,0 +1,35 @@
{ stdenv, fetchgit, mercurial, makeWrapper,
asciidoc, xmlto, dbus, docbook_xsl, docbook_xml_dtd_45, libxslt, libxml2
}:
stdenv.mkDerivation rec {
rev = "185852eac44c25ae2e8d3b3fb6c9630e754e6363";
version = "v0.2-185852eac44c25ae2e8d3b3fb6c9630e754e6363";
name = "git-remote-hg-${version}";
src = fetchgit {
inherit rev;
url = "git://github.com/felipec/git-remote-hg.git";
sha256 = "1hc65nvxq7if1imwffyxia0i6vnkbax09gfcl9vq9yffzi8xzzfy";
};
buildInputs = [ mercurial.python mercurial makeWrapper
asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt libxml2
];
doCheck = false;
installFlags = "HOME=\${out}";
postInstall = ''
wrapProgram $out/bin/git-remote-hg \
--prefix PYTHONPATH : "$(echo ${mercurial}/lib/python*/site-packages):$(echo ${mercurial.python}/lib/python*/site-packages)${stdenv.lib.concatMapStrings (x: ":$(echo ${x}/lib/python*/site-packages)") mercurial.pythonPackages}"
'';
meta = with stdenv.lib; {
homepage = "https://github.com/felipec/git-remote-hg";
description = "semi-official Mercurial bridge from Git project, once installed, it allows you to clone, fetch and push to and from Mercurial repositories as if they were Git ones";
license = licenses.gpl2;
maintainers = [ maintainers.garbas ];
};
}

View File

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0ks9gsnhxrs2vccc6ha9m8xmj83lmw09xcws4zc0k57q4jcy5bgk";
};
buildInputs = [ libunwind ];
buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
# some packages want to link to the static tcmalloc_minimal
# to drop the runtime dependency on gperftools
@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = https://code.google.com/p/gperftools/;
description = "Fast, multi-threaded malloc() and nifty performance analysis tools";
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
}

View File

@ -0,0 +1,25 @@
{ stdenv, fetchgit, nix }:
stdenv.mkDerivation {
name = "nix-plugins-1.0.0";
src = fetchgit {
url = git://github.com/shlevy/nix-plugins.git;
rev = "refs/tags/1.0.0";
sha256 = "e624de55cabc9014e77f21978d657089ae94ce161584b3d9dc3c9763658421b3";
};
buildInputs = [ nix ];
buildFlags = [ "NIX_INCLUDE=${nix}/include" ];
installFlags = [ "PREFIX=$(out)" ];
meta = {
description = "Collection of miscellaneous plugins for the nix expression language";
homepage = https://github.com/shlevy/nix-plugins;
license = stdenv.lib.licenses.mit;
maintaners = [ stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ perl pkgconfig ];
buildInputs = [ curl openssl boehmgc sqlite ];
buildInputs = [ curl openssl sqlite ];
propagatedBuildInputs = [ boehmgc ];
# Note: bzip2 is not passed as a build input, because the unpack phase
# would end up using the wrong bzip2 when cross-compiling.

View File

@ -5708,6 +5708,10 @@ let
newt = callPackage ../development/libraries/newt { };
nix-plugins = callPackage ../development/libraries/nix-plugins {
nix = pkgs.nixUnstable;
};
nspr = callPackage ../development/libraries/nspr { };
nss = lowPrio (callPackage ../development/libraries/nss { });