summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-03-19 01:20:02 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-03-19 01:20:02 +0100
commitea402a255f9c03a644d256b0d1443a986a2bbebb (patch)
tree027c3f75e32377b1fc725e245b56330046150ae8 /tests
parent4b23900ff1568270c9a03ccadc1cbd0b872e4ef7 (diff)
downloadguix-ea402a255f9c03a644d256b0d1443a986a2bbebb.tar.gz
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.am6
-rw-r--r--tests/common.sh.in13
-rw-r--r--tests/gc-runtime.sh4
-rw-r--r--tests/hash.sh2
-rw-r--r--tests/init.sh29
-rw-r--r--tests/logging.sh4
6 files changed, 12 insertions, 46 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d60226fd2d..f44caa4b39 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 316562f67b..0f46e5f4ec 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 df662bd0ea..a44195756f 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 de18028eaa..d659bbe34e 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 777f95f779..37480f52bd 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 8cedb47065..2879354cb2 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...