112ee89501
* A better substitute mechanism. Instead of generating a store expression for each store path for which we have a substitute, we can have a single store expression that builds a generic program that is invoked to build the desired store path, which is passed as an argument. This means that operations like `nix-pull' only produce O(1) files instead of O(N) files in the store when registering N substitutes. (It consumes O(N) database storage, of course, but that's not a performance problem). * Added a test for the substitute mechanism. * `nix-store --substitute' reads the substitutes from standard input, instead of from the command line. This prevents us from running into the kernel's limit on command line length.
34 lines
No EOL
896 B
Makefile
34 lines
No EOL
896 B
Makefile
TEST_ROOT = $(shell pwd)/test-tmp
|
|
|
|
extra1 = $(TEST_ROOT)/shared
|
|
|
|
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)/.. \
|
|
SHARED=$(extra1) \
|
|
$(SHELL) -e -x
|
|
|
|
simple.sh: simple.nix
|
|
dependencies.sh: dependencies.nix
|
|
locking.sh: locking.nix
|
|
parallel.sh: parallel.nix
|
|
build-hook.sh: build-hook.nix
|
|
substitutes.sh: substitutes.nix substituter.nix
|
|
|
|
TESTS = init.sh simple.sh dependencies.sh locking.sh parallel.sh \
|
|
build-hook.sh substitutes.sh
|
|
|
|
XFAIL_TESTS =
|
|
|
|
include ../substitute.mk
|
|
|
|
EXTRA_DIST = $(TESTS) \
|
|
simple.nix.in simple.builder.sh \
|
|
dependencies.nix.in dependencies.builder*.sh \
|
|
locking.nix.in locking.builder.sh \
|
|
parallel.nix.in parallel.builder.sh \
|
|
build-hook.nix.in build-hook.hook.sh
|