diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-03-19T00·20+0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2012-03-19T00·20+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 d60226fd2d55..f44caa4b3953 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 316562f67b5f..0f46e5f4ec21 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 df662bd0ea90..a44195756f52 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 de18028eaa0f..d659bbe34e8f 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 777f95f77970..37480f52bd5b 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 8cedb470656b..2879354cb24d 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... |