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:
parent
fd927c5d25
commit
256eeab711
9 changed files with 86 additions and 13 deletions
19
tests/Makefile.am
Normal file
19
tests/Makefile.am
Normal 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
18
tests/init.sh
Normal 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
11
tests/simple.builder.sh
Normal 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
6
tests/simple.nix.in
Normal file
|
@ -0,0 +1,6 @@
|
|||
derivation {
|
||||
name = "simple";
|
||||
system = "@system@";
|
||||
builder = "@shell@";
|
||||
args = ["-e" "-x" ./simple.builder.sh];
|
||||
}
|
10
tests/simple.sh
Normal file
10
tests/simple.sh
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue