diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-03-19 01:20:02 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-03-19 01:20:02 +0100 |
commit | ea402a255f9c03a644d256b0d1443a986a2bbebb (patch) | |
tree | 027c3f75e32377b1fc725e245b56330046150ae8 /tests | |
parent | 4b23900ff1568270c9a03ccadc1cbd0b872e4ef7 (diff) |
Replace "make check" with "make installcheck"
Ensuring that the tests work from the build tree requires a growing
number of nasty hacks. The tests also don't verify that the installed
Nix actually works. Thus, the tests now require "make install" to
have been run.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 6 | ||||
-rw-r--r-- | tests/common.sh.in | 13 | ||||
-rw-r--r-- | tests/gc-runtime.sh | 4 | ||||
-rw-r--r-- | tests/hash.sh | 2 | ||||
-rw-r--r-- | tests/init.sh | 29 | ||||
-rw-r--r-- | tests/logging.sh | 4 |
6 files changed, 12 insertions, 46 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index d60226fd2..f44caa4b3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -40,3 +40,9 @@ EXTRA_DIST = $(TESTS) \ import-derivation.nix \ $(wildcard lang/*.nix) $(wildcard lang/*.exp) $(wildcard lang/*.exp.xml) $(wildcard lang/*.flags) $(wildcard lang/dir*/*.nix) \ common.sh.in + +# Hacky. +check-am: + @echo "Warning: Nix has no 'make check'. Please install Nix and run 'make installcheck' instead." + +installcheck: check-TESTS diff --git a/tests/common.sh.in b/tests/common.sh.in index 316562f67..0f46e5f4e 100644 --- a/tests/common.sh.in +++ b/tests/common.sh.in @@ -1,9 +1,6 @@ set -e -export top_srcdir="@abs_top_srcdir@" -export top_builddir="@abs_top_builddir@" - -export TOP=$(pwd)/.. +datadir="@datadir@" export TEST_ROOT=$(pwd)/test-tmp export NIX_STORE_DIR @@ -17,18 +14,12 @@ export NIX_LOG_DIR=$TEST_ROOT/var/log/nix export NIX_STATE_DIR=$TEST_ROOT/var/nix export NIX_DB_DIR=$TEST_ROOT/db export NIX_CONF_DIR=$TEST_ROOT/etc -export NIX_BIN_DIR=$TEST_ROOT/bin -export NIX_LIBEXEC_DIR=$TEST_ROOT/bin export NIX_MANIFESTS_DIR=$TEST_ROOT/var/nix/manifests -export NIX_ROOT_FINDER= -export NIX_PATH=nix=$TOP/corepkgs export SHARED=$TEST_ROOT/shared -export PATH=$NIX_BIN_DIR:$TOP/scripts:$PATH +export PATH=@bindir@:$PATH export NIX_BUILD_HOOK= -export PERL=perl -export PERL5LIB=$TOP/perl/lib:$PERL5LIB export dot=@dot@ export xmllint="@xmllint@" export xmlflags="@xmlflags@" diff --git a/tests/gc-runtime.sh b/tests/gc-runtime.sh index df662bd0e..a44195756 100644 --- a/tests/gc-runtime.sh +++ b/tests/gc-runtime.sh @@ -26,9 +26,7 @@ echo PID=$child nix-env -p $profiles/test -e gc-runtime nix-env -p $profiles/test --delete-generations old -cp $TOP/scripts/find-runtime-roots.pl $TEST_ROOT/foo.pl -chmod +x $TEST_ROOT/foo.pl -NIX_ROOT_FINDER=$TEST_ROOT/foo.pl nix-store --gc +nix-store --gc kill -- -$child diff --git a/tests/hash.sh b/tests/hash.sh index de18028ea..d659bbe34 100644 --- a/tests/hash.sh +++ b/tests/hash.sh @@ -46,7 +46,7 @@ chmod +x $TEST_ROOT/hash-path/hello try2 md5 "20f3ffe011d4cfa7d72bfabef7882836" # Mtime and other bits don't. -touch -r $TOP $TEST_ROOT/hash-path/hello +touch -r . $TEST_ROOT/hash-path/hello chmod 744 $TEST_ROOT/hash-path/hello try2 md5 "20f3ffe011d4cfa7d72bfabef7882836" diff --git a/tests/init.sh b/tests/init.sh index 777f95f77..37480f52b 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -16,20 +16,6 @@ mkdir "$NIX_STATE_DIR" mkdir "$NIX_DB_DIR" mkdir "$NIX_CONF_DIR" -mkdir $NIX_BIN_DIR -ln -s $TOP/src/nix-store/nix-store $NIX_BIN_DIR/ -ln -s $TOP/src/nix-instantiate/nix-instantiate $NIX_BIN_DIR/ -ln -s $TOP/src/nix-hash/nix-hash $NIX_BIN_DIR/ -ln -s $TOP/src/nix-env/nix-env $NIX_BIN_DIR/ -ln -s $TOP/src/nix-worker/nix-worker $NIX_BIN_DIR/ -ln -s $TOP/src/bsdiff-*/bsdiff $NIX_BIN_DIR/ -ln -s $TOP/src/bsdiff-*/bspatch $NIX_BIN_DIR/ -ln -s $TOP/scripts/nix-prefetch-url $NIX_BIN_DIR/ -ln -s $TOP/scripts/nix-build $NIX_BIN_DIR/ -ln -s $TOP/scripts/nix-pull $NIX_BIN_DIR/ -mkdir -p $NIX_BIN_DIR/nix/substituters -ln -s $TOP/scripts/copy-from-other-stores.pl $NIX_BIN_DIR/nix/substituters - cat > "$NIX_CONF_DIR"/nix.conf <<EOF gc-keep-outputs = false gc-keep-derivations = false @@ -37,21 +23,6 @@ env-keep-derivations = false fsync-metadata = false EOF -# An uberhack for Mac OS X 10.5: download-using-manifests uses Perl, -# and Perl links against Darwin's libutil.dylib (in /usr/lib), but -# when running "make check", the libtool wrapper script around the Nix -# binaries sets DYLD_LIBRARY_PATH so that Perl finds Nix's (completely -# different) libutil --- so it barfs. So generate a shell wrapper -# around download-using-manifests that clears DYLD_LIBRARY_PATH. -cat > $NIX_BIN_DIR/nix/substituters/download-using-manifests.pl <<EOF -#! $SHELL -e -export DYLD_LIBRARY_PATH= -exec "$top_builddir/libtool" --mode=execute \ - -dlopen "$top_builddir/perl/libNixStore.la" \ - "$top_builddir/scripts/download-using-manifests.pl" "\$@" -EOF -chmod +x $NIX_BIN_DIR/nix/substituters/download-using-manifests.pl - # Initialise the database. nix-store --init diff --git a/tests/logging.sh b/tests/logging.sh index 8cedb4706..2879354cb 100644 --- a/tests/logging.sh +++ b/tests/logging.sh @@ -7,7 +7,7 @@ set -x nix-build --log-type escapes -vv dependencies.nix 2> $TEST_ROOT/log.esc # Convert it to an XML representation. -$TOP/src/nix-log2xml/nix-log2xml < $TEST_ROOT/log.esc > $TEST_ROOT/log.xml +nix-log2xml < $TEST_ROOT/log.esc > $TEST_ROOT/log.xml # Is this well-formed XML? if test "$xmllint" != "false"; then @@ -16,7 +16,7 @@ fi # Convert to HTML. if test "$xsltproc" != "false"; then - (cd $TOP/src/nix-log2xml && $xsltproc mark-errors.xsl - | $xsltproc log2html.xsl -) < $TEST_ROOT/log.xml > $TEST_ROOT/log.html + (cd $datadir/nix/log2html && $xsltproc mark-errors.xsl - | $xsltproc log2html.xsl -) < $TEST_ROOT/log.xml > $TEST_ROOT/log.html # Ideally we would check that the generated HTML is valid... # A few checks... |