[Bug 1964782] Re: pyparsing: FTBFS: dh_auto_test: error: pybuild --test -i python{version} -p "3.10 3.9" returned exit code 13

Bug Watch Updater 1964782 at bugs.launchpad.net
Mon Mar 14 14:25:44 UTC 2022


** Changed in: pyparsing (Debian)
   Importance: Undecided => Unknown

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to pyparsing in Ubuntu.
https://bugs.launchpad.net/bugs/1964782

Title:
  pyparsing: FTBFS: dh_auto_test: error: pybuild --test -i
  python{version} -p "3.10 3.9" returned exit code 13

Status in pyparsing package in Ubuntu:
  New
Status in pyparsing package in Debian:
  New

Bug description:
  Imported from Debian bug http://bugs.debian.org/1005470:

  Source: pyparsing
  Version: 3.0.7-1
  Severity: serious
  Justification: FTBFS
  Tags: bookworm sid ftbfs
  User: lucas at debian.org
  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 i [...]

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pyparsing/+bug/1964782/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list