python311Packages.scipy: actually use pytestCheckHook

This commit is contained in:
Doron Behar 2024-01-13 23:09:04 +02:00
parent a23ee294e5
commit 8bd97eccd2

View File

@ -161,42 +161,9 @@ in buildPythonPackage {
#
hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
checkPhase = ''
runHook preCheck
# Adapted from pytestCheckHook because scipy uses a custom check phase.
# It needs to pass `$args` as a Python list to `scipy.test` rather than as
# arguments to pytest on the command-line.
args=""
if [ -n "$disabledTests" ]; then
disabledTestsString=$(_pytestComputeDisabledTestsString "''${disabledTests[@]}")
args+="'-k','$disabledTestsString'"
fi
if [ -n "''${disabledTestPaths-}" ]; then
eval "disabledTestPaths=($disabledTestPaths)"
fi
for path in ''${disabledTestPaths[@]}; do
if [ ! -e "$path" ]; then
echo "Disabled tests path \"$path\" does not exist. Aborting"
exit 1
fi
args+="''${args:+,}'--ignore=\"$path\"'"
done
args+="''${args:+,}$(printf \'%s\', "''${pytestFlagsArray[@]}")"
args=''${args%,}
pushd "$out"
preCheck = ''
export OMP_NUM_THREADS=$(( $NIX_BUILD_CORES / 4 ))
${python.interpreter} -c "import scipy, sys; sys.exit(scipy.test(
'fast',
verbose=10,
extra_argv=[$args],
parallel=$NIX_BUILD_CORES
) != True)"
popd
runHook postCheck
cd $out
'';
requiredSystemFeatures = [ "big-parallel" ]; # the tests need lots of CPU time