{ nixpkgs ? ../../.., system ? builtins.currentSystem, pkgs ? import nixpkgs { config = { }; overlays = [ ]; inherit system; }, nixVersions ? import ../../tests/nix-for-tests.nix { inherit pkgs; }, libpath ? ../.., # Random seed seed ? null, }: pkgs.runCommand "lib-path-tests" { nativeBuildInputs = [ nixVersions.stable ] ++ (with pkgs; [ jq bc ]); } '' # Needed to make Nix evaluation work export TEST_ROOT=$(pwd)/test-tmp export NIX_BUILD_HOOK= export NIX_CONF_DIR=$TEST_ROOT/etc export NIX_LOCALSTATE_DIR=$TEST_ROOT/var export NIX_LOG_DIR=$TEST_ROOT/var/log/nix export NIX_STATE_DIR=$TEST_ROOT/var/nix export NIX_STORE_DIR=$TEST_ROOT/store export PAGER=cat cp -r ${libpath} lib export TEST_LIB=$PWD/lib echo "Running unit tests lib/path/tests/unit.nix" nix-instantiate --eval --show-trace \ --argstr libpath "$TEST_LIB" \ lib/path/tests/unit.nix echo "Running property tests lib/path/tests/prop.sh" bash lib/path/tests/prop.sh ${toString seed} touch $out ''