[Bug 1964782] [NEW] pyparsing: FTBFS: dh_auto_test: error: pybuild --test -i python{version} -p "3.10 3.9" returned exit code 13
Nick Rosbrook
1964782 at bugs.launchpad.net
Mon Mar 14 13:35:05 UTC 2022
Public bug reported:
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 [...]
** Affects: pyparsing (Ubuntu)
Importance: Undecided
Status: New
** Affects: pyparsing (Debian)
Importance: Undecided
Status: New
** Tags: update-excuse
** Bug watch added: Debian Bug tracker #1005470
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005470
** Changed in: pyparsing (Debian)
Remote watch: None => Debian Bug tracker #1005470
** Tags added: update-excuse
--
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