diff options
author | Jonathan Ringer <jonringer117@gmail.com> | 2022-01-13 18:41:58 -0800 |
---|---|---|
committer | Martin Weinelt <hexa@darmstadt.ccc.de> | 2022-01-23 01:09:28 +0100 |
commit | 8c2df175273606a796915b25072d14ce30185f48 (patch) | |
tree | 3adb32e639c7de55bcb39df24f328da8b1b335ae /pkgs/development/python-modules/pyparsing | |
parent | 96a92ca512e71b404e64058634eedab0dd734807 (diff) |
python3Packages.pyparsing: enable optional testing
Diffstat (limited to 'pkgs/development/python-modules/pyparsing')
-rw-r--r-- | pkgs/development/python-modules/pyparsing/default.nix | 61 |
1 files changed, 39 insertions, 22 deletions
diff --git a/pkgs/development/python-modules/pyparsing/default.nix b/pkgs/development/python-modules/pyparsing/default.nix index 5e9326483fbe9..27047cf6eabc4 100644 --- a/pkgs/development/python-modules/pyparsing/default.nix +++ b/pkgs/development/python-modules/pyparsing/default.nix @@ -1,31 +1,48 @@ { buildPythonPackage , fetchFromGitHub , lib -}: -buildPythonPackage rec { - pname = "pyparsing"; - version = "3.0.6"; +# since this is a dependency of pytest, we need to avoid +# circular dependencies +, jinja2 +, railroad-diagrams +}: - src = fetchFromGitHub { - owner = "pyparsing"; - repo = pname; - rev = "pyparsing_${version}"; - sha256 = "0n89ky7rx5yg09ssji8liahnyxip08hz7syc2k4pmlgs4978181a"; - }; +let + pyparsing = buildPythonPackage rec { + pname = "pyparsing"; + version = "3.0.6"; - # 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 - ''; + src = fetchFromGitHub { + owner = "pyparsing"; + repo = pname; + rev = "pyparsing_${version}"; + sha256 = "0n89ky7rx5yg09ssji8liahnyxip08hz7syc2k4pmlgs4978181a"; + }; - 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 |