From 334e22c2d753553bd0b171aa4683a6a1a12fac76 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 16 Oct 2024 17:38:22 +0200 Subject: [PATCH] python312Packages.httpserver: refactor - enable tests - add pythonImportsCheck --- .../python-modules/httpserver/default.nix | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/httpserver/default.nix b/pkgs/development/python-modules/httpserver/default.nix index 9b65a6341ced..222933a85dd6 100644 --- a/pkgs/development/python-modules/httpserver/default.nix +++ b/pkgs/development/python-modules/httpserver/default.nix @@ -1,30 +1,49 @@ { lib, - fetchPypi, buildPythonPackage, docopt, + fetchPypi, + freezegun, + pytestCheckHook, + pythonOlder, + selenium, + setuptools, }: buildPythonPackage rec { pname = "httpserver"; version = "1.1.0"; - format = "setuptools"; + pyproject = true; - buildInputs = [ docopt ]; - - # Tests pull in lots of other dependencies to emulate different web - # drivers. - doCheck = false; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "1q62g324dvb0hqdwwrnj41sqr4d3ly78v9nc26rz1whj4pwdmhsv"; + hash = "sha256-W8Pa+CUS8vCzEcymjY6no5GMdSDSZs4bhmDtRsR4wuA="; }; + build-system = [ setuptools ]; + + dependencies = [ docopt ]; + + nativeCheckInputs = [ + freezegun + selenium + pytestCheckHook + ]; + + pythonImportsCheck = [ "httpserver" ]; + + disabledTestPaths = [ + # Tests want driver for Firefox + "tests/test_selenium.py" + ]; + meta = { description = "Asyncio implementation of an HTTP server"; - mainProgram = "httpserver"; homepage = "https://github.com/thomwiggers/httpserver"; license = with lib.licenses; [ bsd3 ]; + maintainers = [ ]; + mainProgram = "httpserver"; }; }