How to skip some checks?

Hello!

I’m trying to skip two checks:

  nixpkgs.overlays = [     (
      final: prev: { 
        python311Packages = prev.python311Packages // { numpy = prev.python311Packages.numpy.overrideAttrs (_: rec { 
          doCheck = false;
          doInstallCheck = false;
          postPatch = ''
            rm numpy/core/tests/test_cython.py
            rm numpy/core/tests/test_umath_accuracy.py
            rm numpy/core/tests/test_*.py
          '';
          disabledTests = lib.optionals stdenv.isx86_64 [
            "test_validate_transcendentals"
          ] ++ lib.optionals stdenv.isi686 [
            "test_new_policy" # AssertionError: assert False
            "test_identityless_reduction_huge_array" # ValueError: Maximum allowed dimension exceeded
            "test_float_remainder_overflow" # AssertionError: FloatingPointError not raised by divmod
            "test_int" # AssertionError: selectedintkind(19): expected 16 but got -1
          ] ++ lib.optionals stdenv.isAarch32 [
            "test_impossible_feature_enable" # AssertionError: Failed to generate error
            "test_features" # AssertionError: Failure Detection
            "test_new_policy" # AssertionError: assert False
            "test_identityless_reduction_huge_array" # ValueError: Maximum allowed dimension exceeded
            "test_unary_spurious_fpexception"#  AssertionError: Got warnings: [<warnings.WarningMessage object at 0xd1197430>]
            "test_int" # AssertionError: selectedintkind(19): expected 16 but got -1
            "test_real" # AssertionError: selectedrealkind(16): expected 10 but got -1
            "test_quad_precision" # AssertionError: selectedrealkind(32): expected 16 but got -1
            "test_big_arrays" # ValueError: array is too big; `arr.size * arr.dtype.itemsize` is larger tha...
            "test_multinomial_pvals_float32" # Failed: DID NOT RAISE <class 'ValueError'>
          ] ++ lib.optionals stdenv.isAarch64 [
            "test_big_arrays" # OOM on a 16G machine
          ];
        }); };

        haskellPackages = prev.haskellPackages // { cryptonite = prev.haskellPackages.cryptonite.overrideAttrs (_: rec { 
          doCheck = false;
          doInstallCheck = false;
        }); };
      }
    )
  ];

but still have this errors

error: builder for '/nix/store/483yv8hi29kvcazx6x54hmadr2yalzvi-python3.11-numpy-1.25.2.drv' failed with exit code 1;
       last 10 log lines:
       >
       > lib/python3.11/site-packages/numpy/tests/test_matlib.py::test_eye
       >   /nix/store/8dx8cgq6580cz1vssl2f4zfniy2hd03p-python3.11-numpy-1.25.2/lib/python3.11/site-packages/numpy/tests/test_matlib.py:37: PendingDeprecationWarning: the matrix subclass is not the recommended way to represent matrices or deal with linear algebra (see https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html). Please adjust your code to use regular ndarray.
       >     assert_array_equal(xf, np.matrix([[ 1,  0,  0,  0],
       >
       > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
       > =========================== short test summary info ============================
       > FAILED lib/python3.11/site-packages/numpy/core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals - AssertionError: Arrays are not almost equal up to 2 ULP (max difference is ...
       > = 1 failed, 35343 passed, 1624 skipped, 1308 deselected, 31 xfailed, 4 xpassed, 618 warnings in 133.93s (0:02:13) =
error: builder for '/nix/store/rb71vbszcbdvcw2zkwk2j9i791dp1zvi-cryptonite-0.30.drv' failed with exit code 1;
       last 10 log lines:
       >       1:                                     OK
       >       2:                                     OK
       >       3:                                     OK
       >       4:                                     OK
       >       5:                                     OK
       >       6:                                     OK
       >       7:                                     OK
       > Test suite test-cryptonite: FAIL
       > Test suite logged to: dist/test/cryptonite-0.30-test-cryptonite.log
       > 0 of 1 test suites (0 of 1 test cases) passed.
       For full logs, run 'nix log /nix/store/rb71vbszcbdvcw2zkwk2j9i791dp1zvi-cryptonite-0.30.drv'.

I have successfully build ~3400 of packages and this two are blocking the rest of 88 to complete
As I can understand this happened because I’m playing with CPU flags

  nix.settings.system-features = [ "big-parallel" "kvm" "gccarch-skylake" "gcctune-skylake" ];
  nixpkgs.hostPlatform = {
    gcc.arch = "skylake";
    gcc.tune = "skylake";
    system = "x86_64-linux";
  };

How could I bypass two of these tests or skip checks for both packages?

Finally I did it, hope this would be useful for someone else

Full system rebuilded with CPU optimisation from master commit (github:nixos/nixpkgs/a5741b3dcfecaa0223756afc8de31ae445de6ab9)

  ### full KDE Gear ###
  ++ (with lib; filter isDerivation (attrValues pkgs.plasma5Packages.kdeGear))

Failed tests was passed with overlay to disable checks for Python packages with packages extensions
and with override to disable checks for Haskell packages with Cabal override
(I add some words for search engine)

  nixpkgs.overlays = [ (final: prev: {
    pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ (pyfinal: pyprev: {
      numpy = pyprev.numpy.overridePythonAttrs (oldAttrs: {
        postPatch = ''
          rm numpy/core/tests/test_cython.py
          rm numpy/core/tests/test_umath_accuracy.py
          rm numpy/core/tests/test_*.py
        '';
        doCheck = false;
        doInstallCheck = false;
        dontCheck = true;
        disabledTests = [
          "test_math"
          "test_umath_accuracy"
          "test_validate_transcendentals"
        ];
      });
      scipy = pyprev.scipy.overridePythonAttrs (oldAttrs: {
        doCheck = false;
        doInstallCheck = false;
        dontCheck = true;
      });
      pandas = pyprev.pandas.overridePythonAttrs (oldAttrs: {
        doCheck = false;
        doInstallCheck = false;
        dontCheck = true;
      });
      eventlet = pyprev.eventlet.overridePythonAttrs (oldAttrs: {
        doCheck = false;
        doInstallCheck = false;
        dontCheck = true;
      });
      aiohttp = pyprev.aiohttp.overridePythonAttrs (oldAttrs: {
        doCheck = false;
        doInstallCheck = false;
        dontCheck = true;
      });
      websockets = pyprev.websockets.overridePythonAttrs (oldAttrs: {
        doCheck = false; #test hanged
        doInstallCheck = false;
        dontCheck = true;
      });
    }) ];
  }) ];
  nixpkgs.config.packageOverrides = pkgs: {
    haskellPackages = pkgs.haskellPackages.override {
      overrides = hsSelf: hsSuper: {
        cryptonite  = pkgs.haskell.lib.overrideCabal hsSuper.cryptonite  (oa: {
          doCheck = false;
        });
        x509-validation  = pkgs.haskell.lib.overrideCabal hsSuper.x509-validation  (oa: {
          doCheck = false;
        });
      };
    };
  };