Your message dated Wed, 06 Apr 2022 15:38:34 +0000
with message-id <[email protected]>
and subject line Bug#1005470: fixed in pyparsing 3.0.7-2
has caused the Debian Bug report #1005470,
regarding pyparsing: FTBFS: dh_auto_test: error: pybuild --test -i 
python{version} -p "3.10 3.9" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1005470: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005470
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: pyparsing
Version: 3.0.7-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ftbfs-20220212 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[2]: Entering directory '/<<PKGBUILDDIR>>/docs'
> Running Sphinx v4.3.2
> making output directory... done
> building [mo]: targets for 0 po files that are out of date
> building [html]: targets for 6 source files that are out of date
> updating environment: [new config] 6 added, 0 changed, 0 removed
> reading sources... [ 16%] CODE_OF_CONDUCT
> reading sources... [ 33%] HowToUsePyparsing
> reading sources... [ 50%] index
> reading sources... [ 66%] modules
> reading sources... [ 83%] pyparsing
> reading sources... [100%] whats_new_in_3_0_0
> 
> WARNING: invalid signature for autoclass 
> ('pyparsing::pyparsing_unicode.עִברִית')
> WARNING: don't know which module to import for autodocumenting 
> 'pyparsing::pyparsing_unicode.עִברִית' (try placing a "module" or 
> "currentmodule" directive in the document, or giving an explicit module name)
> WARNING: invalid signature for autoclass 
> ('pyparsing::pyparsing_unicode.देवनागरी')
> WARNING: don't know which module to import for autodocumenting 
> 'pyparsing::pyparsing_unicode.देवनागरी' (try placing a "module" or 
> "currentmodule" directive in the document, or giving an explicit module name)
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of pyparsing.core.OneOrMore:6: 
> WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/results.py:docstring of 
> pyparsing.results.ParseResults.List:11: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/results.py:docstring of 
> pyparsing.results.ParseResults.List:12: WARNING: Block quote ends without a 
> blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.__add__:1: WARNING: Inline interpreted text or 
> phrase reference start-string without end-string.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.__call__:6: WARNING: Inline literal start-string 
> without end-string.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.__mul__:6: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.__mul__:8: WARNING: Block quote ends without a 
> blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.create_diagram:5: WARNING: Unexpected 
> indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.create_diagram:6: WARNING: Block quote ends 
> without a blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.parse_string:11: WARNING: Inline interpreted 
> text or phrase reference start-string without end-string.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.parse_string:11: WARNING: Inline interpreted 
> text or phrase reference start-string without end-string.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.run_tests:9: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.run_tests:10: WARNING: Block quote ends without 
> a blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.run_tests:9: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.run_tests:10: WARNING: Block quote ends without 
> a blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.set_name:3: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.ParserElement.set_name:3: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of pyparsing.core.SkipTo:7: 
> WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of pyparsing.core.SkipTo:9: 
> WARNING: Block quote ends without a blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of 
> pyparsing.core.Suppress.__add__:1: WARNING: Inline interpreted text or phrase 
> reference start-string without end-string.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of pyparsing.core.Word:4: 
> WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of pyparsing.core.Word:7: 
> WARNING: Block quote ends without a blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/core.py:docstring of pyparsing.core.ZeroOrMore:6: 
> WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.infix_notation:15: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.infix_notation:16: WARNING: Block quote ends without a 
> blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.infix_notation:15: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.infix_notation:16: WARNING: Block quote ends without a 
> blank line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.nested_expr:6: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.nested_expr:7: WARNING: Block quote ends without a blank 
> line; unexpected unindent.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.nested_expr:6: WARNING: Unexpected indentation.
> /<<PKGBUILDDIR>>/pyparsing/__init__.py:docstring of 
> pyparsing.helpers.nested_expr:7: WARNING: Block quote ends without a blank 
> line; unexpected unindent.
> /<<PKGBUILDDIR>>/docs/whats_new_in_3_0_0.rst:203: WARNING: Title underline 
> too short.
> 
> Support for yielding native Python ``list`` and ``dict`` types in place of 
> ``ParseResults``
> -------------------------------------------------------------------------------
> /<<PKGBUILDDIR>>/docs/whats_new_in_3_0_0.rst:203: WARNING: Title underline 
> too short.
> 
> Support for yielding native Python ``list`` and ``dict`` types in place of 
> ``ParseResults``
> -------------------------------------------------------------------------------
> /<<PKGBUILDDIR>>/docs/whats_new_in_3_0_0.rst:229: WARNING: Title underline 
> too short.
> 
> New Located class to replace ``locatedExpr`` helper method
> ------------------------------------------------------
> /<<PKGBUILDDIR>>/docs/whats_new_in_3_0_0.rst:229: WARNING: Title underline 
> too short.
> 
> New Located class to replace ``locatedExpr`` helper method
> ------------------------------------------------------
> /<<PKGBUILDDIR>>/docs/whats_new_in_3_0_0.rst:282: WARNING: Title underline 
> too short.
> 
> New ``IndentedBlock`` class to replace ``indentedBlock`` helper method
> --------------------------------------------------------------
> /<<PKGBUILDDIR>>/docs/whats_new_in_3_0_0.rst:282: WARNING: Title underline 
> too short.
> 
> New ``IndentedBlock`` class to replace ``indentedBlock`` helper method
> --------------------------------------------------------------
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [ 16%] CODE_OF_CONDUCT
> writing output... [ 33%] HowToUsePyparsing
> writing output... [ 50%] index
> writing output... [ 66%] modules
> writing output... [ 83%] pyparsing
> writing output... [100%] whats_new_in_3_0_0
> 
> generating indices... genindex py-modindex done
> writing additional pages... search done
> copying static files... done
> copying extra files... done
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded, 41 warnings.
> 
> The HTML pages are in _build/html.
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/docs'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:237: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build; python3.10 -m 
> unittest discover -v 
> pyparsing.diagram (unittest.loader._FailedTest) ... ERROR
> tests.test_diagram (unittest.loader._FailedTest) ... ERROR
> test_delta_time (tests.test_examples.TestExamples) ... ERROR
> test_eval_arith (tests.test_examples.TestExamples) ... ERROR
> test_numerics (tests.test_examples.TestExamples) ... ERROR
> test_oc (tests.test_examples.TestExamples) ... ERROR
> test_roman_numerals (tests.test_examples.TestExamples) ... ERROR
> test_select_parser (tests.test_examples.TestExamples) ... ERROR
> test_sexp_parser (tests.test_examples.TestExamples) ... ERROR
> test_tap (tests.test_examples.TestExamples) ... ERROR
> runTest (tests.test_simple_unit.PyparsingExpressionTestCase) ... ok
> runTest (tests.test_simple_unit.TestCaselessLiteral) ... ok
> runTest (tests.test_simple_unit.TestCombine) ... ok
> runTest (tests.test_simple_unit.TestCommonHelperExpressions) ... ok
> runTest (tests.test_simple_unit.TestGroups) ... ok
> runTest (tests.test_simple_unit.TestLiteral) ... ok
> runTest (tests.test_simple_unit.TestParseAction) ... ok
> runTest (tests.test_simple_unit.TestParseCondition) ... ok
> runTest (tests.test_simple_unit.TestRegex) ... ok
> runTest (tests.test_simple_unit.TestRepetition) ... ok
> runTest (tests.test_simple_unit.TestResultsModifyingParseAction) ... ok
> runTest (tests.test_simple_unit.TestResultsName) ... ok
> runTest (tests.test_simple_unit.TestTransformStringUsingParseActions) ... ok
> runTest (tests.test_simple_unit.TestWhitespaceMethods) ... 
> Match colors, converting to consistent case - ZeroOrMore([{'RED' | 'GREEN' | 
> 'BLUE'}]...)
> ['RED', 'GREEN', 'BLUE', 'BLUE', 'GREEN', 'GREEN', 'RED']
> 
> Parsing real numbers - fail, parsed numbers are in pieces - 
> ZeroOrMore([{W:(0-9) '.' W:(0-9)}]...)
> ['1', '.', '2', '2', '.', '3', '3', '.', '1416', '98', '.', '6']
> 
> Parsing real numbers - better, use Combine to combine multiple tokens into 
> one - ZeroOrMore([Combine:({W:(0-9) '.' W:(0-9)})]...)
> ['1.2', '2.3', '3.1416', '98.6']
> 
> A comma-delimited list of words - And(W:(A-Za-z) [, W:(A-Za-z)]...)
> ['this', 'that', 'blah', 'foo', 'bar']
> 
> A counted array of words - ZeroOrMore([Group:((len) W:(ab)...)]...)
> [['aaa', 'bbb'], [], ['abab', 'bbaa', 'abbab']]
> [0]:
>   ['aaa', 'bbb']
> [1]:
>   []
> [2]:
>   ['abab', 'bbaa', 'abbab']
> 
> skipping comments with ignore - And({identifier '=' fnumber})
> ['abc_100', '=', 3.1416]
> - lhs: 'abc_100'
> - rhs: 3.1416
> 
> some pre-defined expressions in pyparsing_common, and building a dotted 
> identifier with delimted_list - And({number identifier [. identifier]... IPv4 
> address})
> [1001, 'www.google.com', '192.168.10.199']
> - id_num: 1001
> - ip_address: '192.168.10.199'
> - name: 'www.google.com'
> 
> using one_of (shortcut for Literal('a') | Literal('b') | Literal('c')) - 
> ZeroOrMore([a | b | c]...)
> ['a', 'b', 'a', 'b', 'b', 'a', 'c', 'c', 'a', 'b', 'b']
> 
> parsing nested parentheses - Forward(nested () expression)
> [['a', 'b', ['c'], 'd', ['e', 'f', 'g', []]]]
> [0]:
>   ['a', 'b', ['c'], 'd', ['e', 'f', 'g', []]]
>   [0]:
>     a
>   [1]:
>     b
>   [2]:
>     ['c']
>   [3]:
>     d
>   [4]:
>     ['e', 'f', 'g', []]
>     [0]:
>       e
>     [1]:
>       f
>     [2]:
>       g
>     [3]:
>       []
> 
> parsing nested braces - And({'if' nested () expression nested {} expression})
> ['if', [['x', '==', 'y'], '||', '!z'], ['printf(', '"{}"', ');']]
> - body: [['printf(', '"{}"', ');']]
>   [0]:
>     ['printf(', '"{}"', ');']
> - condition: [[['x', '==', 'y'], '||', '!z']]
>   [0]:
>     [['x', '==', 'y'], '||', '!z']
>     [0]:
>       ['x', '==', 'y']
>     [1]:
>       ||
>     [2]:
>       !z
> [0]:
>   if
> [1]:
>   [['x', '==', 'y'], '||', '!z']
>   [0]:
>     ['x', '==', 'y']
>   [1]:
>     ||
>   [2]:
>     !z
> [2]:
>   ['printf(', '"{}"', ');']
> 
> Define multiple results names in groups - ZeroOrMore([Group:({W:(A-Za-z) 
> Suppress:('=') number})]...)
> [['range', 5280], ['long', -138.52], ['lat', 46.91]]
> [0]:
>   ['range', 5280]
>   - key: 'range'
>   - value: 5280
> [1]:
>   ['long', -138.52]
>   - key: 'long'
>   - value: -138.52
> [2]:
>   ['lat', 46.91]
>   - key: 'lat'
>   - value: 46.91
> 
> Define multiple results names in groups - use Dict to define results names 
> using parsed keys - Dict(Dict:([Group:({W:(A-Za-z) Suppress:('=') 
> number})]...))
> [['range', 5280], ['long', -138.52], ['lat', 46.91]]
> - lat: 46.91
> - long: -138.52
> - range: 5280
> [0]:
>   ['range', 5280]
> [1]:
>   ['long', -138.52]
> [2]:
>   ['lat', 46.91]
> 
> Define multiple value types - Dict(Dict:([Group:({W:(A-Za-z) Suppress:('=') 
> {real number with scientific notation | real number | signed integer | True | 
> False | string enclosed in "'"}})]...))
> [['long', -122.47], ['lat', 37.82], ['public', 'True'], ['name', 'Golden Gate 
> Bridge']]
> - lat: 37.82
> - long: -122.47
> - name: 'Golden Gate Bridge'
> - public: 'True'
> [0]:
>   ['long', -122.47]
> [1]:
>   ['lat', 37.82]
> [2]:
>   ['public', 'True']
> [3]:
>   ['name', 'Golden Gate Bridge']
> 
> Simple match - Literal('xyz')
> ['xyz']
> 
> Simple match after skipping whitespace - Literal('xyz')
> ['xyz']
> 
> Simple fail - parse an empty string - Literal('xyz')
> 
> ^
> ParseException: Expected 'xyz'  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestLiteral
> 
> Simple fail - parse a mismatching string - Literal('xyz')
> xyu
> ^
> ParseException: Expected 'xyz', found 'xyu'  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestLiteral
> 
> Simple fail - parse a partially matching string - Literal('xyz')
> xy
> ^
> ParseException: Expected 'xyz', found 'xy'  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestLiteral
> 
> Fail - parse a partially matching string by matching individual letters - 
> And({'x' 'y' 'z'})
> xy
>   ^
> ParseException: Expected 'z', found end of text  (at char 2), (line:1, col:3)
> tests.test_simple_unit.TestLiteral
> 
> Parsing real numbers - use parse action to convert to float at parse time - 
> ZeroOrMore([Combine:({W:(0-9) '.' W:(0-9)})]...)
> [1.2, 2.3, 3.1416, 98.6]
> 
> Match with numeric string converted to int - _WordRegex(W:(0-9))
> [12345]
> 
> Use two parse actions to convert numeric string, then convert to datetime - 
> _WordRegex(W:(0-9))
> [datetime.datetime(2018, 9, 20, 3, 53, 48)]
> 
> Use tokenMap for parse actions that operate on a single-length token - 
> _WordRegex(W:(0-9))
> [datetime.datetime(2018, 9, 20, 3, 53, 48)]
> 
> Using a built-in function that takes a sequence of strs as a parse action - 
> ZeroOrMore([W:(0-9A-Fa-f){2}]...)
> ['0A:4B:73:21:FE:76']
> 
> Using a built-in function that takes a sequence of strs as a parse action - 
> ZeroOrMore([W:(0-9A-Fa-f){2}]...)
> ['0A', '21', '4B', '73', '76', 'FE']
> 
> Define a condition to only match numeric values that are multiples of 7 - 
> ZeroOrMore([W:(0-9)]...)
> ['14', '35', '77']
> 
> Separate conversion to int and condition into separate parse 
> action/conditions - ZeroOrMore([W:(0-9)]...)
> [14, 35, 77]
> 
> Parsing real numbers - using Regex instead of Combine - 
> ZeroOrMore([Re:('\d+\.\d+')]...)
> [1.2, 2.3, 3.1416, 98.6]
> 
> Match several words - ZeroOrMore([{W:(x) | W:(y)}]...)
> ['xx', 'y', 'xx', 'yy', 'xx', 'y', 'x', 'y', 'xxx', 'y']
> 
> Match several words, skipping whitespace - ZeroOrMore([{W:(x) | W:(y)}]...)
> ['x', 'x', 'y', 'xx', 'y', 'y', 'xx', 'y', 'x', 'y', 'x', 'xx', 'y']
> 
> Match several words, skipping whitespace (old style) - OneOrMore({{W:(x) | 
> W:(y)}}...)
> ['x', 'x', 'y', 'xx', 'y', 'y', 'xx', 'y', 'x', 'y', 'x', 'xx', 'y']
> 
> Match words and numbers - show use of results names to collect types of 
> tokens - ZeroOrMore([{W:(A-Za-z) | integer}]...)
> ['sdlfj', 23084, 'ksdfs', 8234, 'kjsdlfkjd', 934]
> - alpha: ['sdlfj', 'ksdfs', 'kjsdlfkjd']
> - int: [23084, 8234, 934]
> 
> Using delimited_list (comma is the default delimiter) - And(W:(A-Za-z) [, 
> W:(A-Za-z)]...)
> ['xxyx', 'xy', 'y', 'xxyx', 'yxx', 'xy']
> 
> Using delimited_list (comma is the default delimiter) with trailing delimiter 
> - And(W:(A-Za-z) [, W:(A-Za-z)]... [,])
> ['xxyx', 'xy', 'y', 'xxyx', 'yxx', 'xy']
> 
> Using delimited_list (comma is the default delimiter) with minimum size - 
> And(W:(A-Za-z) [, W:(A-Za-z)]...)
> xxyx,xy
>        ^
> ParseException: Expected ',', found end of text  (at char 7), (line:1, col:8)
> tests.test_simple_unit.TestRepetition
> 
> Using delimited_list (comma is the default delimiter) with maximum size - 
> And(W:(A-Za-z) [, W:(A-Za-z)]...)
> ['xxyx', 'xy', 'y']
> 
> Using delimited_list, with ':' delimiter - Combine(W:(0-9A-Fa-f){2} [: 
> W:(0-9A-Fa-f){2}]...)
> ['0A:4B:73:21:FE:76']
> 
> Using delimited_list, with ':' delimiter - Combine(W:(0-9A-Fa-f){2} [: 
> W:(0-9A-Fa-f){2}]... [:])
> ['0A:4B:73:21:FE:76:']
> 
> A parse action that adds new key-values - ZeroOrMore([integer]...)
> [27, 1, 14, 22, 89]
> - ave: 30.6
> - max: 89
> - min: 1
> - sum: 153
> 
> Match with results name - Literal('xyz')
> ['xyz']
> - value: 'xyz'
> 
> Match with results name - using naming short-cut - Literal('xyz')
> ['xyz']
> - value: 'xyz'
> 
> Define multiple results names - And({W:(A-Za-z, 0-9A-Za-z) '=' integer})
> ['range', '=', 5280]
> - key: 'range'
> - value: 5280
> 
> Use transformString to convert simple markup to HTML - And({* | _ | / '(' 
> !W:()) ')'})
> Show in <B>bold</B>, <U>underscore</U>, or <I>italic</I> type
> 
> The word foo - Literal('foo')
> ['foo']
> 
> The word foo - Literal('foo')
>       foo        
> ^
> ParseException: Expected 'foo', found ' '  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestWhitespaceMethods
> 
> The word foo - Literal('foo')
> ['foo']
> 
> The word foo - Literal('foo')
> ['foo']
> 
> If we recursively leave whitespace on the parent, this whitespace-dependent 
> grammar will succeed, even if the children themselves skip whitespace - 
> And({' foo' ' bar'})
> [' foo', ' bar']
> 
> If we recursively ignore whitespace in our parsing, this whitespace-dependent 
> grammar will fail, even if the children themselves keep whitespace - And({' 
> foo' ' bar'})
>  foo bar
>  ^
> ParseException: Expected ' foo', found 'foo'  (at char 1), (line:1, col:2)
> tests.test_simple_unit.TestWhitespaceMethods
> ok
> runTest (tests.test_simple_unit.TestWord) ... ok
> tests.test_unit (unittest.loader._FailedTest) ... ERROR
> 
> ======================================================================
> ERROR: pyparsing.diagram (unittest.loader._FailedTest)
> ----------------------------------------------------------------------
> ImportError: Failed to import test module: pyparsing.diagram
> Traceback (most recent call last):
>   File "/usr/lib/python3.10/unittest/loader.py", line 470, in _find_test_path
>     package = self._get_module_from_name(name)
>   File "/usr/lib/python3.10/unittest/loader.py", line 377, in 
> _get_module_from_name
>     __import__(name)
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/pyparsing/diagram/__init__.py",
>  line 1, in <module>
>     import railroad
> ModuleNotFoundError: No module named 'railroad'
> 
> 
> ======================================================================
> ERROR: tests.test_diagram (unittest.loader._FailedTest)
> ----------------------------------------------------------------------
> ImportError: Failed to import test module: tests.test_diagram
> Traceback (most recent call last):
>   File "/usr/lib/python3.10/unittest/loader.py", line 436, in _find_test_path
>     module = self._get_module_from_name(name)
>   File "/usr/lib/python3.10/unittest/loader.py", line 377, in 
> _get_module_from_name
>     __import__(name)
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_diagram.py",
>  line 4, in <module>
>     from examples.jsonParser import jsonObject
> ModuleNotFoundError: No module named 'examples'
> 
> 
> ======================================================================
> ERROR: test_delta_time (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 29, in test_delta_time
>     self._run("delta_time")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_eval_arith (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 32, in test_eval_arith
>     self._run("eval_arith")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_numerics (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 14, in test_numerics
>     self._run("numerics")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_oc (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 26, in test_oc
>     self._run("oc")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_roman_numerals (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 20, in test_roman_numerals
>     self._run("romanNumerals")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_select_parser (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 35, in test_select_parser
>     self._run("select_parser")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_sexp_parser (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 23, in test_sexp_parser
>     self._run("sexpParser")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_tap (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 17, in test_tap
>     self._run("TAP")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: tests.test_unit (unittest.loader._FailedTest)
> ----------------------------------------------------------------------
> ImportError: Failed to import test module: tests.test_unit
> Traceback (most recent call last):
>   File "/usr/lib/python3.10/unittest/loader.py", line 436, in _find_test_path
>     module = self._get_module_from_name(name)
>   File "/usr/lib/python3.10/unittest/loader.py", line 377, in 
> _get_module_from_name
>     __import__(name)
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build/tests/test_unit.py", 
> line 22, in <module>
>     from examples.jsonParser import jsonObject
> ModuleNotFoundError: No module named 'examples'
> 
> 
> ----------------------------------------------------------------------
> Ran 26 tests in 0.013s
> 
> FAILED (errors=11)
> 
> If we leave whitespace on the parent, but it isn't recursive, this 
> whitespace-dependent grammar will fail - And({' foo' ' bar'})
>  foo bar
>      ^
> ParseException: Expected ' bar', found 'bar'  (at char 5), (line:1, col:6)
> tests.test_simple_unit.TestWhitespaceMethods
> 
> If we recursively leave whitespace on the parent, this whitespace-dependent 
> grammar will succeed, even if the children themselves skip whitespace - 
> Opt([' foo'])
> [' foo']
> 
> If we ignore whitespace on the parent, but it isn't recursive, parsing will 
> fail because we skip to the first character 'f' before the internal expr can 
> see it - Opt([' foo'])
> []
> 
> Simple Word match - _WordRegex(W:(xy))
> ['xxyxxyy']
> 
> Simple Word match of two separate Words - And({W:(x) W:(y)})
> ['xxxxx', 'yy']
> 
> Simple Word match of two separate Words - implicitly skips whitespace - 
> And({W:(x) W:(y)})
> ['xxxxx', 'yy']
> E: pybuild pybuild:367: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_pyparsing/build; python3.10 -m 
> unittest discover -v 
> I: pybuild base:237: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build; python3.9 -m unittest 
> discover -v 
> pyparsing.diagram (unittest.loader._FailedTest) ... ERROR
> tests.test_diagram (unittest.loader._FailedTest) ... ERROR
> test_delta_time (tests.test_examples.TestExamples) ... ERROR
> test_eval_arith (tests.test_examples.TestExamples) ... ERROR
> test_numerics (tests.test_examples.TestExamples) ... ERROR
> test_oc (tests.test_examples.TestExamples) ... ERROR
> test_roman_numerals (tests.test_examples.TestExamples) ... ERROR
> test_select_parser (tests.test_examples.TestExamples) ... ERROR
> test_sexp_parser (tests.test_examples.TestExamples) ... ERROR
> test_tap (tests.test_examples.TestExamples) ... ERROR
> runTest (tests.test_simple_unit.PyparsingExpressionTestCase) ... ok
> runTest (tests.test_simple_unit.TestCaselessLiteral) ... ok
> runTest (tests.test_simple_unit.TestCombine) ... ok
> runTest (tests.test_simple_unit.TestCommonHelperExpressions) ... ok
> runTest (tests.test_simple_unit.TestGroups) ... ok
> runTest (tests.test_simple_unit.TestLiteral) ... ok
> runTest (tests.test_simple_unit.TestParseAction) ... ok
> runTest (tests.test_simple_unit.TestParseCondition) ... ok
> runTest (tests.test_simple_unit.TestRegex) ... ok
> runTest (tests.test_simple_unit.TestRepetition) ... ok
> runTest (tests.test_simple_unit.TestResultsModifyingParseAction) ... ok
> runTest (tests.test_simple_unit.TestResultsName) ... ok
> runTest (tests.test_simple_unit.TestTransformStringUsingParseActions) ... ok
> runTest (tests.test_simple_unit.TestWhitespaceMethods) ... 
> Match colors, converting to consistent case - ZeroOrMore([{'RED' | 'GREEN' | 
> 'BLUE'}]...)
> ['RED', 'GREEN', 'BLUE', 'BLUE', 'GREEN', 'GREEN', 'RED']
> 
> Parsing real numbers - fail, parsed numbers are in pieces - 
> ZeroOrMore([{W:(0-9) '.' W:(0-9)}]...)
> ['1', '.', '2', '2', '.', '3', '3', '.', '1416', '98', '.', '6']
> 
> Parsing real numbers - better, use Combine to combine multiple tokens into 
> one - ZeroOrMore([Combine:({W:(0-9) '.' W:(0-9)})]...)
> ['1.2', '2.3', '3.1416', '98.6']
> 
> A comma-delimited list of words - And(W:(A-Za-z) [, W:(A-Za-z)]...)
> ['this', 'that', 'blah', 'foo', 'bar']
> 
> A counted array of words - ZeroOrMore([Group:((len) W:(ab)...)]...)
> [['aaa', 'bbb'], [], ['abab', 'bbaa', 'abbab']]
> [0]:
>   ['aaa', 'bbb']
> [1]:
>   []
> [2]:
>   ['abab', 'bbaa', 'abbab']
> 
> skipping comments with ignore - And({identifier '=' fnumber})
> ['abc_100', '=', 3.1416]
> - lhs: 'abc_100'
> - rhs: 3.1416
> 
> some pre-defined expressions in pyparsing_common, and building a dotted 
> identifier with delimted_list - And({number identifier [. identifier]... IPv4 
> address})
> [1001, 'www.google.com', '192.168.10.199']
> - id_num: 1001
> - ip_address: '192.168.10.199'
> - name: 'www.google.com'
> 
> using one_of (shortcut for Literal('a') | Literal('b') | Literal('c')) - 
> ZeroOrMore([a | b | c]...)
> ['a', 'b', 'a', 'b', 'b', 'a', 'c', 'c', 'a', 'b', 'b']
> 
> parsing nested parentheses - Forward(nested () expression)
> [['a', 'b', ['c'], 'd', ['e', 'f', 'g', []]]]
> [0]:
>   ['a', 'b', ['c'], 'd', ['e', 'f', 'g', []]]
>   [0]:
>     a
>   [1]:
>     b
>   [2]:
>     ['c']
>   [3]:
>     d
>   [4]:
>     ['e', 'f', 'g', []]
>     [0]:
>       e
>     [1]:
>       f
>     [2]:
>       g
>     [3]:
>       []
> 
> parsing nested braces - And({'if' nested () expression nested {} expression})
> ['if', [['x', '==', 'y'], '||', '!z'], ['printf(', '"{}"', ');']]
> - body: [['printf(', '"{}"', ');']]
>   [0]:
>     ['printf(', '"{}"', ');']
> - condition: [[['x', '==', 'y'], '||', '!z']]
>   [0]:
>     [['x', '==', 'y'], '||', '!z']
>     [0]:
>       ['x', '==', 'y']
>     [1]:
>       ||
>     [2]:
>       !z
> [0]:
>   if
> [1]:
>   [['x', '==', 'y'], '||', '!z']
>   [0]:
>     ['x', '==', 'y']
>   [1]:
>     ||
>   [2]:
>     !z
> [2]:
>   ['printf(', '"{}"', ');']
> 
> Define multiple results names in groups - ZeroOrMore([Group:({W:(A-Za-z) 
> Suppress:('=') number})]...)
> [['range', 5280], ['long', -138.52], ['lat', 46.91]]
> [0]:
>   ['range', 5280]
>   - key: 'range'
>   - value: 5280
> [1]:
>   ['long', -138.52]
>   - key: 'long'
>   - value: -138.52
> [2]:
>   ['lat', 46.91]
>   - key: 'lat'
>   - value: 46.91
> 
> Define multiple results names in groups - use Dict to define results names 
> using parsed keys - Dict(Dict:([Group:({W:(A-Za-z) Suppress:('=') 
> number})]...))
> [['range', 5280], ['long', -138.52], ['lat', 46.91]]
> - lat: 46.91
> - long: -138.52
> - range: 5280
> [0]:
>   ['range', 5280]
> [1]:
>   ['long', -138.52]
> [2]:
>   ['lat', 46.91]
> 
> Define multiple value types - Dict(Dict:([Group:({W:(A-Za-z) Suppress:('=') 
> {real number with scientific notation | real number | signed integer | True | 
> False | string enclosed in "'"}})]...))
> [['long', -122.47], ['lat', 37.82], ['public', 'True'], ['name', 'Golden Gate 
> Bridge']]
> - lat: 37.82
> - long: -122.47
> - name: 'Golden Gate Bridge'
> - public: 'True'
> [0]:
>   ['long', -122.47]
> [1]:
>   ['lat', 37.82]
> [2]:
>   ['public', 'True']
> [3]:
>   ['name', 'Golden Gate Bridge']
> 
> Simple match - Literal('xyz')
> ['xyz']
> 
> Simple match after skipping whitespace - Literal('xyz')
> ['xyz']
> 
> Simple fail - parse an empty string - Literal('xyz')
> 
> ^
> ParseException: Expected 'xyz'  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestLiteral
> 
> Simple fail - parse a mismatching string - Literal('xyz')
> xyu
> ^
> ParseException: Expected 'xyz', found 'xyu'  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestLiteral
> 
> Simple fail - parse a partially matching string - Literal('xyz')
> xy
> ^
> ParseException: Expected 'xyz', found 'xy'  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestLiteral
> 
> Fail - parse a partially matching string by matching individual letters - 
> And({'x' 'y' 'z'})
> xy
>   ^
> ParseException: Expected 'z', found end of text  (at char 2), (line:1, col:3)
> tests.test_simple_unit.TestLiteral
> 
> Parsing real numbers - use parse action to convert to float at parse time - 
> ZeroOrMore([Combine:({W:(0-9) '.' W:(0-9)})]...)
> [1.2, 2.3, 3.1416, 98.6]
> 
> Match with numeric string converted to int - _WordRegex(W:(0-9))
> [12345]
> 
> Use two parse actions to convert numeric string, then convert to datetime - 
> _WordRegex(W:(0-9))
> [datetime.datetime(2018, 9, 20, 3, 53, 48)]
> 
> Use tokenMap for parse actions that operate on a single-length token - 
> _WordRegex(W:(0-9))
> [datetime.datetime(2018, 9, 20, 3, 53, 48)]
> 
> Using a built-in function that takes a sequence of strs as a parse action - 
> ZeroOrMore([W:(0-9A-Fa-f){2}]...)
> ['0A:4B:73:21:FE:76']
> 
> Using a built-in function that takes a sequence of strs as a parse action - 
> ZeroOrMore([W:(0-9A-Fa-f){2}]...)
> ['0A', '21', '4B', '73', '76', 'FE']
> 
> Define a condition to only match numeric values that are multiples of 7 - 
> ZeroOrMore([W:(0-9)]...)
> ['14', '35', '77']
> 
> Separate conversion to int and condition into separate parse 
> action/conditions - ZeroOrMore([W:(0-9)]...)
> [14, 35, 77]
> 
> Parsing real numbers - using Regex instead of Combine - 
> ZeroOrMore([Re:('\d+\.\d+')]...)
> [1.2, 2.3, 3.1416, 98.6]
> 
> Match several words - ZeroOrMore([{W:(x) | W:(y)}]...)
> ['xx', 'y', 'xx', 'yy', 'xx', 'y', 'x', 'y', 'xxx', 'y']
> 
> Match several words, skipping whitespace - ZeroOrMore([{W:(x) | W:(y)}]...)
> ['x', 'x', 'y', 'xx', 'y', 'y', 'xx', 'y', 'x', 'y', 'x', 'xx', 'y']
> 
> Match several words, skipping whitespace (old style) - OneOrMore({{W:(x) | 
> W:(y)}}...)
> ['x', 'x', 'y', 'xx', 'y', 'y', 'xx', 'y', 'x', 'y', 'x', 'xx', 'y']
> 
> Match words and numbers - show use of results names to collect types of 
> tokens - ZeroOrMore([{W:(A-Za-z) | integer}]...)
> ['sdlfj', 23084, 'ksdfs', 8234, 'kjsdlfkjd', 934]
> - alpha: ['sdlfj', 'ksdfs', 'kjsdlfkjd']
> - int: [23084, 8234, 934]
> 
> Using delimited_list (comma is the default delimiter) - And(W:(A-Za-z) [, 
> W:(A-Za-z)]...)
> ['xxyx', 'xy', 'y', 'xxyx', 'yxx', 'xy']
> 
> Using delimited_list (comma is the default delimiter) with trailing delimiter 
> - And(W:(A-Za-z) [, W:(A-Za-z)]... [,])
> ['xxyx', 'xy', 'y', 'xxyx', 'yxx', 'xy']
> 
> Using delimited_list (comma is the default delimiter) with minimum size - 
> And(W:(A-Za-z) [, W:(A-Za-z)]...)
> xxyx,xy
>        ^
> ParseException: Expected ',', found end of text  (at char 7), (line:1, col:8)
> tests.test_simple_unit.TestRepetition
> 
> Using delimited_list (comma is the default delimiter) with maximum size - 
> And(W:(A-Za-z) [, W:(A-Za-z)]...)
> ['xxyx', 'xy', 'y']
> 
> Using delimited_list, with ':' delimiter - Combine(W:(0-9A-Fa-f){2} [: 
> W:(0-9A-Fa-f){2}]...)
> ['0A:4B:73:21:FE:76']
> 
> Using delimited_list, with ':' delimiter - Combine(W:(0-9A-Fa-f){2} [: 
> W:(0-9A-Fa-f){2}]... [:])
> ['0A:4B:73:21:FE:76:']
> 
> A parse action that adds new key-values - ZeroOrMore([integer]...)
> [27, 1, 14, 22, 89]
> - ave: 30.6
> - max: 89
> - min: 1
> - sum: 153
> 
> Match with results name - Literal('xyz')
> ['xyz']
> - value: 'xyz'
> 
> Match with results name - using naming short-cut - Literal('xyz')
> ['xyz']
> - value: 'xyz'
> 
> Define multiple results names - And({W:(A-Za-z, 0-9A-Za-z) '=' integer})
> ['range', '=', 5280]
> - key: 'range'
> - value: 5280
> 
> Use transformString to convert simple markup to HTML - And({* | _ | / '(' 
> !W:()) ')'})
> Show in <B>bold</B>, <U>underscore</U>, or <I>italic</I> type
> 
> The word foo - Literal('foo')
> ['foo']
> 
> The word foo - Literal('foo')
>       foo        
> ^
> ParseException: Expected 'foo', found ' '  (at char 0), (line:1, col:1)
> tests.test_simple_unit.TestWhitespaceMethods
> 
> The word foo - Literal('foo')
> ['foo']
> 
> The word foo - Literal('foo')
> ['foo']
> 
> If we recursively leave whitespace on the parent, this whitespace-dependent 
> grammar will succeed, even if the children themselves skip whitespace - 
> And({' foo' ' bar'})
> [' foo', ' bar']
> 
> If we recursively ignore whitespace in our parsing, this whitespace-dependent 
> grammar will fail, even if the children themselves keep whitespace - And({' 
> foo' ' bar'})
>  foo bar
>  ^
> ParseException: Expected ' foo', found 'foo'  (at char 1), (line:1, col:2)
> tests.test_simple_unit.TestWhitespaceMethods
> ok
> runTest (tests.test_simple_unit.TestWord) ... ok
> tests.test_unit (unittest.loader._FailedTest) ... ERROR
> 
> ======================================================================
> ERROR: pyparsing.diagram (unittest.loader._FailedTest)
> ----------------------------------------------------------------------
> ImportError: Failed to import test module: pyparsing.diagram
> Traceback (most recent call last):
>   File "/usr/lib/python3.9/unittest/loader.py", line 470, in _find_test_path
>     package = self._get_module_from_name(name)
>   File "/usr/lib/python3.9/unittest/loader.py", line 377, in 
> _get_module_from_name
>     __import__(name)
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/pyparsing/diagram/__init__.py",
>  line 1, in <module>
>     import railroad
> ModuleNotFoundError: No module named 'railroad'
> 
> 
> ======================================================================
> ERROR: tests.test_diagram (unittest.loader._FailedTest)
> ----------------------------------------------------------------------
> ImportError: Failed to import test module: tests.test_diagram
> Traceback (most recent call last):
>   File "/usr/lib/python3.9/unittest/loader.py", line 436, in _find_test_path
>     module = self._get_module_from_name(name)
>   File "/usr/lib/python3.9/unittest/loader.py", line 377, in 
> _get_module_from_name
>     __import__(name)
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_diagram.py",
>  line 4, in <module>
>     from examples.jsonParser import jsonObject
> ModuleNotFoundError: No module named 'examples'
> 
> 
> ======================================================================
> ERROR: test_delta_time (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 29, in test_delta_time
>     self._run("delta_time")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_eval_arith (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 32, in test_eval_arith
>     self._run("eval_arith")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_numerics (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 14, in test_numerics
>     self._run("numerics")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_oc (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 26, in test_oc
>     self._run("oc")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_roman_numerals (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 20, in test_roman_numerals
>     self._run("romanNumerals")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_select_parser (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 35, in test_select_parser
>     self._run("select_parser")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_sexp_parser (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 23, in test_sexp_parser
>     self._run("sexpParser")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: test_tap (tests.test_examples.TestExamples)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 17, in test_tap
>     self._run("TAP")
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_examples.py",
>  line 10, in _run
>     mod = import_module("examples." + name)
>   File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
>     return _bootstrap._gcd_import(name[level:], package, level)
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
>   File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
>   File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
>   File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
>   File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
> ModuleNotFoundError: No module named 'examples'
> 
> ======================================================================
> ERROR: tests.test_unit (unittest.loader._FailedTest)
> ----------------------------------------------------------------------
> ImportError: Failed to import test module: tests.test_unit
> Traceback (most recent call last):
>   File "/usr/lib/python3.9/unittest/loader.py", line 436, in _find_test_path
>     module = self._get_module_from_name(name)
>   File "/usr/lib/python3.9/unittest/loader.py", line 377, in 
> _get_module_from_name
>     __import__(name)
>   File 
> "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build/tests/test_unit.py", 
> line 22, in <module>
>     from examples.jsonParser import jsonObject
> ModuleNotFoundError: No module named 'examples'
> 
> 
> ----------------------------------------------------------------------
> Ran 26 tests in 0.014s
> 
> FAILED (errors=11)
> 
> If we leave whitespace on the parent, but it isn't recursive, this 
> whitespace-dependent grammar will fail - And({' foo' ' bar'})
>  foo bar
>      ^
> ParseException: Expected ' bar', found 'bar'  (at char 5), (line:1, col:6)
> tests.test_simple_unit.TestWhitespaceMethods
> 
> If we recursively leave whitespace on the parent, this whitespace-dependent 
> grammar will succeed, even if the children themselves skip whitespace - 
> Opt([' foo'])
> [' foo']
> 
> If we ignore whitespace on the parent, but it isn't recursive, parsing will 
> fail because we skip to the first character 'f' before the internal expr can 
> see it - Opt([' foo'])
> []
> 
> Simple Word match - _WordRegex(W:(xy))
> ['xxyxxyy']
> 
> Simple Word match of two separate Words - And({W:(x) W:(y)})
> ['xxxxx', 'yy']
> 
> Simple Word match of two separate Words - implicitly skips whitespace - 
> And({W:(x) W:(y)})
> ['xxxxx', 'yy']
> E: pybuild pybuild:367: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9_pyparsing/build; python3.9 -m unittest 
> discover -v 
> dh_auto_test: error: pybuild --test -i python{version} -p "3.10 3.9" returned 
> exit code 13


The full build log is available from:
http://qa-logs.debian.net/2022/02/12/pyparsing_3.0.7-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: pyparsing
Source-Version: 3.0.7-2
Done: Stuart Prescott <[email protected]>

We believe that the bug you reported is fixed in the latest version of
pyparsing, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Stuart Prescott <[email protected]> (supplier of updated pyparsing package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 07 Apr 2022 01:23:34 +1000
Source: pyparsing
Architecture: source
Version: 3.0.7-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Stuart Prescott <[email protected]>
Closes: 1005470 1006004
Changes:
 pyparsing (3.0.7-2) unstable; urgency=medium
 .
   * Team upload.
   * Fix build time tests:
     - Fix missing Build-Depends on python3-pytest.
     - Copy files needed for tests into test location using pybuild
       (Closes: #1005470).
   * Fix autopkgtest tests:
     - Run the correct test command (Closes: #1006004).
     - Test against all supported interpreters.
     - Copy files needed for tests into test location.
   * Declare Breaks against old versions of translate-toolkit that are broken
     by new upstream version of pyparsing so they migrate together.
Checksums-Sha1:
 7c924f3cfbc7cc9adc66f8517674bae4fb64f0d8 2233 pyparsing_3.0.7-2.dsc
 f4a25e6526c9f2485fb9ed366dcbf21211b41abd 8392 pyparsing_3.0.7-2.debian.tar.xz
 82835666df8db99638beea61021737055e3241fe 8254 pyparsing_3.0.7-2_amd64.buildinfo
Checksums-Sha256:
 f30034e424f328eaf65d6b7c182808f9d95808184383af204c4ab7e8982b3831 2233 
pyparsing_3.0.7-2.dsc
 9f6ed6b3f9177ad00833777534226a40f9b57e229afc896e5b4d2fc8fe823d2f 8392 
pyparsing_3.0.7-2.debian.tar.xz
 72e89ac50ea4b358a8f209712b081f7af97b2adc91a28314a8fd21e0983fc946 8254 
pyparsing_3.0.7-2_amd64.buildinfo
Files:
 6c65a2e607a15343e9a7caee2aa4d8fd 2233 python optional pyparsing_3.0.7-2.dsc
 03fb7579b4016a9fc9d560c6ebbe485e 8392 python optional 
pyparsing_3.0.7-2.debian.tar.xz
 64e1d60d351aa3f59fd61b56f5821d10 8254 python optional 
pyparsing_3.0.7-2_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkOLSwa0Uaht+u4kdu8F+uxOW8vcFAmJNsU4ACgkQu8F+uxOW
8vcc0RAAi3+Yodhu/q/p/vqnEIevpTWjPN/L3ZhiTiYsU2cOk5mhx3LSCzr3lfkn
0vkQiotGsJ4FRWGYbekamLQXGXLHR1bsRwvaSbdx87CZpIKSJ9u2Jc1oqfQBhtm4
xi7PjYK/CFDwkITLbEJqswNw0DSP1tLMObaNmkbrr87c18S7+JZ1OCis7iKlqXRQ
6puu1vXPtNSl4M4WYWYe0dI/tRY66NFuOdfUjoOLZ20xVvJ6W+bhSayy5I0K/cRU
EGz452r4dBzAq+4j+MRlKTHWJg6AlbXTvHOrIEo1xWNHKYqSpyojlhBsg0ngGisr
NdDPgRmkh0bIAsXrp685XvWbZb7tu+Ysr3RjK3rTKfWVVTXAPOKkEGF9mnma0BRM
KDilskPPbhgTG5ll9lVoveWp9+R45tbVxkxNoq+QjBHZLH5oYXCLbaOEDzYkCMxo
v1364YL/VIKYNA0B+NPdKLVT6l2gnQdLx2tScclqK/+dNPMKoKB2sDthg/ISbhYK
46HCORhC1viR5upFkcHCaoOm6+ccYqR+CSERY6seEBwHmhWmMEqqnxERKWquKbIs
NcGXPf+DivcVHVfnHlICFIV1DRKu4ufLKpp0SF+L8hhEjlveIa9NW7gzRD62zi2u
db1jTIGcjYld7rJcxUMRFPrKt4Zo9oeGCGt/wEXFGBCTLSn6KBQ=
=I8SX
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to