2020-04-25 20:07:43 +00:00
|
|
|
{ # The pkgs used for dependencies for the testing itself
|
|
|
|
# Don't test properties of pkgs.lib, but rather the lib in the parent directory
|
|
|
|
pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; }
|
|
|
|
}:
|
2015-02-08 21:51:20 +00:00
|
|
|
|
2021-08-15 15:12:23 +00:00
|
|
|
pkgs.runCommand "nixpkgs-lib-tests" {
|
2020-04-25 20:07:43 +00:00
|
|
|
buildInputs = [
|
|
|
|
pkgs.nix
|
|
|
|
(import ./check-eval.nix)
|
|
|
|
(import ./maintainers.nix {
|
|
|
|
inherit pkgs;
|
|
|
|
lib = import ../.;
|
|
|
|
})
|
|
|
|
];
|
2019-07-10 09:45:52 +00:00
|
|
|
} ''
|
2017-04-25 00:12:43 +00:00
|
|
|
datadir="${pkgs.nix}/share"
|
|
|
|
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
|
|
|
|
cacheDir=$TEST_ROOT/binary-cache
|
2021-11-03 23:19:30 +00:00
|
|
|
|
|
|
|
mkdir -p $NIX_CONF_DIR
|
|
|
|
echo "experimental-features = nix-command" >> $NIX_CONF_DIR/nix.conf
|
|
|
|
|
2017-04-25 00:12:43 +00:00
|
|
|
nix-store --init
|
2015-02-08 21:51:20 +00:00
|
|
|
|
2020-03-14 19:07:02 +00:00
|
|
|
cp -r ${../.} lib
|
2021-02-05 23:15:33 +00:00
|
|
|
echo "Running lib/tests/modules.sh"
|
2020-03-14 19:07:02 +00:00
|
|
|
bash lib/tests/modules.sh
|
2015-02-08 21:51:20 +00:00
|
|
|
|
2021-02-05 23:15:33 +00:00
|
|
|
echo "Running lib/tests/sources.sh"
|
|
|
|
TEST_LIB=$PWD/lib bash lib/tests/sources.sh
|
|
|
|
|
2017-04-25 00:12:43 +00:00
|
|
|
touch $out
|
2019-07-10 09:45:52 +00:00
|
|
|
''
|