diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix index dfce61df6c6e..6f4ad1d2bd15 100644 --- a/pkgs/development/python-modules/scikit-learn/default.nix +++ b/pkgs/development/python-modules/scikit-learn/default.nix @@ -66,10 +66,30 @@ buildPythonPackage rec { doCheck = !stdenv.isAarch64; - # Skip test_feature_importance_regression - does web fetch - disabledTests = [ "test_feature_importance_regression" ]; + disabledTests = [ + # Skip test_feature_importance_regression - does web fetch + "test_feature_importance_regression" - pytestFlagsArray = [ "-n" "$NIX_BUILD_CORES" "--pyargs" "sklearn" ]; + # failing on macos + "check_regressors_train" + "check_classifiers_train" + "xfail_ignored_in_check_estimator" + ]; + + pytestFlagsArray = [ + # verbose build outputs needed to debug hard-to-reproduce hydra failures + "-v" + "--pyargs" "sklearn" + + # NuSVC memmap tests causes segmentation faults in certain environments + # (e.g. Hydra Darwin machines) related to a long-standing joblib issue + # (https://github.com/joblib/joblib/issues/563). See also: + # https://github.com/scikit-learn/scikit-learn/issues/17582 + # Since we are overriding '-k' we need to include the 'disabledTests' from above manually. + "-k" "'not (NuSVC and memmap) ${toString (lib.forEach disabledTests (t: "and not ${t}"))}'" + + "-n" "$NIX_BUILD_CORES" + ]; preCheck = '' cd $TMPDIR @@ -89,6 +109,6 @@ buildPythonPackage rec { "https://scikit-learn.org/stable/whats_new/v${major}.${minor}.html#version-${dashVer}"; homepage = "https://scikit-learn.org"; license = licenses.bsd3; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ davhau ]; }; }