Add a test for the binary tarball installer

This commit is contained in:
Eelco Dolstra 2014-11-18 14:49:42 +01:00
parent 35aad73bb6
commit 5d064e2698
2 changed files with 24 additions and 6 deletions

View file

@ -211,14 +211,29 @@ let
# System tests. # System tests.
tests.remote_builds = (import ./tests/remote-builds.nix rec { tests.remoteBuilds = (import ./tests/remote-builds.nix rec {
nix = build.x86_64-linux; system = "x86_64-linux"; nix = build.x86_64-linux; system = "x86_64-linux";
}); });
tests.nix_copy_closure = (import ./tests/nix-copy-closure.nix rec { tests.nix-copy-closure = (import ./tests/nix-copy-closure.nix rec {
nix = build.x86_64-linux; system = "x86_64-linux"; nix = build.x86_64-linux; system = "x86_64-linux";
}); });
tests.binaryTarball =
with import <nixpkgs> { system = "x86_64-linux"; };
vmTools.runInLinuxImage (runCommand "nix-binary-tarball-test"
{ diskImage = vmTools.diskImages.ubuntu1204x86_64;
}
''
useradd -m alice
su - alice -c 'tar xf ${binaryTarball.x86_64-linux}/*.tar.*'
mount -t tmpfs none /nix # Provide a writable /nix.
chown alice /nix
su - alice -c '_NIX_INSTALLER_TEST=1 ./nix-*/install'
su - alice -c 'nix-store --verify'
su - alice -c 'nix-store -qR ${build.x86_64-linux}'
''); # */
# Aggregate job containing the release-critical jobs. # Aggregate job containing the release-critical jobs.
release = pkgs.releaseTools.aggregate { release = pkgs.releaseTools.aggregate {
@ -248,8 +263,9 @@ let
rpm_fedora19x86_64 rpm_fedora19x86_64
rpm_fedora20i386 rpm_fedora20i386
rpm_fedora20x86_64 rpm_fedora20x86_64
tests.remote_builds tests.remoteBuilds
tests.nix_copy_closure tests.nix-copy-closure
tests.binaryTarball
]; ];
}; };

View file

@ -17,7 +17,7 @@ if [ -z "$USER" ]; then
fi fi
if [ "$(id -u)" -eq 0 ]; then if [ "$(id -u)" -eq 0 ]; then
echo "warning: installing Nix as root is not recommended" >&2 printf '\e[1;31mwarning: installing Nix as root is not supported by this script!\e[0m\n'
fi fi
echo "performing a single-user installation of Nix..." >&2 echo "performing a single-user installation of Nix..." >&2
@ -79,7 +79,9 @@ if ! $nix/bin/nix-channel --list | grep -q "^nixpkgs "; then
$nix/bin/nix-channel --add http://nixos.org/channels/nixpkgs-unstable $nix/bin/nix-channel --add http://nixos.org/channels/nixpkgs-unstable
fi fi
fi fi
$nix/bin/nix-channel --update nixpkgs if [ -z "$_NIX_INSTALLER_TEST" ]; then
$nix/bin/nix-channel --update nixpkgs
fi
# Install an SSL certificate bundle. # Install an SSL certificate bundle.
$nix/bin/nix-env -iA nixpkgs.cacert || true $nix/bin/nix-env -iA nixpkgs.cacert || true