python3Packages.pyparsing: enable optional testing

This commit is contained in:
Jonathan Ringer 2022-01-13 18:41:58 -08:00 committed by Martin Weinelt
parent 96a92ca512
commit 8c2df17527

View File

@ -1,31 +1,48 @@
{ buildPythonPackage
, fetchFromGitHub
, lib
# since this is a dependency of pytest, we need to avoid
# circular dependencies
, jinja2
, railroad-diagrams
}:
buildPythonPackage rec {
pname = "pyparsing";
version = "3.0.6";
let
pyparsing = buildPythonPackage rec {
pname = "pyparsing";
version = "3.0.6";
src = fetchFromGitHub {
owner = "pyparsing";
repo = pname;
rev = "pyparsing_${version}";
sha256 = "0n89ky7rx5yg09ssji8liahnyxip08hz7syc2k4pmlgs4978181a";
};
src = fetchFromGitHub {
owner = "pyparsing";
repo = pname;
rev = "pyparsing_${version}";
sha256 = "0n89ky7rx5yg09ssji8liahnyxip08hz7syc2k4pmlgs4978181a";
};
# only do unit tests, as diagram tests require railroad, which has
# been unmaintained since 2015
checkPhase = ''
python -m unittest -k 'not testEmptyExpressionsAreHandledProperly' tests/test_unit.py
'';
meta = with lib; {
homepage = "https://github.com/pyparsing/pyparsing";
description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions";
license = licenses.mit;
maintainers = with maintainers; [
kamadorueda
# circular dependencies if enabled by default
doCheck = false;
checkInputs = [
jinja2
railroad-diagrams
];
checkPhase = ''
python -m unittest
'';
passthru.tests = {
check = pyparsing.overridePythonAttrs (_: { doCheck = true; });
};
meta = with lib; {
homepage = "https://github.com/pyparsing/pyparsing";
description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions";
license = licenses.mit;
maintainers = with maintainers; [
kamadorueda
];
};
};
}
in
pyparsing