1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-25 02:21:16 +02:00

* Allow the location of the store etc. to be specified using

environment variables.
* Started adding some automatic tests.
* Do a `make check' when building RPMs.
This commit is contained in:
Eelco Dolstra 2004-05-04 12:15:30 +00:00
parent fd927c5d25
commit 256eeab711
9 changed files with 86 additions and 13 deletions

19
tests/Makefile.am Normal file
View file

@ -0,0 +1,19 @@
TEST_ROOT = $(shell pwd)/test-tmp
TESTS_ENVIRONMENT = TEST_ROOT=$(TEST_ROOT) \
NIX_STORE_DIR=$(TEST_ROOT)/store \
NIX_DATA_DIR=$(TEST_ROOT)/data \
NIX_LOG_DIR=$(TEST_ROOT)/log \
NIX_STATE_DIR=$(TEST_ROOT)/state \
NIX_DB_DIR=$(TEST_ROOT)/db \
TOP=$(shell pwd)/.. \
$(SHELL) -e -x
simple.sh: simple.nix
TESTS = init.sh simple.sh
include ../substitute.mk
EXTRA_DIST = \
simple.nix.in simple.builder.sh

18
tests/init.sh Normal file
View file

@ -0,0 +1,18 @@
test -n "$TEST_ROOT"
if test -d "$TEST_ROOT"; then
chmod -R u+w "$TEST_ROOT"
rm -rf "$TEST_ROOT"
fi
mkdir "$TEST_ROOT"
mkdir "$NIX_STORE_DIR"
mkdir "$NIX_DATA_DIR"
mkdir "$NIX_LOG_DIR"
mkdir "$NIX_STATE_DIR"
mkdir "$NIX_DB_DIR"
# Initialise the database.
$TOP/src/nix-store/nix-store --init
# Did anything happen?
test -e "$NIX_DB_DIR"/validpaths

11
tests/simple.builder.sh Normal file
View file

@ -0,0 +1,11 @@
echo "PATH=$PATH"
# Verify that the PATH is empty.
if mkdir foo; then exit 1; fi
# Set a PATH (!!! impure).
export PATH=/bin:/usr/bin:$PATH
mkdir $out
echo "Hello World!" > $out/hello

6
tests/simple.nix.in Normal file
View file

@ -0,0 +1,6 @@
derivation {
name = "simple";
system = "@system@";
builder = "@shell@";
args = ["-e" "-x" ./simple.builder.sh];
}

10
tests/simple.sh Normal file
View file

@ -0,0 +1,10 @@
storeExpr=$($TOP/src/nix-instantiate/nix-instantiate simple.nix)
echo "store expr is $storeExpr"
outPath=$($TOP/src/nix-store/nix-store -qnfvvvvv "$storeExpr")
echo "output path is $outPath"
text=$(cat "$outPath"/hello)
if test "$text" != "Hello World!"; then exit 1; fi