nixpkgs/pkgs/development/python-modules/psutil/default.nix
Jean-Paul Calderone 31bc4ea688 python3Packages.psutil: Skip another test with a build impurity
The outcome of the temperature sensor tests depends on hardware sensors
present on the build machine so they can cause the build to succeed due just
to build system configuration.
2023-03-22 09:16:42 -04:00

73 lines
1.8 KiB
Nix

{ lib
, stdenv
, buildPythonPackage
, CoreFoundation
, fetchPypi
, IOKit
, pytestCheckHook
, python
, pythonOlder
}:
buildPythonPackage rec {
pname = "psutil";
version = "5.9.4";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-PX+XOetDXUsTOJRKviP0lYS95TlfJ0h9LuJa2ah3SmI=";
};
buildInputs =
# workaround for https://github.com/NixOS/nixpkgs/issues/146760
lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
CoreFoundation
] ++ lib.optionals stdenv.isDarwin [
IOKit
];
nativeCheckInputs = [
pytestCheckHook
];
# Segfaults on darwin:
# https://github.com/giampaolo/psutil/issues/1715
doCheck = !stdenv.isDarwin;
# In addition to the issues listed above there are some that occure due to
# our sandboxing which we can work around by disabling some tests:
# - cpu_times was flaky on darwin
# - the other disabled tests are likely due to sanboxing (missing specific errors)
pytestFlagsArray = [
# Note: $out must be referenced as test import paths are relative
"$out/${python.sitePackages}/psutil/tests/test_system.py"
];
disabledTests = [
# Some of the tests have build-system hardware-based impurities (like
# reading temperature sensor values). Disable them to avoid the failures
# that sometimes result.
"cpu_freq"
"cpu_times"
"disk_io_counters"
"sensors_battery"
"sensors_temperatures"
"user"
"test_disk_partitions" # problematic on Hydra's Linux builders, apparently
];
pythonImportsCheck = [
"psutil"
];
meta = with lib; {
description = "Process and system utilization information interface";
homepage = "https://github.com/giampaolo/psutil";
license = licenses.bsd3;
maintainers = with maintainers; [ jonringer ];
};
}