Merge pull request #124201 from fabaff/tests-pyppeteer

python3Packages.pyppeteer: enable tests
This commit is contained in:
Fabian Affolter 2021-05-26 22:24:44 +02:00 committed by GitHub
commit 40ab718862
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 109 additions and 8 deletions

View file

@ -1,25 +1,94 @@
{ buildPythonPackage, fetchPypi, lib, urllib3, pyee, tqdm, websockets, appdirs }: { lib
, appdirs
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, poetry-core
, pyee
, pytest-xdist
, pytestCheckHook
, pythonOlder
, syncer
, tqdm
, urllib3
, websockets
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyppeteer"; pname = "pyppeteer";
version = "0.2.5"; version = "0.2.5";
disabled = pythonOlder "3.6";
format = "pyproject";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = pname;
sha256 = "c2974be1afa13b17f7ecd120d265d8b8cd324d536a231c3953ca872b68aba4af"; repo = pname;
rev = version;
sha256 = "1hl4rw8j5yiak0d34vx1l1blr8125bscjd8m46a5m8xzm98csjc7";
}; };
# tests want to write to /homeless-shelter nativeBuildInputs = [
doCheck = false; poetry-core
];
propagatedBuildInputs = [ propagatedBuildInputs = [
appdirs appdirs
websockets
tqdm
pyee pyee
tqdm
urllib3 urllib3
websockets
]; ];
checkInputs = [
syncer
pytest-xdist
pytestCheckHook
];
patches = [
# Switch to poetry-core, https://github.com/pyppeteer/pyppeteer/pull/262
(fetchpatch {
name = "switch-poetry-core.patch";
url = "https://github.com/pyppeteer/pyppeteer/commit/e248baebefcf262fd96f261d940e74ed49ba2df9.patch";
sha256 = "03g8n35kn2alqki37s0hf2231fk2zkr4nr1x1g2rfrhps9d6fyvw";
})
];
postPatch = ''
# https://github.com/pyppeteer/pyppeteer/pull/252
substituteInPlace pyproject.toml \
--replace 'websockets = "^8.1"' 'websockets = "*"'
'';
disabledTestPaths = [
# Requires network access
"tests/test_browser.py"
"tests/test_browser_context.py"
"tests/test_connection.py"
"tests/test_coverage.py"
"tests/test_dialog.py"
"tests/test_element_handle.py"
"tests/test_execution_context.py"
"tests/test_frame.py"
"tests/test_input.py"
"tests/test_launcher.py"
"tests/test_network.py"
"tests/test_page.py"
"tests/test_pyppeteer.py"
"tests/test_target.py"
"tests/test_tracing.py"
"tests/test_worker.py"
];
disabledTests = [
# Requires network access
"TestScreenShot"
"TestBrowserCrash"
"TestPDF"
];
pythonImportsCheck = [ "pyppeteer" ];
meta = { meta = {
description = "Headless chrome/chromium automation library (unofficial port of puppeteer)"; description = "Headless chrome/chromium automation library (unofficial port of puppeteer)";
homepage = "https://github.com/pyppeteer/pyppeteer"; homepage = "https://github.com/pyppeteer/pyppeteer";

View file

@ -0,0 +1,30 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "syncer";
version = "1.3.0";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "miyakogi";
repo = pname;
rev = "v${version}";
sha256 = "13y8jllix1ipkcg9lxa4nxk8kj24vivxfizf4d02cdrha9dw500v";
};
# Tests require an not maintained package (xfail)
doCheck = false;
pythonImportsCheck = [ "syncer" ];
meta = with lib; {
description = "Python async to sync converter";
homepage = "https://github.com/miyakogi/syncer";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -8064,6 +8064,8 @@ in {
sympy = callPackage ../development/python-modules/sympy { }; sympy = callPackage ../development/python-modules/sympy { };
syncer = callPackage ../development/python-modules/syncer { };
systembridge = callPackage ../development/python-modules/systembridge { }; systembridge = callPackage ../development/python-modules/systembridge { };
systemd = callPackage ../development/python-modules/systemd { systemd = callPackage ../development/python-modules/systemd {