<86>Dec 17 10:14:24 userdel[1932230]: delete user 'rooter' <86>Dec 17 10:14:24 userdel[1932230]: removed group 'rooter' owned by 'rooter' <86>Dec 17 10:14:24 userdel[1932230]: removed shadow group 'rooter' owned by 'rooter' <86>Dec 17 10:14:24 groupadd[1932268]: group added to /etc/group: name=rooter, GID=993 <86>Dec 17 10:14:24 groupadd[1932268]: group added to /etc/gshadow: name=rooter <86>Dec 17 10:14:24 groupadd[1932268]: new group: name=rooter, GID=993 <86>Dec 17 10:14:24 useradd[1932298]: new user: name=rooter, UID=993, GID=993, home=/root, shell=/bin/bash <86>Dec 17 10:14:24 userdel[1932355]: delete user 'builder' <86>Dec 17 10:14:24 userdel[1932355]: removed group 'builder' owned by 'builder' <86>Dec 17 10:14:24 userdel[1932355]: removed shadow group 'builder' owned by 'builder' <86>Dec 17 10:14:24 groupadd[1932390]: group added to /etc/group: name=builder, GID=994 <86>Dec 17 10:14:24 groupadd[1932390]: group added to /etc/gshadow: name=builder <86>Dec 17 10:14:24 groupadd[1932390]: new group: name=builder, GID=994 <86>Dec 17 10:14:24 useradd[1932412]: new user: name=builder, UID=994, GID=994, home=/usr/src, shell=/bin/bash <13>Dec 17 10:14:26 rpmi: mpdecimal-2.5.1-alt1 sisyphus+291245.40.54.1 1643293464 installed <13>Dec 17 10:14:26 rpmi: libgdbm-1.8.3-alt10 sisyphus+278100.1600.1.1 1626059138 installed <13>Dec 17 10:14:26 rpmi: libexpat-2.5.0-alt1 sisyphus+309227.100.1.1 1667075766 installed <13>Dec 17 10:14:26 rpmi: libp11-kit-0.24.1-alt1 sisyphus+293720.100.1.1 1642535281 installed <13>Dec 17 10:14:26 rpmi: libtasn1-4.19.0-alt1 sisyphus+305700.100.1.1 1661359628 installed <13>Dec 17 10:14:26 rpmi: rpm-macros-alternatives-0.5.2-alt1 sisyphus+300869.100.1.1 1653844113 installed <13>Dec 17 10:14:26 rpmi: alternatives-0.5.2-alt1 sisyphus+300869.100.1.1 1653844113 installed <13>Dec 17 10:14:26 rpmi: ca-certificates-2022.12.14-alt1 sisyphus+311754.200.1.1 1671046143 installed <13>Dec 17 10:14:26 rpmi: ca-trust-0.1.4-alt1 sisyphus+308690.100.1.1 1666182992 installed <13>Dec 17 10:14:26 rpmi: p11-kit-trust-0.24.1-alt1 sisyphus+293720.100.1.1 1642535281 installed <13>Dec 17 10:14:26 rpmi: libcrypto1.1-1.1.1q-alt1 sisyphus+303203.100.1.1 1657027052 installed <13>Dec 17 10:14:26 rpmi: libssl1.1-1.1.1q-alt1 sisyphus+303203.100.1.1 1657027052 installed <13>Dec 17 10:14:26 rpmi: python3-3.10.8-alt1 sisyphus+311248.100.1.1 1670297468 installed <13>Dec 17 10:14:27 rpmi: python3-base-3.10.8-alt1 sisyphus+311248.100.1.1 1670297468 installed <13>Dec 17 10:14:27 rpmi: tests-for-installed-python3-pkgs-0.1.20-alt1 sisyphus+303554.100.1.1 1668376332 installed <13>Dec 17 10:14:27 rpmi: rpm-build-python3-0.1.20-alt1 sisyphus+303554.100.1.1 1668376332 installed <13>Dec 17 10:14:28 rpmi: python3-module-markupsafe-1:2.1.1-alt1 sisyphus+296796.100.1.1 1647522025 installed <13>Dec 17 10:14:28 rpmi: python3-module-jinja2-3.1.2-alt1 sisyphus+303664.100.1.1 1657809843 installed <13>Dec 17 10:14:28 rpmi: python3-module-railroad-diagrams-1.1.1-alt1 sisyphus+294587.100.1.1 1643813088 installed <13>Dec 17 10:14:28 rpmi: python3-module-flit-core-3.8.0-alt1 sisyphus+310043.100.1.1 1668506402 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python3-module-pyparsing-3.0.9-alt2.nosrc.rpm (w1.gzdio) <13>Dec 17 10:14:30 rpmi: python3-module-pluggy-1.0.0-alt1 sisyphus+284853.100.1.1 1631109373 installed <13>Dec 17 10:14:30 rpmi: python3-module-system-seed-wheels-0.0.1-alt1 sisyphus+270533.400.6.1 1619683380 installed <13>Dec 17 10:14:30 rpmi: python3-module-tomli-2.0.1-alt2 sisyphus+305000.3300.2.1 1660575675 installed <13>Dec 17 10:14:30 rpmi: python3-module-iniconfig-1.1.1-alt1 sisyphus+270533.3400.6.1 1619684870 installed <13>Dec 17 10:14:30 rpmi: python3-module-filelock-3.8.2-alt1 sisyphus+311271.100.1.1 1670321009 installed <13>Dec 17 10:14:30 rpmi: python3-module-pip-wheel-22.3.1-alt1 sisyphus+309811.100.2.1 1668163317 installed <13>Dec 17 10:14:30 rpmi: python3-module-setuptools-wheel-1:65.6.3-alt1 sisyphus+310583.300.6.1 1669883494 installed <13>Dec 17 10:14:30 rpmi: python3-module-wheel-wheel-0.38.4-alt1 sisyphus+309865.100.2.1 1668501417 installed <13>Dec 17 10:14:30 rpmi: python3-module-system-seed-wheels-wheels-0.0.1-alt1 sisyphus+270533.400.6.1 1619683380 installed <13>Dec 17 10:14:30 rpmi: python3-module-six-1.16.0-alt1 sisyphus+283489.100.2.1 1629527308 installed <13>Dec 17 10:14:30 rpmi: python3-module-platformdirs-2.6.0-alt1 sisyphus+311339.100.1.1 1670424674 installed <13>Dec 17 10:14:30 rpmi: python3-module-pyparsing-3.0.9-alt2 sisyphus+309123.700.4.1 1668095436 installed <13>Dec 17 10:14:30 rpmi: python3-module-packaging-21.3-alt1 sisyphus+293292.100.4.1 1642663064 installed <13>Dec 17 10:14:30 rpmi: python3-module-exceptiongroup-1.0.4-alt1 sisyphus+310098.100.2.1 1668688402 installed <13>Dec 17 10:14:30 rpmi: python3-module-distlib-0.3.6-alt1 sisyphus+306796.100.1.1 1663166230 installed <13>Dec 17 10:14:30 rpmi: python3-module-virtualenv-20.17.1-alt1 sisyphus+311271.200.1.1 1670321104 installed <13>Dec 17 10:14:30 rpmi: python3-module-attrs-22.1.0-alt1 sisyphus+306306.100.1.1 1662384188 installed <13>Dec 17 10:14:30 rpmi: python3-module-pytest-7.2.0-alt1 sisyphus+309815.300.2.1 1668426783 installed <13>Dec 17 10:14:30 rpmi: python3-module-apipkg-1.5-alt1 sisyphus+275892.100.2.1 1624872742 installed <13>Dec 17 10:14:30 rpmi: python3-module-py-1.11.0-alt1 sisyphus+295927.100.2.1 1646050822 installed <13>Dec 17 10:14:30 rpmi: python3-module-tox-3.27.1-alt1 sisyphus+309865.500.3.1 1668591286 installed <13>Dec 17 10:14:30 rpmi: python3-module-tox-console-scripts-0.3.2-alt1 sisyphus+301745.100.2.1 1655211258 installed <13>Dec 17 10:14:30 rpmi: python3-module-tox-no-deps-0.2.0-alt1 sisyphus+301745.200.2.1 1655211304 installed <13>Dec 17 10:14:30 rpmi: python3-module-pyproject-installer-0.3.0-alt1 sisyphus+301407.160.9.1 1658259210 installed Installing python3-module-pyparsing-3.0.9-alt2.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.46363 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf pyparsing-3.0.9 + echo 'Source #0 (pyparsing-3.0.9.tar):' Source #0 (pyparsing-3.0.9.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/pyparsing-3.0.9.tar + cd pyparsing-3.0.9 + /bin/chmod -c -Rf u+rwX,go-w . + echo 'Patch #0 (0001-ALT-tests-Skip-coverage.patch):' Patch #0 (0001-ALT-tests-Skip-coverage.patch): + /usr/bin/patch -p2 patching file tox.ini + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.46363 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd pyparsing-3.0.9 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + /usr/bin/python3 -m pyproject_installer -v build INFO : pyproject_installer.build_cmd._build : Building wheel INFO : pyproject_installer.build_cmd._build : Source tree: /usr/src/RPM/BUILD/pyparsing-3.0.9 INFO : pyproject_installer.build_cmd._build : Output dir: /usr/src/RPM/BUILD/pyparsing-3.0.9/dist DEBUG : pyproject_installer.build_cmd._build : Validating source path DEBUG : pyproject_installer.build_cmd._build : Checking for PEP517 spec DEBUG : pyproject_installer.build_cmd._build : Parsing configuration file: /usr/src/RPM/BUILD/pyparsing-3.0.9/pyproject.toml INFO : backend_caller.py : Calling hook build_wheel in subprocess INFO : backend_caller.py : Build backend: flit_core.buildapi INFO : backend_caller.py : Hook args: ['/usr/src/RPM/BUILD/pyparsing-3.0.9/dist'] INFO : backend_caller.py : Hook kwargs: {'config_settings': None} DEBUG : flit_core.common : Loading module pyparsing/__init__.py DEBUG : flit_core.common : Loading module pyparsing/__init__.py INFO : flit_core.wheel : Zip timestamps will be from SOURCE_DATE_EPOCH: 2022-11-10 09:22:40 INFO : flit_core.wheel : Copying package file(s) from pyparsing DEBUG : flit_core.wheel : Adding pyparsing/__init__.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/actions.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/common.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/core.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/exceptions.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/helpers.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/py.typed to zip file DEBUG : flit_core.wheel : Adding pyparsing/results.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/testing.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/unicode.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/util.py to zip file DEBUG : flit_core.wheel : Adding pyparsing/diagram/__init__.py to zip file INFO : flit_core.wheel : Writing metadata files DEBUG : flit_core.wheel : Adding LICENSE to zip file DEBUG : flit_core.wheel : Writing data to pyparsing-3.0.9.dist-info/WHEEL in zip file DEBUG : flit_core.wheel : Writing data to pyparsing-3.0.9.dist-info/METADATA in zip file INFO : flit_core.wheel : Writing the record of files DEBUG : flit_core.wheel : Writing data to pyparsing-3.0.9.dist-info/RECORD in zip file INFO : flit_core.wheel : Built wheel: /usr/src/RPM/BUILD/pyparsing-3.0.9/dist/pyparsing-3.0.9-py3-none-any.whl INFO : pyproject_installer.build_cmd._build : Built wheel: pyparsing-3.0.9-py3-none-any.whl + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.46363 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-pyparsing-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-pyparsing-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd pyparsing-3.0.9 + /usr/bin/python3 -m pyproject_installer -v install --destdir=/usr/src/tmp/python3-module-pyparsing-buildroot INFO : pyproject_installer.install_cmd._install : Installing wheel INFO : pyproject_installer.install_cmd._install : Wheel directory: /usr/src/RPM/BUILD/pyparsing-3.0.9/dist INFO : pyproject_installer.install_cmd._install : Wheel filename: pyparsing-3.0.9-py3-none-any.whl INFO : pyproject_installer.install_cmd._install : Destination: /usr/src/tmp/python3-module-pyparsing-buildroot DEBUG : pyproject_installer.install_cmd._install : Parsing wheel filename DEBUG : pyproject_installer.install_cmd._install : Validating wheel file DEBUG : pyproject_installer.install_cmd._install : Validating wheel spec version DEBUG : pyproject_installer.install_cmd._install : Parsing wheel spec metadata DEBUG : pyproject_installer.install_cmd._install : Validating RECORD INFO : pyproject_installer.install_cmd._install : Wheel installation root: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages INFO : pyproject_installer.install_cmd._install : Extracting wheel DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pyparsing-3.0.9.dist-info/LICENSE DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pyparsing-3.0.9.dist-info/WHEEL DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: pyparsing-3.0.9.dist-info/RECORD INFO : pyproject_installer.install_cmd._install : Wheel was installed + /usr/lib/rpm/brp-alt egrep: warning: egrep is obsolescent; using grep -E Cleaning files in /usr/src/tmp/python3-module-pyparsing-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-pyparsing-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-pyparsing-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-pyparsing-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-pyparsing-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-pyparsing-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python3 modules in /usr/src/tmp/python3-module-pyparsing-buildroot using /usr/bin/python3 compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/diagram/__init__.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/actions.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/common.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/helpers.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/results.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/testing.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/unicode.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/util.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-pyparsing-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/diagram/__init__.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/actions.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/common.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/helpers.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/results.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/testing.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/unicode.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/util.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-pyparsing-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/diagram/__init__.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/actions.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/common.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/helpers.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/results.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/testing.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/unicode.py compile /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/util.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/pyparsing/__pycache__/__init__.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/__init__.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/__init__.cpython-310.opt-2.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/__init__.cpython-310.opt-1.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/actions.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/actions.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/common.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/common.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/exceptions.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/exceptions.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/helpers.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/helpers.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/unicode.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/unicode.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/__pycache__/util.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/__pycache__/util.cpython-310.pyc' './usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.opt-1.pyc' => './usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.46363 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd pyparsing-3.0.9 ++ cat ./dist/.wheeltracker + _tox_wheel=pyparsing-3.0.9-py3-none-any.whl + export NO_INTERNET=YES + NO_INTERNET=YES + export PIP_NO_BUILD_ISOLATION=NO + PIP_NO_BUILD_ISOLATION=NO + export PIP_NO_INDEX=YES + PIP_NO_INDEX=YES + export TOXENV=py3 + TOXENV=py3 + export TOX_TESTENV_PASSENV=NO_INTERNET + TOX_TESTENV_PASSENV=NO_INTERNET + /usr/bin/tox.py3 --sitepackages -vvr -s false --no-deps --console-scripts --installpkg=./dist/pyparsing-3.0.9-py3-none-any.whl using tox.ini: /usr/src/RPM/BUILD/pyparsing-3.0.9/tox.ini (pid 1977966) no-deps plugin: extras: '['diagrams']' will be skipped for '.package' no-deps plugin: deps: '[coverage]' will be skipped for 'py36' no-deps plugin: extras: '['diagrams']' will be skipped for 'py36' no-deps plugin: deps: '[coverage]' will be skipped for 'py37' no-deps plugin: extras: '['diagrams']' will be skipped for 'py37' no-deps plugin: deps: '[coverage]' will be skipped for 'py38' no-deps plugin: extras: '['diagrams']' will be skipped for 'py38' no-deps plugin: deps: '[coverage]' will be skipped for 'py39' no-deps plugin: extras: '['diagrams']' will be skipped for 'py39' no-deps plugin: deps: '[coverage]' will be skipped for 'py310' no-deps plugin: extras: '['diagrams']' will be skipped for 'py310' no-deps plugin: deps: '[coverage]' will be skipped for 'pypy3' no-deps plugin: extras: '['diagrams']' will be skipped for 'pypy3' no-deps plugin: deps: '[pretend, pytest]' will be skipped for 'pyparsing_packaging' no-deps plugin: extras: '['diagrams']' will be skipped for 'pyparsing_packaging' no-deps plugin: deps: '[coverage]' will be skipped for 'py3' no-deps plugin: extras: '['diagrams']' will be skipped for 'py3' using tox-3.27.1 from /usr/lib/python3/site-packages/tox/__init__.py (pid 1977966) using package '/usr/src/RPM/BUILD/pyparsing-3.0.9/dist/pyparsing-3.0.9-py3-none-any.whl', skipping 'sdist' activity package .tox/.tmp/package/1/pyparsing-3.0.9-py3-none-any.whl links to dist/pyparsing-3.0.9-py3-none-any.whl (/usr/src/RPM/BUILD/pyparsing-3.0.9) py3 uses /usr/bin/python3 py3 start: getenv /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3 py3 cannot reuse: -r flag py3 create: /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3 setting PATH=/usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games [1978640] /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox$ /usr/bin/python3 -m virtualenv --system-site-packages --no-download --python /usr/bin/python3 py3 created virtual environment CPython3.10.8.final.0-32 in 219ms creator CPython3Posix(dest=/usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3, clear=False, no_vcs_ignore=False, global=True) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/usr/src/.local/share/virtualenv) added seed packages: pip==22.3.1, setuptools==65.6.3, wheel==0.38.4 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator setting PATH=/usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games [1980095] /usr/src/RPM/BUILD/pyparsing-3.0.9$ /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin/python /usr/lib/python3/site-packages/tox_console_scripts/helper/console_scripts.py Generating script tox into /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin Generating script tox-quickstart into /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin Generating script py.test into /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin Generating script pytest into /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin Generating script virtualenv into /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin py3 finish: getenv /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3 after 0.42 seconds py3 start: installpkg /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/.tmp/package/1/pyparsing-3.0.9-py3-none-any.whl py3 inst: /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/.tmp/package/1/pyparsing-3.0.9-py3-none-any.whl write config to /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/.tox-config1 as '2148a3d03a046af274bdf12e4e5a40db1d4c8973e851194d887d2dc2ff0b747d /usr/bin/python3\n3.27.1 1 0 0' setting PATH=/usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games [1980347] /usr/src/RPM/BUILD/pyparsing-3.0.9$ /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin/python -m pip install --exists-action w .tox/.tmp/package/1/pyparsing-3.0.9-py3-none-any.whl Processing ./.tox/.tmp/package/1/pyparsing-3.0.9-py3-none-any.whl pyparsing is already installed with the same version as the provided wheel. Use --force-reinstall to force an installation of the wheel. py3 finish: installpkg /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/.tmp/package/1/pyparsing-3.0.9-py3-none-any.whl after 0.89 seconds py3 start: envreport setting PATH=/usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games [1985567] /usr/src/RPM/BUILD/pyparsing-3.0.9$ /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin/python -m pip freeze >.tox/py3/log/py3-0.log py3 finish: envreport after 0.29 seconds py3 installed: apipkg==1.5,attrs==22.1.0,distlib==0.3.6,exceptiongroup==1.0.4,filelock==3.8.2,flit_core==3.8.0,iniconfig==1.1.1,Jinja2==3.1.2,MarkupSafe==2.1.1,packaging==21.3,platformdirs==2.6.0,pluggy==1.0.0,py==1.11.0,pyparsing==3.0.9,pyproject-installer==0.3.0,pytest==7.2.0,railroad-diagrams==1.1.1,six==1.16.0,tomli==2.0.1,tox==3.27.1,tox-console-scripts==0.3.2,tox-no-deps==0.2.0,virtualenv==20.17.1 py3 start: run-test-pre py3 run-test-pre: PYTHONHASHSEED='3630547149' py3 finish: run-test-pre after 0.00 seconds py3 start: run-test py3 run-test: commands[0] | python -m unittest setting PATH=/usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games [1987423] /usr/src/RPM/BUILD/pyparsing-3.0.9$ /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/py3/bin/python -m unittest ....................(relative to 2022-12-17 10:14:34.118100) today ['today'] - calculatedTime: datetime.datetime(2022, 12, 17, 0, 0) - computed_dt: datetime.datetime(2022, 12, 17, 0, 0) - original: 'today' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=49526) - verify_offset: 'PASS' tomorrow ['tomorrow'] - calculatedTime: datetime.datetime(2022, 12, 18, 0, 0) - computed_dt: datetime.datetime(2022, 12, 18, 0, 0) - original: 'tomorrow' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=49526) - verify_offset: 'PASS' yesterday ['yesterday'] - calculatedTime: datetime.datetime(2022, 12, 16, 0, 0) - computed_dt: datetime.datetime(2022, 12, 16, 0, 0) - original: 'yesterday' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-2, seconds=49526) - verify_offset: 'PASS' the day before yesterday [1, 'day', -1, 'yesterday'] - calculatedTime: datetime.datetime(2022, 12, 15, 0, 0) - computed_dt: datetime.datetime(2022, 12, 15, 0, 0) - original: 'the day before yesterday' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-3, seconds=49526) - verify_offset: 'PASS' the day after tomorrow [1, 'day', 1, 'tomorrow'] - calculatedTime: datetime.datetime(2022, 12, 19, 0, 0) - computed_dt: datetime.datetime(2022, 12, 19, 0, 0) - original: 'the day after tomorrow' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=49526) - verify_offset: 'PASS' 2 weeks after today [2, 'week', 1, 'today'] - calculatedTime: datetime.datetime(2022, 12, 31, 0, 0) - computed_dt: datetime.datetime(2022, 12, 31, 0, 0) - original: '2 weeks after today' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=13, seconds=49526) - verify_offset: 'PASS' in a couple of days [1, 2, 'day'] - calculatedTime: datetime.datetime(2022, 12, 19, 0, 0) - computed_dt: datetime.datetime(2022, 12, 19, 0, 0) - original: 'in a couple of days' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=49526) - verify_offset: 'PASS' a couple of days from now [2, 'day', 1, 'now', True] - calculatedTime: datetime.datetime(2022, 12, 19, 10, 14, 34) - computed_dt: datetime.datetime(2022, 12, 19, 10, 14, 34) - original: 'a couple of days from now' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=2) - verify_offset: 'PASS' a couple of days from today [2, 'day', 1, 'today'] - calculatedTime: datetime.datetime(2022, 12, 19, 0, 0) - computed_dt: datetime.datetime(2022, 12, 19, 0, 0) - original: 'a couple of days from today' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=49526) - verify_offset: 'PASS' in a day [1, 1, 'day'] - calculatedTime: datetime.datetime(2022, 12, 18, 0, 0) - computed_dt: datetime.datetime(2022, 12, 18, 0, 0) - original: 'in a day' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=49526) - verify_offset: 'PASS' 3 days ago [3, 'day', -1] - calculatedTime: datetime.datetime(2022, 12, 14, 0, 0) - computed_dt: datetime.datetime(2022, 12, 14, 0, 0) - original: '3 days ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-4, seconds=49526) - verify_offset: 'PASS' 3 days from now [3, 'day', 1, 'now', True] - calculatedTime: datetime.datetime(2022, 12, 20, 10, 14, 34) - computed_dt: datetime.datetime(2022, 12, 20, 10, 14, 34) - original: '3 days from now' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=3) - verify_offset: 'PASS' a day ago [1, 'day', -1] - calculatedTime: datetime.datetime(2022, 12, 16, 0, 0) - computed_dt: datetime.datetime(2022, 12, 16, 0, 0) - original: 'a day ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-2, seconds=49526) - verify_offset: 'PASS' an hour ago [1, 'hour', -1, True] - calculatedTime: datetime.datetime(2022, 12, 17, 9, 14, 34) - computed_dt: datetime.datetime(2022, 12, 17, 9, 14, 34) - original: 'an hour ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=82800) - verify_offset: 'PASS' in 2 weeks [1, 2, 'week'] - calculatedTime: datetime.datetime(2022, 12, 31, 0, 0) - computed_dt: datetime.datetime(2022, 12, 31, 0, 0) - original: 'in 2 weeks' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=13, seconds=49526) - verify_offset: 'PASS' in 3 days at 5pm [1, 3, 'day', 'at', 5, 'pm', True] - calculatedTime: datetime.datetime(2022, 12, 20, 17, 0) - computed_dt: datetime.datetime(2022, 12, 20, 17, 0) - original: 'in 3 days at 5pm' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=3, seconds=24326) - verify_offset: 'PASS' now ['now', True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 14, 34) - computed_dt: datetime.datetime(2022, 12, 17, 10, 14, 34) - original: 'now' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(0) - verify_offset: 'PASS' 10 minutes ago [10, 'minute', -1, True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 4, 34) - computed_dt: datetime.datetime(2022, 12, 17, 10, 4, 34) - original: '10 minutes ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=85800) - verify_offset: 'PASS' 10 minutes from now [10, 'minute', 1, ['now'], True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 24, 34) - computed_dt: datetime.datetime(2022, 12, 17, 10, 24, 34) - original: '10 minutes from now' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=600) - verify_offset: 'PASS' [0]: 10 [1]: minute [2]: 1 [3]: ['now'] - computed_time: datetime.time(10, 14, 34) [4]: True in 10 minutes [1, 10, 'minute', True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 24, 34) - computed_dt: datetime.datetime(2022, 12, 17, 10, 24, 34) - original: 'in 10 minutes' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=600) - verify_offset: 'PASS' in a minute [1, 1, 'minute', True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 15, 34) - computed_dt: datetime.datetime(2022, 12, 17, 10, 15, 34) - original: 'in a minute' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=60) - verify_offset: 'PASS' in a couple of minutes [1, 2, 'minute', True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 16, 34) - computed_dt: datetime.datetime(2022, 12, 17, 10, 16, 34) - original: 'in a couple of minutes' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=120) - verify_offset: 'PASS' 20 seconds ago [20, 'second', -1, True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 14, 14) - computed_dt: datetime.datetime(2022, 12, 17, 10, 14, 14) - original: '20 seconds ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=86380) - verify_offset: 'PASS' in 30 seconds [1, 30, 'second', True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 15, 4) - computed_dt: datetime.datetime(2022, 12, 17, 10, 15, 4) - original: 'in 30 seconds' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=30) - verify_offset: 'PASS' in an hour [1, 1, 'hour', True] - calculatedTime: datetime.datetime(2022, 12, 17, 11, 14, 34) - computed_dt: datetime.datetime(2022, 12, 17, 11, 14, 34) - original: 'in an hour' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=3600) - verify_offset: 'PASS' in a couple hours [1, 2, 'hour', True] - calculatedTime: datetime.datetime(2022, 12, 17, 12, 14, 34) - computed_dt: datetime.datetime(2022, 12, 17, 12, 14, 34) - original: 'in a couple hours' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=7200) - verify_offset: 'PASS' in a couple days [1, 2, 'day'] - calculatedTime: datetime.datetime(2022, 12, 19, 0, 0) - computed_dt: datetime.datetime(2022, 12, 19, 0, 0) - original: 'in a couple days' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=49526) - verify_offset: 'PASS' 20 seconds before noon [20, 'second', -1, ['noon'], True] - calculatedTime: datetime.datetime(2022, 12, 17, 11, 59, 40) - computed_dt: datetime.datetime(2022, 12, 17, 11, 59, 40) - original: '20 seconds before noon' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=6306) - verify_offset: 'PASS' [0]: 20 [1]: second [2]: -1 [3]: ['noon'] - computed_time: datetime.time(12, 0) [4]: True ten seconds before noon tomorrow [10, 'second', -1, ['noon'], True, 'tomorrow'] - calculatedTime: datetime.datetime(2022, 12, 18, 11, 59, 50) - computed_dt: datetime.datetime(2022, 12, 18, 11, 59, 50) - original: 'ten seconds before noon tomorrow' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=6316) - verify_offset: 'PASS' [0]: 10 [1]: second [2]: -1 [3]: ['noon'] - computed_time: datetime.time(12, 0) [4]: True [5]: tomorrow noon ['noon', True] - calculatedTime: datetime.datetime(2022, 12, 17, 12, 0) - computed_dt: datetime.datetime(2022, 12, 17, 12, 0) - original: 'noon' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=6326) midnight ['midnight', True] - calculatedTime: datetime.datetime(2022, 12, 17, 0, 0) - computed_dt: datetime.datetime(2022, 12, 17, 0, 0) - original: 'midnight' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=49526) - verify_offset: 'PASS' noon tomorrow ['noon', True, 'tomorrow'] - calculatedTime: datetime.datetime(2022, 12, 18, 12, 0) - computed_dt: datetime.datetime(2022, 12, 18, 12, 0) - original: 'noon tomorrow' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=6326) - verify_offset: 'PASS' 6am tomorrow [6, 'am', True, 'tomorrow'] - calculatedTime: datetime.datetime(2022, 12, 18, 6, 0) - computed_dt: datetime.datetime(2022, 12, 18, 6, 0) - original: '6am tomorrow' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(seconds=71126) - verify_offset: 'PASS' 0800 yesterday [8, 0, True, 'yesterday'] - calculatedTime: datetime.datetime(2022, 12, 16, 8, 0) - computed_dt: datetime.datetime(2022, 12, 16, 8, 0) - original: '0800 yesterday' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-2, seconds=78326) - verify_offset: 'PASS' 1700 tomorrow [17, 0, True, 'tomorrow'] - calculatedTime: datetime.datetime(2022, 12, 18, 17, 0) - computed_dt: datetime.datetime(2022, 12, 18, 17, 0) - original: '1700 tomorrow' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=24326) - verify_offset: 'PASS' 12:15 AM today [12, 15, 'am', True, 'today'] - calculatedTime: datetime.datetime(2022, 12, 17, 0, 15) - computed_dt: datetime.datetime(2022, 12, 17, 0, 15) - original: '12:15 AM today' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=50426) - verify_offset: 'PASS' 3pm 2 days from today [3, 'pm', True, 2, 'day', 1, 'today'] - calculatedTime: datetime.datetime(2022, 12, 19, 15, 0) - computed_dt: datetime.datetime(2022, 12, 19, 15, 0) - original: '3pm 2 days from today' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=2, seconds=17126) - verify_offset: 'PASS' a week from today [1, 'week', 1, 'today'] - calculatedTime: datetime.datetime(2022, 12, 24, 0, 0) - computed_dt: datetime.datetime(2022, 12, 24, 0, 0) - original: 'a week from today' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=6, seconds=49526) - verify_offset: 'PASS' a week from now [1, 'week', 1, 'now', True] - calculatedTime: datetime.datetime(2022, 12, 24, 10, 14, 34) - computed_dt: datetime.datetime(2022, 12, 24, 10, 14, 34) - original: 'a week from now' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=7) - verify_offset: 'PASS' three weeks ago [3, 'week', -1] - calculatedTime: datetime.datetime(2022, 11, 26, 0, 0) - computed_dt: datetime.datetime(2022, 11, 26, 0, 0) - original: 'three weeks ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-22, seconds=49526) - verify_offset: 'PASS' noon next Sunday ['noon', True, 1, 'Sunday'] - calculatedTime: datetime.datetime(2022, 12, 18, 12, 0) - computed_dt: datetime.datetime(2022, 12, 18, 12, 0) - original: 'noon next Sunday' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=6326) noon Sunday ['noon', True, 1, 'Sunday'] - calculatedTime: datetime.datetime(2022, 12, 18, 12, 0) - computed_dt: datetime.datetime(2022, 12, 18, 12, 0) - original: 'noon Sunday' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=6326) noon last Sunday ['noon', True, -1, 'Sunday'] - calculatedTime: datetime.datetime(2022, 12, 11, 12, 0) - computed_dt: datetime.datetime(2022, 12, 11, 12, 0) - original: 'noon last Sunday' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-6, seconds=6326) 2pm next Sunday [2, 'pm', True, 1, 'Sunday'] - calculatedTime: datetime.datetime(2022, 12, 18, 14, 0) - computed_dt: datetime.datetime(2022, 12, 18, 14, 0) - original: '2pm next Sunday' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=13526) next Sunday at 2pm [1, 'Sunday', 'at', 2, 'pm', True] - calculatedTime: datetime.datetime(2022, 12, 18, 14, 0) - computed_dt: datetime.datetime(2022, 12, 18, 14, 0) - original: 'next Sunday at 2pm' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=1, seconds=13526) last Sunday at 2pm [-1, 'Sunday', 'at', 2, 'pm', True] - calculatedTime: datetime.datetime(2022, 12, 11, 14, 0) - computed_dt: datetime.datetime(2022, 12, 11, 14, 0) - original: 'last Sunday at 2pm' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-6, seconds=13526) 10 seconds ago [10, 'second', -1, True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 14, 24) - computed_dt: datetime.datetime(2022, 12, 17, 10, 14, 24) - original: '10 seconds ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=86390) - verify_offset: 'PASS' 100 seconds ago [100, 'second', -1, True] - calculatedTime: datetime.datetime(2022, 12, 17, 10, 12, 54) - computed_dt: datetime.datetime(2022, 12, 17, 10, 12, 54) - original: '100 seconds ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=86300) - verify_offset: 'PASS' 1000 seconds ago [1000, 'second', -1, True] - calculatedTime: datetime.datetime(2022, 12, 17, 9, 57, 54) - computed_dt: datetime.datetime(2022, 12, 17, 9, 57, 54) - original: '1000 seconds ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=85400) - verify_offset: 'PASS' ..... 10000 seconds ago [10000, 'second', -1, True] - calculatedTime: datetime.datetime(2022, 12, 17, 7, 27, 54) - computed_dt: datetime.datetime(2022, 12, 17, 7, 27, 54) - original: '10000 seconds ago' - relative_to: datetime.datetime(2022, 12, 17, 10, 14, 34) - time_offset: datetime.timedelta(days=-1, seconds=76400) - verify_offset: 'PASS' ( A - B ) = 0 False False ( B - C + B ) = 0 True True (A + B + C + D + E + F + G + H + I) = J False False (A + B + C + D + E + F + G + H) = I False False (A + B + C + D + E + F) = G False False (A + B + C + D + E) = (F + G + H + I + J) False False (A + B + C + D + E) = (F + G + H + I) False False (A + B + C + D + E) = F False False (A + B + C + D) = (E + F + G + H) False False (A + B + C) = D False False (A + B + C) = (D + E + F) False False (A + B) = (C + D + E + F) False False (A + B) = (C + D) False False (A + B) = (C - D + E - F - G + H + I + J) False False (A + B) = C False False (A + B) = 0 False False (A+B+C+D+E) = (F+G+H+I+J) False False (A+B+C+D) = (E+F+G+H) False False (A+B+C+D)=(E+F+G+H) False False (A+B+C)=(D+E+F) False False (A+B)=(C+D) False False (A+B)=C False False (A-B)=C False False (A/(B+C)) 0.0 0.0 (B/(C+D)) 0.2 0.2 (G + H) = I False False -0.99 LE ((A+B+C)-(D+E+F+G)) LE 0.99 False False -0.99 LE (A-(B+C)) LE 0.99 False False -1000.00 LE A LE 0.00 True True -5000.00 LE A LE 0.00 True True A < B True True A < 7000 True True A = -(B) False False A = C False False A = 0 True True A GT 0 False False A GT 0.00 False False A GT 7.00 False False A LE B True True A LT -1000.00 False False A LT -5000 False False A LT 0 False False G=(B+C+D) True True A=B False False I = (G + H) False False 0.00 LE A LE 4.00 True True 4.00 LT A LE 7.00 False False 0.00 LE A LE 4.00 LE E > D True True 2**2**(A+3) 256 256.0 # Canadian (English and French) 4 294 967 295,000 [4294967295.0] # Danish 4 294 967 295,000 [4294967295.0] # Finnish 4 294 967 295,000 [4294967295.0] # French 4 294 967 295,000 [4294967295.0] # German 4 294 967 295,000 [4294967295.0] # Italian 4.294.967.295,000 [4294967295.0] # Norwegian 4.294.967.295,000 [4294967295.0] # Spanish 4.294.967.295,000 [4294967295.0] # Swedish 4 294 967 295,000 [4294967295.0] # GB-English 4,294,967,295.000 [4294967295.0] # US-English 4,294,967,295.000 [4294967295.0] # Thai 4,294,967,295.000 [4294967295.0] # Canadian (English and French) 4 294 967 295,000 [4294967295] # Danish 4 294 967 295,000 [4294967295] # Finnish 4 294 967 295,000 [4294967295] # French 4 294 967 295,000 [4294967295] # German 4 294 967 295,000 [4294967295] # Italian 4.294.967.295,000 [4294967295] # Norwegian 4.294.967.295,000 [4294967295] # Spanish 4.294.967.295,000 [4294967295] # Swedish 4 294 967 295,000 [4294967295] # GB-English 4,294,967,295.000 [4294967295] # US-English 4,294,967,295.000 [4294967295] # Thai 4,294,967,295.000 [4294967295] [[['int'], 'putstr', [[['char', '*'], 's']], [['while', ['*', 's'], [['putchar', [[['*', 's'], '++']]]]]]], [['int'], 'fac', [[['int'], 'n']], [['if', ['n', '==', '0'], ['return', '1'], 'else', ['return', ['n', '*', ['fac', [['n', '-', '1']]]]]]]], [['int'], 'putn', [[['int'], 'n']], [['if', ['9', '<', 'n'], [['putn', [['n', '/', '10']]]]], [['putchar', [[['n', '%', '10'], '+', "'0'"]]]]]], [['int'], 'facpr', [[['int'], 'n']], [[['putstr', ['"factorial "']]], [['putn', ['n']]], [['putstr', ['" = "']]], [['putn', [['fac', ['n']]]]], [['putstr', ['"\\n"']]]]], [['int'], 'main', [[['int'], 'i'], [['i', '=', '0']], ['if', [['a', []], '==', '1'], []], ['while', ['i', '<', '10'], [['facpr', [['i', '++']]]]], ['return', '0']]]] XVI [16] XXXIX [39] XIV [14] XIX [19] MCMLXXX [1980] MMVI [2006] MMMMM [5000] select * from xyzzy where z > 100 ['SELECT', [['*']], 'FROM', ['xyzzy'], 'WHERE', [['z'], '>', 100]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['xyzzy']] [0]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] - where_expr: [['z'], '>', 100] [0]: ['z'] - col: 'z' [1]: > [2]: 100 [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] [4]: WHERE [5]: [['z'], '>', 100] [0]: ['z'] - col: 'z' [1]: > [2]: 100 select * from xyzzy where z > 100 order by zz ['SELECT', [['*']], 'FROM', ['xyzzy'], 'WHERE', [['z'], '>', 100], 'ORDER', 'BY', [[['zz']]]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['xyzzy']] [0]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] - order_by_terms: [[['zz']]] [0]: [['zz']] - order_key: ['zz'] - col: 'zz' [0]: ['zz'] - col: 'zz' - where_expr: [['z'], '>', 100] [0]: ['z'] - col: 'z' [1]: > [2]: 100 [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] [4]: WHERE [5]: [['z'], '>', 100] [0]: ['z'] - col: 'z' [1]: > [2]: 100 [6]: ORDER [7]: BY [8]: [[['zz']]] [0]: [['zz']] - order_key: ['zz'] - col: 'zz' [0]: ['zz'] - col: 'zz' select * from xyzzy ['SELECT', [['*']], 'FROM', ['xyzzy']] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['xyzzy']] [0]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] select z.* from xyzzy ['SELECT', [['z', '.', '*']], 'FROM', ['xyzzy']] - columns: [['z', '.', '*']] [0]: ['z', '.', '*'] - col: '*' - col_table: ['z'] - from: [['xyzzy']] [0]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] [0]: SELECT [1]: [['z', '.', '*']] [0]: ['z', '.', '*'] - col: '*' - col_table: ['z'] [2]: FROM [3]: ['xyzzy'] - table: [['xyzzy']] [0]: ['xyzzy'] select a, b from test_table where 1=1 and b='yes' ['SELECT', [[['a']], [['b']]], 'FROM', ['test_table'], 'WHERE', [[1, '=', 1], 'AND', [['b'], '=', 'yes']]] - columns: [[['a']], [['b']]] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' - from: [['test_table']] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] - where_expr: [[1, '=', 1], 'AND', [['b'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['b'], '=', 'yes'] [0]: ['b'] - col: 'b' [1]: = [2]: yes [0]: SELECT [1]: [[['a']], [['b']]] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [2]: FROM [3]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['b'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['b'], '=', 'yes'] [0]: ['b'] - col: 'b' [1]: = [2]: yes select a, b from test_table where 1=1 and b in (select bb from foo) ['SELECT', [[['a']], [['b']]], 'FROM', ['test_table'], 'WHERE', [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]]] - columns: [[['a']], [['b']]] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' - from: [['test_table']] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] - where_expr: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['a']], [['b']]] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [2]: FROM [3]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] select z.a, b from test_table where 1=1 and b in (select bb from foo) ['SELECT', [[['z', '.', 'a']], [['b']]], 'FROM', ['test_table'], 'WHERE', [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]]] - columns: [[['z', '.', 'a']], [['b']]] [0]: [['z', '.', 'a']] - col: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [0]: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' - from: [['test_table']] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] - where_expr: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['z', '.', 'a']], [['b']]] [0]: [['z', '.', 'a']] - col: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [0]: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [2]: FROM [3]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] select z.a, b from test_table where 1=1 and b in (select bb from foo) order by b,c desc,d ['SELECT', [[['z', '.', 'a']], [['b']]], 'FROM', ['test_table'], 'WHERE', [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]], 'ORDER', 'BY', [[['b']], [['c'], 'DESC'], [['d']]]] - columns: [[['z', '.', 'a']], [['b']]] [0]: [['z', '.', 'a']] - col: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [0]: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' - from: [['test_table']] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] - order_by_terms: [[['b']], [['c'], 'DESC'], [['d']]] [0]: [['b']] - order_key: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [1]: [['c'], 'DESC'] - direction: 'DESC' - order_key: ['c'] - col: 'c' [0]: ['c'] - col: 'c' [1]: DESC [2]: [['d']] - order_key: ['d'] - col: 'd' [0]: ['d'] - col: 'd' - where_expr: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['z', '.', 'a']], [['b']]] [0]: [['z', '.', 'a']] - col: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [0]: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [2]: FROM [3]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] [6]: ORDER [7]: BY [8]: [[['b']], [['c'], 'DESC'], [['d']]] [0]: [['b']] - order_key: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [1]: [['c'], 'DESC'] - direction: 'DESC' - order_key: ['c'] - col: 'c' [0]: ['c'] - col: 'c' [1]: DESC [2]: [['d']] - order_key: ['d'] - col: 'd' [0]: ['d'] - col: 'd' select z.a, b from test_table left join test2_table where 1=1 and b in (select bb from foo) ['SELECT', [[['z', '.', 'a']], [['b']]], 'FROM', [['test_table'], ['LEFT', 'JOIN'], ['test2_table'], []], 'WHERE', [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]]] - columns: [[['z', '.', 'a']], [['b']]] [0]: [['z', '.', 'a']] - col: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [0]: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' - from: [[['test_table'], ['LEFT', 'JOIN'], ['test2_table'], []]] [0]: [['test_table'], ['LEFT', 'JOIN'], ['test2_table'], []] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [1]: ['LEFT', 'JOIN'] [2]: ['test2_table'] - table: [['test2_table']] [0]: ['test2_table'] [3]: [] - where_expr: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['z', '.', 'a']], [['b']]] [0]: [['z', '.', 'a']] - col: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [0]: ['z', '.', 'a'] - col: 'a' - col_tab: 'z' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [2]: FROM [3]: [['test_table'], ['LEFT', 'JOIN'], ['test2_table'], []] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [1]: ['LEFT', 'JOIN'] [2]: ['test2_table'] - table: [['test2_table']] [0]: ['test2_table'] [3]: [] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]]] [0]: [1, '=', 1] [1]: AND [2]: [['b'], 'IN', ['SELECT', [[['bb']]], 'FROM', ['foo']]] [0]: ['b'] - col: 'b' [1]: IN [2]: ['SELECT', [[['bb']]], 'FROM', ['foo']] - columns: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' - from: [['foo']] [0]: ['foo'] - table: [['foo']] [0]: ['foo'] [0]: SELECT [1]: [[['bb']]] [0]: [['bb']] - col: ['bb'] - col: 'bb' [0]: ['bb'] - col: 'bb' [2]: FROM [3]: ['foo'] - table: [['foo']] [0]: ['foo'] select a, db.table.b as BBB from db.table where 1=1 and BBB='yes' ['SELECT', [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']], 'FROM', ['db', '.', 'table'], 'WHERE', [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']]] - columns: [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['db', '.', 'table', '.', 'b'], 'AS', 'bbb'] - alias: ['bbb'] - col: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [0]: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [1]: AS [2]: bbb - from: [['db', '.', 'table']] [0]: ['db', '.', 'table'] - database: ['db'] - table: [['table']] [0]: ['table'] - where_expr: [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['bbb'], '=', 'yes'] [0]: ['bbb'] - col: 'bbb' [1]: = [2]: yes [0]: SELECT [1]: [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['db', '.', 'table', '.', 'b'], 'AS', 'bbb'] - alias: ['bbb'] - col: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [0]: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [1]: AS [2]: bbb [2]: FROM [3]: ['db', '.', 'table'] - database: ['db'] - table: [['table']] [0]: ['table'] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['bbb'], '=', 'yes'] [0]: ['bbb'] - col: 'bbb' [1]: = [2]: yes select a, db.table.b as BBB from test_table,db.table where 1=1 and BBB='yes' ['SELECT', [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']], 'FROM', [['test_table'], ['db', '.', 'table'], []], 'WHERE', [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']]] - columns: [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['db', '.', 'table', '.', 'b'], 'AS', 'bbb'] - alias: ['bbb'] - col: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [0]: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [1]: AS [2]: bbb - from: [[['test_table'], ['db', '.', 'table'], []]] [0]: [['test_table'], ['db', '.', 'table'], []] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [1]: ['db', '.', 'table'] - database: ['db'] - table: [['table']] [0]: ['table'] [2]: [] - where_expr: [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['bbb'], '=', 'yes'] [0]: ['bbb'] - col: 'bbb' [1]: = [2]: yes [0]: SELECT [1]: [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['db', '.', 'table', '.', 'b'], 'AS', 'bbb'] - alias: ['bbb'] - col: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [0]: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [1]: AS [2]: bbb [2]: FROM [3]: [['test_table'], ['db', '.', 'table'], []] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [1]: ['db', '.', 'table'] - database: ['db'] - table: [['table']] [0]: ['table'] [2]: [] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['bbb'], '=', 'yes'] [0]: ['bbb'] - col: 'bbb' [1]: = [2]: yes select a, db.table.b as BBB from test_table,db.table where 1=1 and BBB='yes' limit 50 ['SELECT', [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']], 'FROM', [['test_table'], ['db', '.', 'table'], []], 'WHERE', [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']], 'LIMIT', 50] - columns: [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['db', '.', 'table', '.', 'b'], 'AS', 'bbb'] - alias: ['bbb'] - col: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [0]: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [1]: AS [2]: bbb - from: [[['test_table'], ['db', '.', 'table'], []]] [0]: [['test_table'], ['db', '.', 'table'], []] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [1]: ['db', '.', 'table'] - database: ['db'] - table: [['table']] [0]: ['table'] [2]: [] - limit: [50] - where_expr: [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['bbb'], '=', 'yes'] [0]: ['bbb'] - col: 'bbb' [1]: = [2]: yes [0]: SELECT [1]: [[['a']], [['db', '.', 'table', '.', 'b'], 'AS', 'bbb']] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['db', '.', 'table', '.', 'b'], 'AS', 'bbb'] - alias: ['bbb'] - col: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [0]: ['db', '.', 'table', '.', 'b'] - col: 'b' - col_db: 'db' - col_tab: 'table' [1]: AS [2]: bbb [2]: FROM [3]: [['test_table'], ['db', '.', 'table'], []] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [1]: ['db', '.', 'table'] - database: ['db'] - table: [['table']] [0]: ['table'] [2]: [] [4]: WHERE [5]: [[1, '=', 1], 'AND', [['bbb'], '=', 'yes']] [0]: [1, '=', 1] [1]: AND [2]: [['bbb'], '=', 'yes'] [0]: ['bbb'] - col: 'bbb' [1]: = [2]: yes [6]: LIMIT [7]: 50 select a, b from test_table where (1=1 or 2=3) and b='yes' group by zx having b=2 order by 1 ['SELECT', [[['a']], [['b']]], 'FROM', ['test_table'], 'WHERE', [[[1, '=', 1], 'OR', [2, '=', 3]], 'AND', [['b'], '=', 'yes']], 'GROUP', 'BY', [[['zx']]], 'HAVING', [['b'], '=', 2], 'ORDER', 'BY', [[1]]] - columns: [[['a']], [['b']]] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' - from: [['test_table']] [0]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] - group_by_terms: [[['zx']]] [0]: [['zx']] - order_key: ['zx'] - col: 'zx' [0]: ['zx'] - col: 'zx' - having_expr: [['b'], '=', 2] [0]: ['b'] - col: 'b' [1]: = [2]: 2 - order_by_terms: [[1]] [0]: [1] - order_key: 1 - where_expr: [[[1, '=', 1], 'OR', [2, '=', 3]], 'AND', [['b'], '=', 'yes']] [0]: [[1, '=', 1], 'OR', [2, '=', 3]] [0]: [1, '=', 1] [1]: OR [2]: [2, '=', 3] [1]: AND [2]: [['b'], '=', 'yes'] [0]: ['b'] - col: 'b' [1]: = [2]: yes [0]: SELECT [1]: [[['a']], [['b']]] [0]: [['a']] - col: ['a'] - col: 'a' [0]: ['a'] - col: 'a' [1]: [['b']] - col: ['b'] - col: 'b' [0]: ['b'] - col: 'b' [2]: FROM [3]: ['test_table'] - table: [['test_table']] [0]: ['test_table'] [4]: WHERE [5]: [[[1, '=', 1], 'OR', [2, '=', 3]], 'AND', [['b'], '=', 'yes']] [0]: [[1, '=', 1], 'OR', [2, '=', 3]] [0]: [1, '=', 1] [1]: OR [2]: [2, '=', 3] [1]: AND [2]: [['b'], '=', 'yes'] [0]: ['b'] - col: 'b' [1]: = [2]: yes [6]: GROUP [7]: BY [8]: [[['zx']]] [0]: [['zx']] - order_key: ['zx'] - col: 'zx' [0]: ['zx'] - col: 'zx' [9]: HAVING [10]: [['b'], '=', 2] [0]: ['b'] - col: 'b' [1]: = [2]: 2 [11]: ORDER [12]: BY [13]: [[1]] [0]: [1] - order_key: 1 SELECT emp.ename as e FROM scott.employee as emp ['SELECT', [[['emp', '.', 'ename'], 'AS', 'e']], 'FROM', ['scott', '.', 'employee'], 'AS', 'emp'] - columns: [[['emp', '.', 'ename'], 'AS', 'e']] [0]: [['emp', '.', 'ename'], 'AS', 'e'] - alias: ['e'] - col: ['emp', '.', 'ename'] - col: 'ename' - col_tab: 'emp' [0]: ['emp', '.', 'ename'] - col: 'ename' - col_tab: 'emp' [1]: AS [2]: e - from: [['scott', '.', 'employee']] [0]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] - table_alias: ['emp'] [0]: SELECT [1]: [[['emp', '.', 'ename'], 'AS', 'e']] [0]: [['emp', '.', 'ename'], 'AS', 'e'] - alias: ['e'] - col: ['emp', '.', 'ename'] - col: 'ename' - col_tab: 'emp' [0]: ['emp', '.', 'ename'] - col: 'ename' - col_tab: 'emp' [1]: AS [2]: e [2]: FROM [3]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] [4]: AS [5]: emp SELECT ename as e, fname as f FROM scott.employee as emp ['SELECT', [[['ename'], 'AS', 'e'], [['fname'], 'AS', 'f']], 'FROM', ['scott', '.', 'employee'], 'AS', 'emp'] - columns: [[['ename'], 'AS', 'e'], [['fname'], 'AS', 'f']] [0]: [['ename'], 'AS', 'e'] - alias: ['e'] - col: ['ename'] - col: 'ename' [0]: ['ename'] - col: 'ename' [1]: AS [2]: e [1]: [['fname'], 'AS', 'f'] - alias: ['f'] - col: ['fname'] - col: 'fname' [0]: ['fname'] - col: 'fname' [1]: AS [2]: f - from: [['scott', '.', 'employee']] [0]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] - table_alias: ['emp'] [0]: SELECT [1]: [[['ename'], 'AS', 'e'], [['fname'], 'AS', 'f']] [0]: [['ename'], 'AS', 'e'] - alias: ['e'] - col: ['ename'] - col: 'ename' [0]: ['ename'] - col: 'ename' [1]: AS [2]: e [1]: [['fname'], 'AS', 'f'] - alias: ['f'] - col: ['fname'] - col: 'fname' [0]: ['fname'] - col: 'fname' [1]: AS [2]: f [2]: FROM [3]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] [4]: AS [5]: emp SELECT emp.eid, fname,lname FROM scott.employee as emp ['SELECT', [[['emp', '.', 'eid']], [['fname']], [['lname']]], 'FROM', ['scott', '.', 'employee'], 'AS', 'emp'] - columns: [[['emp', '.', 'eid']], [['fname']], [['lname']]] [0]: [['emp', '.', 'eid']] - col: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' [0]: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' [1]: [['fname']] - col: ['fname'] - col: 'fname' [0]: ['fname'] - col: 'fname' [2]: [['lname']] - col: ['lname'] - col: 'lname' [0]: ['lname'] - col: 'lname' - from: [['scott', '.', 'employee']] [0]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] - table_alias: ['emp'] [0]: SELECT [1]: [[['emp', '.', 'eid']], [['fname']], [['lname']]] [0]: [['emp', '.', 'eid']] - col: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' [0]: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' [1]: [['fname']] - col: ['fname'] - col: 'fname' [0]: ['fname'] - col: 'fname' [2]: [['lname']] - col: ['lname'] - col: 'lname' [0]: ['lname'] - col: 'lname' [2]: FROM [3]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] [4]: AS [5]: emp SELECT ename, lname, emp.eid FROM scott.employee as emp ['SELECT', [[['ename']], [['lname']], [['emp', '.', 'eid']]], 'FROM', ['scott', '.', 'employee'], 'AS', 'emp'] - columns: [[['ename']], [['lname']], [['emp', '.', 'eid']]] [0]: [['ename']] - col: ['ename'] - col: 'ename' [0]: ['ename'] - col: 'ename' [1]: [['lname']] - col: ['lname'] - col: 'lname' [0]: ['lname'] - col: 'lname' [2]: [['emp', '.', 'eid']] - col: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' [0]: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' - from: [['scott', '.', 'employee']] [0]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] - table_alias: ['emp'] [0]: SELECT [1]: [[['ename']], [['lname']], [['emp', '.', 'eid']]] [0]: [['ename']] - col: ['ename'] - col: 'ename' [0]: ['ename'] - col: 'ename' [1]: [['lname']] - col: ['lname'] - col: 'lname' [0]: ['lname'] - col: 'lname' [2]: [['emp', '.', 'eid']] - col: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' [0]: ['emp', '.', 'eid'] - col: 'eid' - col_tab: 'emp' [2]: FROM [3]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] [4]: AS [5]: emp select emp.salary * (1.0 + emp.bonus) as salary_plus_bonus from scott.employee as emp ['SELECT', [[[['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]], 'AS', 'salary_plus_bonus']], 'FROM', ['scott', '.', 'employee'], 'AS', 'emp'] - columns: [[[['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]], 'AS', 'salary_plus_bonus']] [0]: [[['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]], 'AS', 'salary_plus_bonus'] - alias: ['salary_plus_bonus'] - col: [['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]] [0]: ['emp', '.', 'salary'] - col: 'salary' - col_tab: 'emp' [1]: * [2]: [1.0, '+', ['emp', '.', 'bonus']] [0]: 1.0 [1]: + [2]: ['emp', '.', 'bonus'] - col: 'bonus' - col_tab: 'emp' [0]: [['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]] [0]: ['emp', '.', 'salary'] - col: 'salary' - col_tab: 'emp' [1]: * [2]: [1.0, '+', ['emp', '.', 'bonus']] [0]: 1.0 [1]: + [2]: ['emp', '.', 'bonus'] - col: 'bonus' - col_tab: 'emp' [1]: AS [2]: salary_plus_bonus - from: [['scott', '.', 'employee']] [0]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] - table_alias: ['emp'] [0]: SELECT [1]: [[[['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]], 'AS', 'salary_plus_bonus']] [0]: [[['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]], 'AS', 'salary_plus_bonus'] - alias: ['salary_plus_bonus'] - col: [['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]] [0]: ['emp', '.', 'salary'] - col: 'salary' - col_tab: 'emp' [1]: * [2]: [1.0, '+', ['emp', '.', 'bonus']] [0]: 1.0 [1]: + [2]: ['emp', '.', 'bonus'] - col: 'bonus' - col_tab: 'emp' [0]: [['emp', '.', 'salary'], '*', [1.0, '+', ['emp', '.', 'bonus']]] [0]: ['emp', '.', 'salary'] - col: 'salary' - col_tab: 'emp' [1]: * [2]: [1.0, '+', ['emp', '.', 'bonus']] [0]: 1.0 [1]: + [2]: ['emp', '.', 'bonus'] - col: 'bonus' - col_tab: 'emp' [1]: AS [2]: salary_plus_bonus [2]: FROM [3]: ['scott', '.', 'employee'] - database: ['scott'] - table: [['employee']] [0]: ['employee'] [4]: AS [5]: emp SELECT * FROM abcd WHERE (ST_Overlaps("GEOM", 'POINT(0 0)')) ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', 'st_overlaps', ['GEOM'], 'POINT(0 0)'] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: 'st_overlaps' [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: st_overlaps [6]: ['GEOM'] - col: 'GEOM' [7]: POINT(0 0) SELECT * FROM abcd WHERE CAST(foo AS REAL) > -999.123 ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', ['CAST', ['foo'], 'AS', 'REAL', '>', ['-', 999.123]]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: ['CAST', ['foo'], 'AS', 'REAL', '>', ['-', 999.123]] [0]: CAST [1]: ['foo'] - col: 'foo' [2]: AS [3]: REAL [4]: > [5]: ['-', 999.123] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: ['CAST', ['foo'], 'AS', 'REAL', '>', ['-', 999.123]] [0]: CAST [1]: ['foo'] - col: 'foo' [2]: AS [3]: REAL [4]: > [5]: ['-', 999.123] SELECT * FROM abcd WHERE bar BETWEEN +180 AND +10E9 ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['bar'], 'BETWEEN', ['+', 180], 'AND', ['+', 10000000000.0]]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['bar'], 'BETWEEN', ['+', 180], 'AND', ['+', 10000000000.0]] [0]: ['bar'] - col: 'bar' [1]: BETWEEN [2]: ['+', 180] [3]: AND [4]: ['+', 10000000000.0] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['bar'], 'BETWEEN', ['+', 180], 'AND', ['+', 10000000000.0]] [0]: ['bar'] - col: 'bar' [1]: BETWEEN [2]: ['+', 180] [3]: AND [4]: ['+', 10000000000.0] SELECT * FROM abcd WHERE CAST(foo AS REAL) < (4 + -9.876E-4) ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', ['CAST', ['foo'], 'AS', 'REAL', '<', [4, '+', ['-', 0.0009876]]]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: ['CAST', ['foo'], 'AS', 'REAL', '<', [4, '+', ['-', 0.0009876]]] [0]: CAST [1]: ['foo'] - col: 'foo' [2]: AS [3]: REAL [4]: < [5]: [4, '+', ['-', 0.0009876]] [0]: 4 [1]: + [2]: ['-', 0.0009876] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: ['CAST', ['foo'], 'AS', 'REAL', '<', [4, '+', ['-', 0.0009876]]] [0]: CAST [1]: ['foo'] - col: 'foo' [2]: AS [3]: REAL [4]: < [5]: [4, '+', ['-', 0.0009876]] [0]: 4 [1]: + [2]: ['-', 0.0009876] SELECT SomeFunc(99) ['SELECT', [['somefunc', 99]]] - columns: [['somefunc', 99]] [0]: ['somefunc', 99] - col: 'somefunc' [0]: SELECT [1]: [['somefunc', 99]] [0]: ['somefunc', 99] - col: 'somefunc' SELECT * FROM abcd WHERE ST_X(ST_Centroid(geom)) BETWEEN (-180*2) AND (180*2) ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', ['st_x', 'st_centroid', ['geom'], 'BETWEEN', [['-', 180], '*', 2], 'AND', [180, '*', 2]]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: ['st_x', 'st_centroid', ['geom'], 'BETWEEN', [['-', 180], '*', 2], 'AND', [180, '*', 2]] [0]: st_x [1]: st_centroid [2]: ['geom'] - col: 'geom' [3]: BETWEEN [4]: [['-', 180], '*', 2] [0]: ['-', 180] [1]: * [2]: 2 [5]: AND [6]: [180, '*', 2] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: ['st_x', 'st_centroid', ['geom'], 'BETWEEN', [['-', 180], '*', 2], 'AND', [180, '*', 2]] [0]: st_x [1]: st_centroid [2]: ['geom'] - col: 'geom' [3]: BETWEEN [4]: [['-', 180], '*', 2] [0]: ['-', 180] [1]: * [2]: 2 [5]: AND [6]: [180, '*', 2] SELECT * FROM abcd WHERE a ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', ['a']] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: ['a'] - col: 'a' [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: ['a'] - col: 'a' SELECT * FROM abcd WHERE snowy_things REGEXP '[⛄️☃️☃🎿🏂🌨❄️⛷🏔🗻❄︎❆❅]' ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['snowy_things'], 'REGEXP', '[⛄️☃️☃🎿🏂🌨❄️⛷🏔🗻❄︎❆❅]']] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['snowy_things'], 'REGEXP', '[⛄️☃️☃🎿🏂🌨❄️⛷🏔🗻❄︎❆❅]'] [0]: ['snowy_things'] - col: 'snowy_things' [1]: REGEXP [2]: [⛄️☃️☃🎿🏂🌨❄️⛷🏔🗻❄︎❆❅] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['snowy_things'], 'REGEXP', '[⛄️☃️☃🎿🏂🌨❄️⛷🏔🗻❄︎❆❅]'] [0]: ['snowy_things'] - col: 'snowy_things' [1]: REGEXP [2]: [⛄️☃️☃🎿🏂🌨❄️⛷🏔🗻❄︎❆❅] SELECT * FROM abcd WHERE a."b" IN 4 ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['a', '.', 'b'], 'IN', 4]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['a', '.', 'b'], 'IN', 4] [0]: ['a', '.', 'b'] - col: 'b' - col_tab: 'a' [1]: IN [2]: 4 [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['a', '.', 'b'], 'IN', 4] [0]: ['a', '.', 'b'] - col: 'b' - col_tab: 'a' [1]: IN [2]: 4 SELECT * FROM abcd WHERE a."b" In ('4') ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['a', '.', 'b'], 'IN', '4']] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['a', '.', 'b'], 'IN', '4'] [0]: ['a', '.', 'b'] - col: 'b' - col_tab: 'a' [1]: IN [2]: 4 [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['a', '.', 'b'], 'IN', '4'] [0]: ['a', '.', 'b'] - col: 'b' - col_tab: 'a' [1]: IN [2]: 4 SELECT * FROM "a".b AS "E" WHERE "E"."C" >= CURRENT_Time ['SELECT', [['*']], 'FROM', ['a', '.', 'b'], 'AS', 'E', 'WHERE', [['E', '.', 'C'], '>=', 'CURRENT_TIME']] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['a', '.', 'b']] [0]: ['a', '.', 'b'] - database: ['a'] - table: [['b']] [0]: ['b'] - table_alias: ['E'] - where_expr: [['E', '.', 'C'], '>=', 'CURRENT_TIME'] [0]: ['E', '.', 'C'] - col: 'C' - col_tab: 'E' [1]: >= [2]: CURRENT_TIME [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['a', '.', 'b'] - database: ['a'] - table: [['b']] [0]: ['b'] [4]: AS [5]: E [6]: WHERE [7]: [['E', '.', 'C'], '>=', 'CURRENT_TIME'] [0]: ['E', '.', 'C'] - col: 'C' - col_tab: 'E' [1]: >= [2]: CURRENT_TIME SELECT * FROM abcd WHERE "dave" != "Dave" -- names & things ☃️ ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['dave'], '!=', ['Dave']]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['dave'], '!=', ['Dave']] [0]: ['dave'] - col: 'dave' [1]: != [2]: ['Dave'] - col: 'Dave' [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['dave'], '!=', ['Dave']] [0]: ['dave'] - col: 'dave' [1]: != [2]: ['Dave'] - col: 'Dave' SELECT * FROM a WHERE a.dave is not null ['SELECT', [['*']], 'FROM', ['a'], 'WHERE', [['a', '.', 'dave'], 'IS', ['NOT', 'NULL']]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['a']] [0]: ['a'] - table: [['a']] [0]: ['a'] - where_expr: [['a', '.', 'dave'], 'IS', ['NOT', 'NULL']] [0]: ['a', '.', 'dave'] - col: 'dave' - col_tab: 'a' [1]: IS [2]: ['NOT', 'NULL'] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['a'] - table: [['a']] [0]: ['a'] [4]: WHERE [5]: [['a', '.', 'dave'], 'IS', ['NOT', 'NULL']] [0]: ['a', '.', 'dave'] - col: 'dave' - col_tab: 'a' [1]: IS [2]: ['NOT', 'NULL'] SELECT * FROM abcd WHERE pete == FALSE or peter is true ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [[['pete'], '==', 'FALSE'], 'OR', [['peter'], 'IS', 'TRUE']]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [[['pete'], '==', 'FALSE'], 'OR', [['peter'], 'IS', 'TRUE']] [0]: [['pete'], '==', 'FALSE'] [0]: ['pete'] - col: 'pete' [1]: == [2]: FALSE [1]: OR [2]: [['peter'], 'IS', 'TRUE'] [0]: ['peter'] - col: 'peter' [1]: IS [2]: TRUE [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [[['pete'], '==', 'FALSE'], 'OR', [['peter'], 'IS', 'TRUE']] [0]: [['pete'], '==', 'FALSE'] [0]: ['pete'] - col: 'pete' [1]: == [2]: FALSE [1]: OR [2]: [['peter'], 'IS', 'TRUE'] [0]: ['peter'] - col: 'peter' [1]: IS [2]: TRUE SELECT * FROM abcd WHERE a >= 10 * (2 + 3) ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['a'], '>=', [10, '*', [2, '+', 3]]]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['a'], '>=', [10, '*', [2, '+', 3]]] [0]: ['a'] - col: 'a' [1]: >= [2]: [10, '*', [2, '+', 3]] [0]: 10 [1]: * [2]: [2, '+', 3] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['a'], '>=', [10, '*', [2, '+', 3]]] [0]: ['a'] - col: 'a' [1]: >= [2]: [10, '*', [2, '+', 3]] [0]: 10 [1]: * [2]: [2, '+', 3] SELECT * FROM abcd WHERE frank = 'is ''scary''' ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['frank'], '=', "is 'scary'"]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['frank'], '=', "is 'scary'"] [0]: ['frank'] - col: 'frank' [1]: = [2]: is 'scary' [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['frank'], '=', "is 'scary'"] [0]: ['frank'] - col: 'frank' [1]: = [2]: is 'scary' SELECT * FROM abcd WHERE "identifier with ""quotes"" and a trailing space " IS NOT FALSE ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['identifier with "quotes" and a trailing space '], 'IS', ['NOT', 'FALSE']]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['identifier with "quotes" and a trailing space '], 'IS', ['NOT', 'FALSE']] [0]: ['identifier with "quotes" and a trailing space '] - col: 'identifier with "quotes" and a trailing space ' [1]: IS [2]: ['NOT', 'FALSE'] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['identifier with "quotes" and a trailing space '], 'IS', ['NOT', 'FALSE']] [0]: ['identifier with "quotes" and a trailing space '] - col: 'identifier with "quotes" and a trailing space ' [1]: IS [2]: ['NOT', 'FALSE'] . SELECT * FROM abcd WHERE blobby == x'C0FFEE' -- hex ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['blobby'], '==', "x'C0FFEE'"]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['blobby'], '==', "x'C0FFEE'"] [0]: ['blobby'] - col: 'blobby' [1]: == [2]: x'C0FFEE' [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['blobby'], '==', "x'C0FFEE'"] [0]: ['blobby'] - col: 'blobby' [1]: == [2]: x'C0FFEE' SELECT * FROM abcd WHERE ff NOT IN (1,2,4,5) ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['ff'], ['NOT', 'IN'], [1, 2, 4, 5]]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['ff'], ['NOT', 'IN'], [1, 2, 4, 5]] [0]: ['ff'] - col: 'ff' [1]: ['NOT', 'IN'] [2]: [1, 2, 4, 5] [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['ff'], ['NOT', 'IN'], [1, 2, 4, 5]] [0]: ['ff'] - col: 'ff' [1]: ['NOT', 'IN'] [2]: [1, 2, 4, 5] SELECT * FROM abcd WHERE ff not between 3 and 9 ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['ff'], ['NOT', 'BETWEEN'], 3, 'AND', 9]] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['ff'], ['NOT', 'BETWEEN'], 3, 'AND', 9] [0]: ['ff'] - col: 'ff' [1]: ['NOT', 'BETWEEN'] [2]: 3 [3]: AND [4]: 9 [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['ff'], ['NOT', 'BETWEEN'], 3, 'AND', 9] [0]: ['ff'] - col: 'ff' [1]: ['NOT', 'BETWEEN'] [2]: 3 [3]: AND [4]: 9 SELECT * FROM abcd WHERE ff not like 'bob%' ['SELECT', [['*']], 'FROM', ['abcd'], 'WHERE', [['ff'], ['NOT', 'LIKE'], 'bob%']] - columns: [['*']] [0]: ['*'] - col: '*' - from: [['abcd']] [0]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] - where_expr: [['ff'], ['NOT', 'LIKE'], 'bob%'] [0]: ['ff'] - col: 'ff' [1]: ['NOT', 'LIKE'] [2]: bob% [0]: SELECT [1]: [['*']] [0]: ['*'] - col: '*' [2]: FROM [3]: ['abcd'] - table: [['abcd']] [0]: ['abcd'] [4]: WHERE [5]: [['ff'], ['NOT', 'LIKE'], 'bob%'] [0]: ['ff'] - col: 'ff' [1]: ['NOT', 'LIKE'] [2]: bob% OK (snicker "abc" (#03# |YWJj|)) [['snicker', 'abc', [b'abc']]] (certificate (issuer (name (public-key rsa-with-md5 (e 15 |NFGq/E3wh9f4rJIQVXhS|) (n |d738/4ghP9rFZ0gAIYZ5q9y6iskDJwASi5rEQpEQq8ZyMZeIZzIAR2I5iGE=|)) aid-committee)) (subject (ref (public-key rsa-with-md5 (e |NFGq/E3wh9f4rJIQVXhS|) (n |d738/4ghP9rFZ0gAIYZ5q9y6iskDJwASi5rEQpEQq8ZyMZeIZzIAR2I5iGE=|)) tom mother)) (not-before "1997-01-01_09:00:00") (not-after "1998-01-01_09:00:00") (tag (spend (account "12345678") (* numeric range "1" "1000")))) [['certificate', ['issuer', ['name', ['public-key', 'rsa-with-md5', ['e', b'4Q\xaa\xfcM\xf0\x87\xd7\xf8\xac\x92\x10UxR'], ['n', b"w\xbd\xfc\xff\x88!?\xda\xc5gH\x00!\x86y\xab\xdc\xba\x8a\xc9\x03'\x00\x12\x8b\x9a\xc4B\x91\x10\xab\xc6r1\x97\x88g2\x00Gb9\x88a"]], 'aid-committee']], ['subject', ['ref', ['public-key', 'rsa-with-md5', ['e', b'4Q\xaa\xfcM\xf0\x87\xd7\xf8\xac\x92\x10UxR'], ['n', b"w\xbd\xfc\xff\x88!?\xda\xc5gH\x00!\x86y\xab\xdc\xba\x8a\xc9\x03'\x00\x12\x8b\x9a\xc4B\x91\x10\xab\xc6r1\x97\x88g2\x00Gb9\x88a"]], 'tom', 'mother']], ['not-before', '1997-01-01_09:00:00'], ['not-after', '1998-01-01_09:00:00'], ['tag', ['spend', ['account', '12345678'], ['*', 'numeric', 'range', '1', '1000']]]]] (lambda (x) (* x x)) [['lambda', ['x'], ['*', 'x', 'x']]] (def length (lambda (x) (cond ((not x) 0) ( t (+ 1 (length (cdr x)))) ) ) ) [['def', 'length', ['lambda', ['x'], ['cond', [['not', 'x'], 0], ['t', ['+', 1, ['length', ['cdr', 'x']]]]]]]] (2:XX "abc" (#03# |YWJj|)) [['XX', 'abc', [b'abc']]] (if (is (window_name) "XMMS") (set_workspace 2)) [['if', ['is', ['window_name'], 'XMMS'], ['set_workspace', 2]]] (if (and (is (application_name) "Firefox") (or (contains (window_name) "Enter name of file to save to") (contains (window_name) "Save As") (contains (window_name) "Save Image") () ) ) (geometry "+140+122") ) [['if', ['and', ['is', ['application_name'], 'Firefox'], ['or', ['contains', ['window_name'], 'Enter name of file to save to'], ['contains', ['window_name'], 'Save As'], ['contains', ['window_name'], 'Save Image'], []]], ['geometry', '+140+122']]] (defun factorial (x) (if (zerop x) 1 (* x (factorial (- x 1))))) [['defun', 'factorial', ['x'], ['if', ['zerop', 'x'], 1, ['*', 'x', ['factorial', ['-', 'x', 1]]]]]] (2:XX "abc" (#03# |YWJj|)) [['XX', 'abc', [b'abc']]] (3:XX "abc" (#03# |YWJj|)) (3:XX "abc" (#03# |YWJj|)) ^ ParseFatalException: invalid data of length 2, expected 3, found '3' (at char 1), (line:1, col:2) pyparsing.core.Forward - Forward: {{[[ {Re:('[+-]?\d+\.\d*([eE][+-]?\d+)?') | Group:({[Re:('-?0|[1-9]\d*') | {'#' {W:(0-9A-Fa-f)}... '#'}] | {W:(+/-9=A-Za-z)}... |}) | Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) | Re:('-?0|[1-9]\d*') | W:(!*+--:<->A-Z_a-z) | {'#' {W:(0-9A-Fa-f)}... '#'} | Group:({[Re:('-?0|[1-9]\d*')] string enclosed in double quotes})} ]] {Re:('[+-]?\d+\.\d*([eE][+-]?\d+)?') | Group:({[Re:('-?0|[1-9]\d*') | {'#' {W:(0-9A-Fa-f)}... '#'}] | {W:(+/-9=A-Za-z)}... |}) | Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) | Re:('-?0|[1-9]\d*') | W:(!*+--:<->A-Z_a-z) | {'#' {W:(0-9A-Fa-f)}... '#'} | Group:({[Re:('-?0|[1-9]\d*')] string enclosed in double quotes})}} | Group:({{( [: ...]...} )})} pyparsing.core.MatchFirst - {{[[ {Re:('[+-]?\d+\.\d*([eE][+-]?\d+)?') | Group:({[Re:('-?0|[1-9]\d*') | {'#' {W:(0-9A-Fa-f)}... '#'}] | {W:(+/-9=A-Za-z)}... |}) | Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) | Re:('-?0|[1-9]\d*') | W:(!*+--:<->A-Z_a-z) | {'#' {W:(0-9A-Fa-f)}... '#'} | Group:({[Re:('-?0|[1-9]\d*')] string enclosed in double quotes})} ]] {Re:('[+-]?\d+\.\d*([eE][+-]?\d+)?') | Group:({[Re:('-?0|[1-9]\d*') | {'#' {W:(0-9A-Fa-f)}... '#'}] | {W:(+/-9=A-Za-z)}... |}) | Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) | Re:('-?0|[1-9]\d*') | W:(!*+--:<->A-Z_a-z) | {'#' {W:(0-9A-Fa-f)}... '#'} | Group:({[Re:('-?0|[1-9]\d*')] string enclosed in double quotes})}} | Group:({{( [: ...]...} )})} pyparsing.core.And - {[[ {Re:('[+-]?\d+\.\d*([eE][+-]?\d+)?') | Group:({[Re:('-?0|[1-9]\d*') | {'#' {W:(0-9A-Fa-f)}... '#'}] | {W:(+/-9=A-Za-z)}... |}) | Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) | Re:('-?0|[1-9]\d*') | W:(!*+--:<->A-Z_a-z) | {'#' {W:(0-9A-Fa-f)}... '#'} | Group:({[Re:('-?0|[1-9]\d*')] string enclosed in double quotes})} ]] {Re:('[+-]?\d+\.\d*([eE][+-]?\d+)?') | Group:({[Re:('-?0|[1-9]\d*') | {'#' {W:(0-9A-Fa-f)}... '#'}] | {W:(+/-9=A-Za-z)}... |}) | Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) | Re:('-?0|[1-9]\d*') | W:(!*+--:<->A-Z_a-z) | {'#' {W:(0-9A-Fa-f)}... '#'} | Group:({[Re:('-?0|[1-9]\d*')] string enclosed in double quotes})}} pyparsing.core.MatchFirst - {Re:('[+-]?\d+\.\d*([eE][+-]?\d+)?') | Group:({[Re:('-?0|[1-9]\d*') | {'#' {W:(0-9A-Fa-f)}... '#'}] | {W:(+/-9=A-Za-z)}... |}) | Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) | Re:('-?0|[1-9]\d*') | W:(!*+--:<->A-Z_a-z) | {'#' {W:(0-9A-Fa-f)}... '#'} | Group:({[Re:('-?0|[1-9]\d*')] string enclosed in double quotes})} pyparsing.core.Group - Group:({Re:('-?0|[1-9]\d*') : W:(!-~)}) verify_length FAIL: invalid data of length 2, expected 3, found '3' (at char 1), (line:1, col:2) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 5226, in parseImpl return super().parseImpl(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4891, in parseImpl return super().parseImpl(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 5226, in parseImpl return super().parseImpl(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 856, in _parseNoCache tokens = fn(instring, tokens_start, ret_tokens) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 291, in wrapper ret = func(*args[limit:]) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/examples/sexpParser.py", line 55, in verify_length raise pp.ParseFatalException( ........... (and (or (> uid 1000) (!= gid 20) ) (> quota 5.0e+03) ) [['and', ['or', ['>', 'uid', 1000], ['!=', 'gid', 20]], ['>', 'quota', 5000.0]]] 1..4 ok 1 - Input file opened not ok 2 - First line of the input valid ok 3 - Read the rest of the file not ok 4 - Summarized correctly # TODO Not written yet PASSED: [1,3] FAILED: [2,4] SKIPPED: [] TODO: [4] BONUS: [] FAILED ok 1 not ok 2 some description # TODO with a directive ok 3 a description only, no directive ok 4 # TODO directive only ok a description only, no directive ok # Skipped only a directive, no description ok PASSED: [1,3,4,5,6,7] FAILED: [2] SKIPPED: [6] TODO: [2,4] BONUS: [4] PASSED ok - created Board ok ok not ok ok ok ok ok # +------+------+------+------+ # | |16G | |05C | # | |G N C | |C C G | # | | G | | C +| # +------+------+------+------+ # |10C |01G | |03C | # |R N G |G A G | |C C C | # | R | G | | C +| # +------+------+------+------+ # | |01G |17C |00C | # | |G A G |G N R |R N R | # | | G | R | G | # +------+------+------+------+ ok - board has 7 tiles + starter tile 1..9 PASSED: [1,2,3,5,6,7,8,9] FAILED: [4] SKIPPED: [] TODO: [] BONUS: [] FAILED 1..4 ok 1 - Creating test program ok 2 - Test program runs, no error not ok 3 - infinite loop # TODO halting problem unsolved not ok 4 - infinite loop 2 # TODO halting problem unsolved PASSED: [1,2] FAILED: [3,4] SKIPPED: [] TODO: [3,4] BONUS: [] PASSED 1..20 ok - database handle not ok - failed database login Bail out! Couldn't connect to database. PASSED: [1] FAILED: [2] SKIPPED: [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] TODO: [] BONUS: [] FAILED ok 1 - retrieving servers from the database # need to ping 6 servers ok 2 - pinged diamond ok 3 - pinged ruby not ok 4 - pinged sapphire ok 5 - pinged onyx not ok 6 - pinged quartz ok 7 - pinged gold 1..7 PASSED: [1,2,3,5,7] FAILED: [4,6] SKIPPED: [] TODO: [] BONUS: [] FAILED 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 pyparsing.core.Literal - 'xyz' 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 pyparsing.core.Literal - 'xyz' 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 pyparsing.core.Literal - 'xyz' 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 pyparsing.core.And - {'x' 'y' 'z'} pyparsing.core._SingleCharLiteral - 'z' 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 pyparsing.core.And - W:(A-Za-z) [, W:(A-Za-z)]... pyparsing.core.Suppress - Suppress:(',') pyparsing.core._SingleCharLiteral - ',' 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 bold, underscore, or italic 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 pyparsing.core.Literal - 'foo' 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 pyparsing.core.And - {' foo' ' bar'} pyparsing.core.Literal - ' foo' 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 pyparsing.core.And - {' foo' ' bar'} pyparsing.core.Literal - ' bar' 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'] Beginning test of pyparsing, version 3.0.9 05 May 2022 07:02 UTC Python version 3.10.8 (main, Dec 6 2022, 03:10:32) [GCC 12.1.1 20220518 (ALT Sisyphus 12.1.1-alt2)] __version_info__ : pyparsing 3.0.9 / 05 May 2022 07:02 UTC __version_info__ repr: pyparsing.version_info(major=3, minor=0, micro=9, releaselevel='final', serial=0) ([], '') should be False -> PASS (['d'], '') should be True -> PASS (['d', 'i:::pyparsing'], '') should be False -> PASS (['d:::pyparsing'], '') should be True -> PASS (['d:::pyparsing', 'i'], '') should be False -> PASS (['d:::blah'], '') should be False -> PASS (['i'], '') should be False -> PASS ([], '1') should be True -> PASS (['d'], '1') should be True -> PASS (['d', 'i:::pyparsing'], '1') should be False -> PASS (['d:::pyparsing'], '1') should be True -> PASS (['d:::pyparsing', 'i'], '1') should be False -> PASS (['d:::blah'], '1') should be True -> PASS (['i'], '1') should be False -> PASS Raised expected exception: AssertionError: warned when parsing with an empty Forward expression warning was suppressed: Forward expression was never assigned a value, will not parse any input Packrat enabled: False [[7], [9]] [[1, 4], [2, 4], [4, 3]] [[1, 4], [2, 4]] detected fatal condition ['balloon', '25'] - item: 'balloon' - qty: '25' ['rucksack', 49] - item: 'rucksack' - qty: 49 ['AAA', ' this line'] ['AAA', ' and this line'] [] [] d | aA | a | b | c d | Aa | a | b | c ['aA', 'aA', 'aA', 'aA'] ['Aa', 'Aa', 'Aa', 'Aa'] [[1, '?', 1, ':', 0, '?', 1, ':', 0]] [0]: [1, '?', 1, ':', 0, '?', 1, ':', 0] [[1, '?', 1, ':', [0, '?', 1, ':', 0]]] [0]: [1, '?', 1, ':', [0, '?', 1, ':', 0]] [0]: 1 [1]: ? [2]: 1 [3]: : [4]: [0, '?', 1, ':', 0] ['B', 'B', 'C', 'A', 'D'] ['B'] ['bcdfghjklmnpqrstvwxyz'] Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(CharsNotIn()) if zero-length char group is permitted ['bcdfg'] ['bcdfghjklm'] Raised expected exception: ParseException: Expected !W:(AEIOU), found end of text (at char 21), (line:1, col:22) ATCATCGAATGGA ['ATCATCGAATGGA'] - mismatches: [] - original: 'ATCATCGAATGGA' XTCATCGAATGGX ['XTCATCGAATGGX'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' ATCATCGAAXGGA ['ATCATCGAAXGGA'] - mismatches: [9] - original: 'ATCATCGAATGGA' ATCAXXGAATGGA ['ATCAXXGAATGGA'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' ATCAXXGAATGXA ATCAXXGAATGXA ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCAXXGAATGG ATCAXXGAATGG ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCATCGAATGGA match XTCATCGAATGGX match ATCATCGAAXGGA match ATCAXXGAATGGA match ATCAXXGAATGXA exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) ATCAXXGAATGG .....exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) atcatcgaatgga ['atcatcgaatgga'] - mismatches: [] - original: 'ATCATCGAATGGA' xtcatcgaatggx ['xtcatcgaatggx'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' atcatcgaaxgga ['atcatcgaaxgga'] - mismatches: [9] - original: 'ATCATCGAATGGA' atcaxxgaatgga ['atcaxxgaatgga'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' atcaxxgaatgxa atcaxxgaatgxa ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcaxxgaatgg atcaxxgaatgg ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcatcgaatgga match xtcatcgaatggx match atcatcgaaxgga match atcaxxgaatgga match atcaxxgaatgxa exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) atcaxxgaatgg exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) ['*', '*', '*', '*'] [' ', 'test'] - indent: ' ' - word: 'test' [' ', 'test'] - word: 'test' verify processing of C and HTML comments AA:BB:CC:DD:EE:FF ['AA:BB:CC:DD:EE:FF'] AA.BB.CC.DD.EE.FF ['AA.BB.CC.DD.EE.FF'] AA-BB-CC-DD-EE-FF ['AA-BB-CC-DD-EE-FF'] # mixed delimiters AA.BB:CC:DD:EE:FF AA.BB:CC:DD:EE:FF ^ ParseException: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) pyparsing.core.Regex - MAC address FAIL: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 0.0.0.0 ['0.0.0.0'] 1.1.1.1 ['1.1.1.1'] 127.0.0.1 ['127.0.0.1'] 1.10.100.199 ['1.10.100.199'] 255.255.255.255 ['255.255.255.255'] # out of range value 256.255.255.255 256.255.255.255 ^ ParseException: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) pyparsing.core.Regex - IPv4 address FAIL: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ['2001:0db8:85a3:0000:0000:8a2e:0370:7334'] 2134::1234:4567:2468:1236:2444:2106 ['2134::1234:4567:2468:1236:2444:2106'] 0:0:0:0:0:0:A00:1 ['0:0:0:0:0:0:A00:1'] 1080::8:800:200C:417A ['1080::8:800:200C:417A'] ::A00:1 ['::A00:1'] # loopback address ::1 ['::1'] # the null address :: ['::'] # ipv4 compatibility form ::ffff:192.168.0.1 ['::ffff:192.168.0.1'] # too few values 1080:0:0:0:8:800:200C 1080:0:0:0:8:800:200C ^ ParseException: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) pyparsing.core.Combine - IPv6 address pyparsing.core.MatchFirst - IPv6 address pyparsing.core.And - full IPv6 address pyparsing.core.And - {':' hex_integer} pyparsing.core._SingleCharLiteral - ':' FAIL: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4136, in parseImpl raise maxException File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 819, in _parseNoCache raise ParseException(instring, len_instring, self.errmsg, self) . # too many ::'s, only 1 allowed 2134::1234:4567::2444:2106 2134::1234:4567::2444:2106 ^ ParseException: Expected end of text, found ':' (at char 15), (line:1, col:16) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found ':' (at char 15), (line:1, col:16) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 100 [100] -100 [-100] +100 [100] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1e12 [1000000000000.0] -1e12 [-1000000000000.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 100 [100.0] -100 [-100.0] +100 [100.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1997 ['1997'] - day: None - month: None - year: '1997' 1997-07 ['1997-07'] - day: None - month: '07' - year: '1997' 1997-07-16 ['1997-07-16'] - day: '16' - month: '07' - year: '1997' 1997-07-16 [datetime.date(1997, 7, 16)] 1997-07-16T19:20+01:00 ['1997-07-16T19:20+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: None - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30+01:00 ['1997-07-16T19:20:30+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30' - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30.45Z ['1997-07-16T19:20:30.45Z'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: 'Z' - year: '1997' 1997-07-16 19:20:30.45 ['1997-07-16 19:20:30.45'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: None - year: '1997' 1997-07-16T19:20:30.45 [datetime.datetime(1997, 7, 16, 19, 20, 30, 450000)] 123e4567-e89b-12d3-a456-426655440000 ['123e4567-e89b-12d3-a456-426655440000'] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1 1/2 [1.5] 2 -15/16 [2.9375] 0 -3/-4 [-0.75] 12 [12] 100 [100] -3 [-3] 1.732 [1.732] -3.14159 [-3.14159] 6.02e23 [6.02e+23] http://foo.com/blah_blah ['http://foo.com/blah_blah'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah/ ['http://foo.com/blah_blah/'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah/' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia) ['http://foo.com/blah_blah_(wikipedia)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia)_(again) ['http://foo.com/blah_blah_(wikipedia)_(again)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)_(again)' - port: None - query: None - scheme: 'http' http://www.example.com/wpstyle/?p=364 ['http://www.example.com/wpstyle/?p=364'] - auth: None - fragment: None - host: 'www.example.com' - path: '/wpstyle/' - port: None - query: 'p=364' - scheme: 'http' https://www.example.com/foo/?bar=baz&inga=42&quux ['https://www.example.com/foo/?bar=baz&inga=42&quux'] - auth: None - fragment: None - host: 'www.example.com' - path: '/foo/' - port: None - query: 'bar=baz&inga=42&quux' - scheme: 'https' http://✪df.ws/123 ['http://✪df.ws/123'] - auth: None - fragment: None - host: '✪df.ws' - path: '/123' - port: None - query: None - scheme: 'http' http://userid:password@example.com:8080 ['http://userid:password@example.com:8080'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com:8080/ ['http://userid:password@example.com:8080/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid@example.com ['http://userid@example.com'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid@example.com/ ['http://userid@example.com/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://userid@example.com:8080 ['http://userid@example.com:8080'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid@example.com:8080/ ['http://userid@example.com:8080/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com ['http://userid:password@example.com'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid:password@example.com/ ['http://userid:password@example.com/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1/ ['http://142.42.1.1/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1:8080/ ['http://142.42.1.1:8080/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: '8080' - query: None - scheme: 'http' http://➡.ws/䨹 ['http://➡.ws/䨹'] - auth: None - fragment: None - host: '➡.ws' - path: '/䨹' - port: None - query: None - scheme: 'http' http://⌘.ws ['http://⌘.ws'] - auth: None - fragment: None - host: '⌘.ws' - path: None - port: None - query: None - scheme: 'http' http://⌘.ws/ ['http://⌘.ws/'] - auth: None - fragment: None - host: '⌘.ws' - path: '/' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)#cite-1 ['http://foo.com/blah_(wikipedia)#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)_blah#cite-1 ['http://foo.com/blah_(wikipedia)_blah#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)_blah' - port: None - query: None - scheme: 'http' http://foo.com/unicode_(✪)_in_parens ['http://foo.com/unicode_(✪)_in_parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/unicode_(✪)_in_parens' - port: None - query: None - scheme: 'http' http://foo.com/(something)?after=parens ['http://foo.com/(something)?after=parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/(something)' - port: None - query: 'after=parens' - scheme: 'http' http://☺.damowmow.com/ ['http://☺.damowmow.com/'] - auth: None - fragment: None - host: '☺.damowmow.com' - path: '/' - port: None - query: None - scheme: 'http' http://code.google.com/events/#&product=browser ['http://code.google.com/events/#&product=browser'] - auth: None - fragment: '&product=browser' - host: 'code.google.com' - path: '/events/' - port: None - query: None - scheme: 'http' http://j.mp ['http://j.mp'] - auth: None - fragment: None - host: 'j.mp' - path: None - port: None - query: None - scheme: 'http' ftp://foo.bar/baz ['ftp://foo.bar/baz'] - auth: None - fragment: None - host: 'foo.bar' - path: '/baz' - port: None - query: None - scheme: 'ftp' http://foo.bar/?q=Test%20URL-encoded%20stuff ['http://foo.bar/?q=Test%20URL-encoded%20stuff'] - auth: None - fragment: None - host: 'foo.bar' - path: '/' - port: None - query: 'q=Test%20URL-encoded%20stuff' - scheme: 'http' http://مثال.إختبار ['http://مثال.إختبار'] - auth: None - fragment: None - host: 'مثال.إختبار' - path: None - port: None - query: None - scheme: 'http' http:// http:// ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://. http://. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.. http://.. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://../ http://../ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://? http://? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://?? http://?? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://??/ http://??/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://# http://# ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://## http://## ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://##/ http://##/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://foo.bar?q=Spaces should be encoded // // ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) //a //a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ///a ///a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) /// /// ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:///a http:///a ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) foo.com foo.com ^ ParseException: Expected url, found 'foo' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'foo' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) rdar://1234 rdar://1234 ^ ParseException: Expected url, found 'rdar' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'rdar' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) h://test h://test ^ ParseException: Expected url, found 'h' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'h' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:// shouldfail.com http:// shouldfail.com ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) :// should fail :// should fail ^ ParseException: Expected url, found ':' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found ':' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://foo.bar/foo(bar)baz quux http://foo.bar/foo(bar)baz quux ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ftps://foo.bar/ ftps://foo.bar/ ^ ParseException: Expected url, found 'ftps' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'ftps' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://-error-.invalid/ http://-error-.invalid/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://a.b--c.de/ http://-a.b.co http://-a.b.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://a.b-.co http://a.b-.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://0.0.0.0 http://0.0.0.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.0 http://10.1.1.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.255 http://10.1.1.255 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://224.1.1.1 http://224.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://1.1.1.1.1 http://1.1.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) .................. http://123.123.123 http://123.123.123 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://3628126748 http://3628126748 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.www.foo.bar/ http://.www.foo.bar/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://www.foo.bar./ http://.www.foo.bar./ http://.www.foo.bar./ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.1 http://10.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ['https://bob:secret@www.example.com:8080/path/to/resource?filter=int#book-mark'] - auth: 'bob:secret' - fragment: 'book-mark' - host: 'www.example.com' - path: '/path/to/resource' - port: '8080' - query: 'filter=int' - scheme: 'https' Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%d', found '1997' (at char 0), (line:1, col:1) Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%dT%H:%M:%S.%f', found '1997' (at char 0), (line:1, col:1) 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] B 5 7 F 0 1 2 3 4 5 _ C 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 5 string input item1 item2 item3 item4 item5 0 int user 2 int file 3 8 [['item1', 'item2', 'item3', 'item4', 'item5'], [], ['3', '8']] [0]: ['item1', 'item2', 'item3', 'item4', 'item5'] - count: 5 - items: ['item1', 'item2', 'item3', 'item4', 'item5'] - source: 'input' - type: 'string' [1]: [] - count: 0 - items: [] - source: 'user' - type: 'int' [2]: ['3', '8'] - count: 2 - items: ['3', '8'] - source: 'file' - type: 'int' type = '' source = '' ['True', 'True', 'False'] - items: ['True', 'True', 'False'] - type: 'bool' verify non-fatal usage of Literal("") Raised expected exception: ValueError: null string passed to Literal; use Empty() instead sdlfjs :sdf\:jls::djf: sl:kfsjf sdlfjs -sdf\:jls::--djf: sl-kfsjf sdlfjs -sdf\:::jls::--djf: sl:::-kfsjf sdlfjs ^sdf\:jls^^--djf^ sl-kfsjf sdlfjs ^^^==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf^^^ colonQuotes :(?:(?:::)|(?:\\.)|(?:[^:\n\r\\]))*: [['sdf:jls:djf'], ['jls:--djf'], [':jls:--djf'], [''], ['j=lz:--djf'], ['j=ls:--djf']] sdf:jls:djf sdf:jls:djf dashQuotes \-(?:(?:\-\-)|(?:\\.)|(?:[^\-\n\r\\]))*\- [['sdf:jls::-djf: sl'], ['sdf:::jls::-djf: sl:::'], [''], [''], ['']] sdf:jls::-djf: sl sdf:jls::-djf: sl hatQuotes \^(?:(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls'], ['--djf'], [''], ['==sdf:j=lz::--djf: sl='], ['']] sdf:jls sdf:jls hatQuotes1 \^(?:(?:\^\^)|(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls^--djf'], ['^==sdf:j=lz::--djf: sl='], ['']] sdf:jls^--djf sdf:jls^--djf dblEqQuotes ==(?:(?:\\.)|(?:(?:=(?!=)))|(?:[^=\n\r\\]))*== [['sdf:j=ls::--djf: sl']] sdf:j=ls::--djf: sl sdf:j=ls::--djf: sl ::: quotes :::(?:(?:(?:::(?!:))|(?::(?!::)))|(?:[^:\n\r]))*::: [['jls::--djf: sl']] jls::--djf: sl jls::--djf: sl ==-- quotes ==(?:(?:(?:\-(?!\-)))|(?:[^\-\n\r]))*\-\- [['sdf\\:j=lz::'], ['sdf\\:j=ls::']] sdf\:j=lz:: sdf\:j=lz:: ^^^ multiline quotes \^\^\^(?:(?:(?:\^\^(?!\^))|(?:\^(?!\^\^)))|(?:[^\^]))*\^\^\^ [['==sdf\\:j=lz::--djf: sl=^^=kfsjf\n sdlfjs ==sdf\\:j=ls::--djf: sl==kfsjf']] ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf Raised expected exception: ValueError: quote_char cannot be the empty string \.\[(?:(?:(?:\](?!\.)))|(?:[^\]\n\r]))*\]\. ['...'] [''] [']'] [']]'] \+\*(?:(?:(?:\*(?!\+)))|(?:[^*\n\r]))*\*\+ ['...'] [''] ['*'] ['**'] \*/(?:(?:(?:/(?!\*)))|(?:[^/\n\r]))*/\* ['...'] [''] ['/'] ['//'] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ValueError: min must be greater than 0 Raised expected exception: ValueError: max must be greater than, or equal to min Raised expected exception: ParseException: Expected ',', found end of text (at char 12), (line:1, col:13) 'ABC' [, 'ABC']... ['ABC', 'ABC'] 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] {'True' | 'true' | 'False' | 'false'} [, {'True' | 'true' | 'False' | 'false'}]... bool bool bool bool bool [, bool]... 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] ['bar', 'foo'] - one: 'foo' - two: 'bar' . options(100) step(A) options(100) step(A) ^ ParseSyntaxException: Expected integer, found 'A' (at char 18), (line:1, col:19) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 18), (line:1, col:19) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal step(A) options(100) step(A) options(100) ^ ParseSyntaxException: Expected integer, found 'A' (at char 5), (line:1, col:6) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(100A) options(100) step(100A) ^ ParseSyntaxException: Expected 'Z', found 'A' (at char 21), (line:1, col:22) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected 'Z', found 'A' (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(22) step(100ZA) options(100) step(22) step(100ZA) ^ ParseSyntaxException: Expected ')', found 'A' (at char 31), (line:1, col:32) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected ')', found 'A' (at char 31), (line:1, col:32) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {{word}... num} pyparsing.core.OneOrMore - {word}... pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] .... aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 9), (line:1, col:10) pyparsing.core.And - {[word [word [word]]] num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 9), (line:1, col:10) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) cc dd 123 ['cc', 'dd', '123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'cc' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'cc' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1,1 ['a', [1, 1]] - label: 'a' - points: [[1, 1]] [0]: [1, 1] - x: 1 - y: 1 [0]: a [1]: [1, 1] - x: 1 - y: 1 b 1,1 2,2 3,3 ['b', [1, 1], [2, 2], [3, 3]] - label: 'b' - points: [[1, 1], [2, 2], [3, 3]] [0]: [1, 1] - x: 1 - y: 1 [1]: [2, 2] - x: 2 - y: 2 [2]: [3, 3] - x: 3 - y: 3 [0]: b [1]: [1, 1] - x: 1 - y: 1 [2]: [2, 2] - x: 2 - y: 2 [3]: [3, 3] - x: 3 - y: 3 c ['c'] - label: 'c' - points: [] [['a', '10'], ['b', '20']] - a: '10' - b: '20' [0]: ['a', '10'] [1]: ['b', '20'] ^ ParseException: Expected W:(A-Za-z) (at char 0), (line:1, col:1) tests.test_unit.Test02_WithoutPackrat pyparsing.core.Dict - Dict:({Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}...) pyparsing.core.OneOrMore - {Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}... pyparsing.core.Group - Group:({W:(A-Za-z) Suppress:('=') W:(0-9)}) pyparsing.core.And - {W:(A-Za-z) Suppress:('=') W:(0-9)} pyparsing.core._WordRegex - W:(A-Za-z) testing empty And testing empty Or testing empty MatchFirst testing empty Each ..........Match [{integer | W:(0-9A-Za-z)}]... at loc 0(1,1) 123 A100 ^ Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Matched [{integer | W:(0-9A-Za-z)}]... -> [123, 'A100'] Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Match integer at loc 0(1,1) 1 2 3 ^ Matched integer -> ['1'] Match integer at loc 2(1,3) 1 2 3 ^ Matched integer -> ['2'] Match integer at loc 4(1,5) 1 2 3 ^ Matched integer -> ['3'] Match integer at loc 5(1,6) 1 2 3 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 5), (line:1, col:6) Packrat status: disabled Match Z at loc 0(1,1) aba ^ Match Z failed, ParseException raised: Expected Z, found 'aba' (at char 0), (line:1, col:1) Match leading_a at loc 0(1,1) aba ^ Match A at loc 0(1,1) aba ^ Matched A -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Matched leading_a -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match leading_a at loc 1(1,2) aba ^ Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match leading_a failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Match Z at loc 2(1,3) aba ^ Match Z failed, ParseException raised: Expected Z, found 'a' (at char 2), (line:1, col:3) Match leading_a at loc 2(1,3) aba ^ Match A at loc 2(1,3) aba ^ Matched A -> ['a'] Match Z at loc 3(1,4) aba ^ Match Z failed, ParseException raised: Expected Z, found end of text (at char 3), (line:1, col:4) Match A at loc 3(1,4) aba ^ Match A failed, ParseException raised: Expected A, found end of text (at char 3), (line:1, col:4) Match B at loc 3(1,4) aba ^ Match B failed, ParseException raised: Expected B, found end of text (at char 3), (line:1, col:4) Match leading_a failed, ParseException raised: Expected {Z | A | B}, found end of text (at char 3), (line:1, col:4) Match B at loc 2(1,3) aba ^ Match B failed, ParseException raised: Expected B, found 'a' (at char 2), (line:1, col:3) {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': False, 'warn_name_set_on_empty_Forward': False, 'warn_on_assignment_to_Forward': False, 'warn_on_match_first_with_lshift_operator': False, 'warn_on_multiple_string_args_to_oneof': False, 'warn_on_parse_using_empty_Forward': False, 'warn_ungrouped_named_tokens_in_collection': False} {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': True, 'warn_name_set_on_empty_Forward': True, 'warn_on_assignment_to_Forward': True, 'warn_on_match_first_with_lshift_operator': True, 'warn_on_multiple_string_args_to_oneof': True, 'warn_on_parse_using_empty_Forward': True, 'warn_ungrouped_named_tokens_in_collection': True} TypeError: descriptor 'upper' for 'str' objects doesn't apply to a 'int' object tests.test_unit.Test02_WithoutPackrat pyparsing.core._WordRegex - integer tests.test_unit.Modifier pyparsing.results.ParseResults 123 355 ^ ParseException: Expected word, found '355' (at char 4), (line:1, col:5) 123 355 (test using ErrorStop) ^ ParseSyntaxException: Expected word, found '355' (at char 4), (line:1, col:5) tests.test_unit.Test02_WithoutPackrat pyparsing.core.And - {int - word} A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test02_WithoutPackrat pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int Explain for Packrat A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test02_WithoutPackrat pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int Explain for Left Recursion A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test02_WithoutPackrat pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [' z=1000', 'b("; in quotes")', 'c=200', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', '', '', 'y += x', 'return y'], [' this_semi_does_nothing()', ';', ''], [' neither_does_this_but_there_are_spaces_afterward()', ';', ''], [' a = "a;b"', ';', 'return a # this is a comment; it has a semicolon!'], [' z=1000', ';', 'b("; in quotes")', ';', 'c=200', ';', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', ';', 'b = 11', ';', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', ';', 'return x # so; does; this; one'], [' x = 15', ';', '', ';', '', ';', 'y += x', ';', 'return y'], [''], [' def main():'], [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [''], [' def b():'], [' if False:'], [' z=1000', 'b("; in quotes"); c=200;return z'], [" return ';'"], [''], [' class Foo(object):'], [' def bar(self):'], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11; c = 12'], [''], [' # this comment; has several; semicolons'], [' if self.spam:'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', ';; y += x; return y'], [''], [' def baz(self):'], [' return self.bar'], [' '], W:(0-9) W:(0-9){3} W:(0-9){2,...} W:(0-9){1,3} W:(0-9){2,3} (0-9) ['balloon'] - item: 'balloon' - qty: 99 verify behavior of getName() ['XXX', ['b'], ['bb'], ['a'], ['bbb'], ['bbbb'], ['aa'], ['bbbbb'], [':', 'c'], ['bbbbbb'], ['aaa']] [0]: XXX [1]: ['b'] - B: 'b' [2]: ['bb'] - B: 'bb' [3]: ['a'] - A: 'a' [4]: ['bbb'] - B: 'bbb' [5]: ['bbbb'] - B: 'bbbb' [6]: ['aa'] - A: 'aa' [7]: ['bbbbb'] - B: 'bbbbb' [8]: [':', 'c'] - C: 'c' [9]: ['bbbbbb'] - B: 'bbbbbb' [10]: ['aaa'] - A: 'aaa' XXX 'XXX' ['b'] ParseResults(['b'], {'B': 'b'}) ............['bb'] ParseResults(['bb'], {'B': 'bb'}) ['a'] ParseResults(['a'], {'A': 'a'}) ['bbb'] ParseResults(['bbb'], {'B': 'bbb'}) ['bbbb'] ParseResults(['bbbb'], {'B': 'bbbb'}) ['aa'] ParseResults(['aa'], {'A': 'aa'}) ['bbbbb'] ParseResults(['bbbbb'], {'B': 'bbbbb'}) [':', 'c'] ParseResults([':', 'c'], {'C': 'c'}) ['bbbbbb'] ParseResults(['bbbbbb'], {'B': 'bbbbbb'}) ['aaa'] ParseResults(['aaa'], {'A': 'aaa'}) XXX b bb a bbb bbbb aa bbbbb :c bbbbbb aaa [None, 'B', 'B', 'A', 'B', 'B', 'A', 'B', None, 'B', 'A'] ['lsjd'] non-key ['sldkjf'] non-key ['IF'] non-key ['Saslkj'] non-key ['AND'] non-key ['lsdjf'] non-key verify behavior of ParseResults.get() ['b', 'bb', 'a', 'bbb', 'bbbb', 'aa', 'bbbbb', ':', 'c', 'bbbbbb', 'aaa'] - A: 'aaa' - B: 'bbbbbb' - C: 'c' aaa !D ['11.11.13', 'useless . useless,21 useless 2 | ', 14.21, ' | asmdakldm'] ['21.12.12', 'fmpaosmfpoamsp 4 | ', 41, ' | ajfa9si90'] Raised expected exception: ParseException: Expected number, found 'useless' (at char 32), (line:1, col:33) Raised expected exception: ParseException: Expected number, found 'fmpaosmfpoamsp' (at char 32), (line:1, col:33) [["'string1'", "'string2'"]] [['string1', 'strin""g2']] [['"string1"', '"strin""g2"'], ["'string1'", "'string2'"]] [['string1', 'strin"g2']] [['string1', 'string2']] [['string1', 'string2']] [['string1', 'string2']] ["'ms1'", '1', '0', "'2009-12-22'", "'2009-12-22 10:41:22'"] This & that 2 > 1 0 < 1 Don't get excited! I said "Don't get excited!" Copyright © 2021 Dot ⟶ ˙ ['I', 'totally', 'love', 'pickles'] a = 100 b = 101 c = c1 = 200 c2 = c21 = 999 c3 = 'A horse, a horse, my kingdom for a horse' d = 505 [['a', 100], ['b', 101], ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']], ['d', 505]] - a: 100 - b: 101 - c: [['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: ['c1', 200] [1]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [2]: ['c3', 'A horse, a horse, my kingdom for a horse'] - d: 505 [0]: ['a', 100] [1]: ['b', 101] [2]: ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: c [1]: ['c1', 200] [2]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [3]: ['c3', 'A horse, a horse, my kingdom for a horse'] [3]: ['d', 505] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [200, 201]] [0]: B [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 3 123456789012345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] using searchString [[['A', [100, 101, 102]]], [['B', [['b', [200, 201]]]]], [['C', [300]]]] [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] using parseString [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] test good indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.1.2| 5: 2.| [['1.', ['1.1', ['1.1.1', '1.1.2']], '2.']] test bad indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 78), (line:4, col:18) 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 76), (line:4, col:16) [['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], 'B', ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], 'C', 'D', ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] [0]: ['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]] [0]: def [1]: A [2]: ['(', 'z', ')'] [3]: : [4]: [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']] [0]: ['A1'] [1]: [['B', '=', '100']] [0]: ['B', '=', '100'] [2]: [['G', '=', 'A2']] [0]: ['G', '=', 'A2'] [3]: ['A2'] [4]: ['A3'] [1]: B [2]: ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]] [0]: def [1]: BB [2]: ['(', 'a', 'b', 'c', ')'] [3]: : [4]: [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]] [0]: ['BB1'] [1]: [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]] [0]: ['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]] [0]: def [1]: BBA [2]: ['(', ')'] [3]: : [4]: [['bba1'], ['bba2'], ['bba3']] [0]: ['bba1'] [1]: ['bba2'] [2]: ['bba3'] [3]: C [4]: D [5]: ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]] [0]: def [1]: spam [2]: ['(', 'x', 'y', ')'] [3]: : [4]: [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]] [0]: [['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]] [0]: ['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]] [0]: def [1]: eggs [2]: ['(', 'z', ')'] [3]: : [4]: [['pass']] [0]: ['pass'] Parsing 'one0'... Parsing 'four0'... Parsing 'extra'... Parsing 'one1'... Parsing 'four1'... ... extra: [test] one0: two (three) four0: five (seven) extra: [test] one1: two (three) four1: five (seven) ['extra', [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]], 'extra', [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]]] [0]: extra [1]: [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]] [0]: ['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]] [0]: test [1]: [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]] [0]: ['one0', [['two', 'three']]] [0]: one0 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four0', [['five', 'seven']]] [0]: four0 [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]] [0]: ['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]] [0]: test [1]: [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]] [0]: ['one1', [['two', 'three']]] [0]: one1 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four1', [['five', 'seven']]] [0]: four1 [1]: [['five', 'seven']] [0]: ['five', 'seven'] Parsing 'one'... Parsing 'four'... Parsing 'extra'... Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'eight'... Parsing 'eleven'... Parsing 'fourteen'... Parsing 'seventeen'... extra: [test] one: two (three) four: five (seven) extra: [test] one: two (three) four: five (seven) [test] one: two (three) four: five (seven) [test] eight: nine (ten) eleven: twelve (thirteen) fourteen: fifteen (sixteen) seventeen: eighteen (nineteen) ['extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]], 'extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]]] [0]: extra [1]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [1]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]] [0]: test [1]: [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]] [0]: ['eight', [['nine', 'ten']]] [0]: eight [1]: [['nine', 'ten']] [0]: ['nine', 'ten'] [1]: ['eleven', [['twelve', 'thirteen']]] [0]: eleven [1]: [['twelve', 'thirteen']] [0]: ['twelve', 'thirteen'] [2]: ['fourteen', [['fifteen', 'sixteen']]] [0]: fourteen [1]: [['fifteen', 'sixteen']] [0]: ['fifteen', 'sixteen'] [3]: ['seventeen', [['eighteen', 'nineteen']]] [0]: seventeen [1]: [['eighteen', 'nineteen']] [0]: ['eighteen', 'nineteen'] [[9, '+', 2, '+', 3]] [0]: [9, '+', 2, '+', 3] [[9, '+', [2, '*', 3]]] [0]: [9, '+', [2, '*', 3]] [0]: 9 [1]: + [2]: [2, '*', 3] [[[9, '+', 2], '*', 3]] [0]: [[9, '+', 2], '*', 3] [0]: [9, '+', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', 3]] [0]: [[9, '+', ['-', 2]], '*', 3] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', ['-', 2]]], '*', 3]] [0]: [[9, '+', ['-', ['-', 2]]], '*', 3] [0]: [9, '+', ['-', ['-', 2]]] [0]: 9 [1]: + [2]: ['-', ['-', 2]] [0]: - [1]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [[9, '!'], '+', ['-', 2]] [0]: [9, '!'] [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[['M', '*', 'X'], '+', 'B']] [0]: [['M', '*', 'X'], '+', 'B'] [0]: ['M', '*', 'X'] [1]: + [2]: B [['M', '*', ['X', '+', 'B']]] [0]: ['M', '*', ['X', '+', 'B']] [0]: M [1]: * [2]: ['X', '+', 'B'] [[1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]]] [0]: [1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]] [0]: 1 [1]: + [2]: [2, '*', ['-', [3, '^', 4]], '*', 5] [0]: 2 [1]: * [2]: ['-', [3, '^', 4]] [0]: - [1]: [3, '^', 4] [3]: * [4]: 5 [3]: + [4]: ['-', ['+', ['-', 6]]] [0]: - [1]: ['+', ['-', 6]] [0]: + [1]: ['-', 6] [[3, '!', '!']] [0]: [3, '!', '!'] p = True q = False r = True p and not q (p & ~q) = True not not p ~~p = True not(p and q) ~(p & q) = True q or not p and r (q | (~p & r)) = False q or not p or not r (q | ~p | ~r) = False q or not (p and r) (q | ~(p & r)) = False p or q or r (p | q | r) = True p or q or r and False (p | q | (r & False)) = True (p or q or r) and False ((p | q | r) & False) = False ............Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must indicate right or left associativity evaluate_int 9 '9' => [9] (count=1) [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', ['<', [2, '+', 11], '>']]] [0]: [3, '+', ['<', [2, '+', 11], '>']] [0]: 3 [1]: + [2]: ['<', [2, '+', 11], '>'] [0]: < [1]: [2, '+', 11] [2]: > [[3, '+', ['<<', [2, '+', 11], '>>']]] [0]: [3, '+', ['<<', [2, '+', 11], '>>']] [0]: 3 [1]: + [2]: ['<<', [2, '+', 11], '>>'] [0]: << [1]: [2, '+', 11] [2]: >> [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 bar = foo [['bar', '=', 'foo']] bar = foo & baz = fee ['&', [['bar', '=', 'foo'], ['baz', '=', 'fee']]] ['SELECT', 'color', 'FROM', 'colors'] ['SELECT', 'color', 'FROM', 'colors'] ['1999', '/', '12', '/', '31'] - day: '31' - month: '12' - year: '1999' ['1999', '12', '31'] - day: '31' - month: '12' - year: '1999' Raised expected exception: ValueError: no such diagnostic 'xyzzy' ['testA', 'testB', 'testC'] =? ['testA', 'testB', 'testC'] ['testC'] =? ['testC'] 'testB\ntestC\n' =? 'testB\ntestC\n' ['testD', 'testE', 'testF'] =? ['testD', 'testE', 'testF'] ['testF'] =? ['testF'] 'testE\ntestF' =? 'testE\ntestF' ['a'] =? ['a'] ['a'] =? ['a'] '' =? '' 0 'aaa' 1 '\naaa' Raised expected exception: ParseException: Expected Re:('a+'), found '\' (at char 0), (line:1, col:1) 2 'a\naa' Raised expected exception: ParseException: Expected end of text, found '\' (at char 1), (line:1, col:2) 3 'aaa\n' Raised expected exception: ParseException: Expected end of text, found '\' (at char 3), (line:1, col:4) verify correct line() behavior when first line is empty string {W:(A) - LineStart W:(B)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) no \n in default whitespace chars {W:(A) - LineStart W:(B)} AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 3), (line:1, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] ................. AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) 1 1234567890 1:AAA 1| 2:AAA 2| 3:| 4: AAA| 5:| 6:B AAA| 7:| normal parsing 0 3 1 AAA 1 ParseResults(['AAA'], {}) 6 9 2 AAA 2 ParseResults(['AAA'], {}) 12 18 3 ParseResults(['AAA'], {}) parsing without \n in whitespace chars 0 3 1 AAA 1 'A' 6 9 2 AAA 2 'A' 13 18 4 AAA ' ' 1 1234567890 1:| 2:a| 3: b| 4: c| 5:d| 6:e| 7: f| 8: g| [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [[['a']], [['b']], [['c']], [['d']], [['e']], [['f']], [['g']]] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] Literal Expected 'xyz', found end of text (at char 1), (line:1, col:2) CaselessLiteral Expected 'XYZ', found end of text (at char 1), (line:1, col:2) Keyword Expected Keyword 'xyz', found end of text (at char 1), (line:1, col:2) CaselessKeyword Expected CaselessKeyword 'xyz', found end of text (at char 1), (line:1, col:2) Word Expected W:(xyz), found end of text (at char 1), (line:1, col:2) Regex Expected Re:('xyz'), found end of text (at char 1), (line:1, col:2) 1 start 2 {integer 'start' integer} [1, 'start', 2] {integer 'start' integer} [1, 'start', 2] {integer 'START' integer} [1, 'START', 2] {integer word integer} [1, 'start', 2] 3 start4 {integer 'start' integer} [3, 'start', 4] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected word, found 'start4' (at char 2), (line:1, col:3) 5start 6 [5, 'start', 6] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected CaselessKeyword 'START', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected word, found 'start' (at char 1), (line:1, col:2) [28, 'ID', 'PARI12345678', 43] - id: 'PARI12345678' - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [[28, ['ID', 'PARI12345678'], 43]] - loc: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0]: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0, ['ljsdf'], 5] ['ljsdf'] [8, ['lksdjjf'], 15] ['lksdjjf'] [18, ['lkkjj'], 23] ['lkkjj'] ['body', False, 'Hello', ''] - contents: 'Hello' - empty: False - endBody: '' - startBody: ['body', False] - empty: False - tag: 'body' - tag: 'body' DOB >!<100-10-2010;more garbage verify MatchFirst iterates properly ['A', 'A', '3', 'A'] Raised expected exception: ParseException: matched token not at column 1, found '3' (at char 4), (line:1, col:5) ABC ^ ParseException: Expected W:(0-9), found 'ABC' (at char 0), (line:1, col:1) tests.test_unit.Test02_WithoutPackrat pyparsing.core._WordRegex - W:(0-9) ['A'] - Achar: 'A' Raised expected exception: ValueError: cannot multiply ParserElement by negative value {'username': 'goat', 'errors': {'username': ['already taken', 'too short']}, 'empty_field': ''} Test defaults: [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default opener [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Literal expressions for opener and closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Use ignore expression (1) [['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello,', 'world!"']] [0]: ['greeting', '"Hello,', 'world!"'] [2]: ;;(foo bar [3]: ['display', 'greeting'] Use ignore expression (2) [['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello, )world!"']] [0]: ['greeting', '"Hello, )world!"'] [2]: ;; [3]: (foo bar [4]: ['display', 'greeting'] Raised expected exception: ValueError: opening and closing strings cannot be the same Raised expected exception: ValueError: opening and closing arguments must be strings if no content expression is given ['aName', ['outer', ["'inner with opener {{ and closer }} in quoted string'"]]] [0]: aName [1]: ['outer', ["'inner with opener {{ and closer }} in quoted string'"]] [0]: outer [1]: ["'inner with opener {{ and closer }} in quoted string'"] ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' .........................['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' 9413 tests produced real number PASS valid tests (321) real number with scientific notation PASS valid tests (2319) signed integer PASS valid tests (153) real number PASS invalid tests (2213) real number with scientific notation PASS invalid tests (6587) signed integer PASS invalid tests (9260) # literal oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] abc ['a', 'b', 'c'] # keyword oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] # keyword oneOf failure tests abc abc ^ ParseException: Expected end of text, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) verify oneOf handles duplicate symbols verify oneOf handles generator input verify oneOf handles list input verify oneOf handles set input Raised expected exception: TypeError: Invalid argument to one_of, expected string or iterable ['XXX Y/123', '1,234.567890'] - data: '1,234.567890' - id: 'XXX Y/123' ['0', '123', '321', 444] Raised expected exception: ParseException: OnlyOnce obj called multiple times w/out reset, found '1' (at char 0), (line:1, col:1) ['100', '200', '300', 600] verify handling of Optional's beyond the end of string Tal Weiss Major Tal Major Weiss Major Major Major Tal Major Weiss Major Tal Weiss ['foo'] - foo: ['foo'] ['bar', 'foo', 'bar', 'foo', 'bar', 'foo'] - bar: ['bar', 'bar', 'bar'] - foo: ['foo', 'foo', 'foo'] Raised expected exception: ParseException: Missing one or more required elements ('foo'), found 'bar' (at char 1), (line:1, col:2) 1999-12-31 100 2001-01-01 [['1999-12-31'], 100, ['2001-01-01']] - date: [['1999-12-31'], ['2001-01-01']] [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' - id: 100 [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: 100 [2]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' 42 [42] - id: 42 verify Optional's do not cause match failure if have results name _images/cal.png:77_ ['alt', 'empty', 'height', 'src', 'startImg', 'tag', 'width'] ['int', 'f', '(', ')', '{}'] ['DO', ['Z']] [244, 23, 13, 2343] - int_values: [244, 23, 13, 2343] - total: 2623 ### before parse action is added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' ### after parse action was added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])]] [0]: ['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])] 'AAAAA' parseAll=False (shouldSucceed=True) 'AAAAA' parseAll=True (shouldSucceed=True) 'AAABB' parseAll=False (shouldSucceed=True) 'AAABB' parseAll=True (shouldSucceed=False) AAABB ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test02_WithoutPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd 'AAAAA //blah' parseAll=False (shouldSucceed=True) 'AAAAA //blah' parseAll=True (shouldSucceed=True) 'AAABB //blah' parseAll=False (shouldSucceed=True) 'AAABB //blah' parseAll=True (shouldSucceed=False) AAABB //blah ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test02_WithoutPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd '00aab' parseAll=False (shouldSucceed=True) '00aab' parseAll=True (shouldSucceed=True) '00aaf' parseAll=False (shouldSucceed=True) '00aaf' parseAll=True (shouldSucceed=False) 00aaf ^ ParseException: Expected end of text, found 'f' (at char 4), (line:1, col:5) tests.test_unit.Test02_WithoutPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd Parsing: 'a,b,c,100.2,,3' -> ['a', 'b', 'c', '100.2', '', '3'] Parsing: 'd, e, j k , m ' -> ['d', 'e', 'j k', 'm'] Parsing: "'Hello, World', f, g , , 5.1,x" -> ["'Hello, World'", 'f', 'g', '', '5.1', 'x'] Parsing: 'John Doe, 123 Main St., Cleveland, Ohio' -> ['John Doe', '123 Main St.', 'Cleveland', 'Ohio'] Parsing: 'Jane Doe, 456 St. James St., Los Angeles , California ' -> ['Jane Doe', '456 St. James St.', 'Los Angeles', 'California'] Parsing tests/karthik.ini ... 23 ['users'] users.K 8 8 users.mod_scheme 'QPSK' 'QPSK' users.Na K+2 K+2 OK Parsing examples/Setup.ini ... 125 ['Startup', 'Languages', 'test'] Startup.audioinf M3i M3i Languages.key1 0x0003 0x0003 test.foo bar bar OK Constructing EBNF parser with pyparsing... Parsing EBNF grammar with EBNF parser... - terminal_string - meta_identifier - integer - syntax - syntax_rule - definitions_list - single_definition - syntactic_term - syntactic_factor - syntactic_primary - optional_sequence - repeated_sequence - grouped_sequence Parsing EBNF grammar with generated EBNF parser... [['syntax', '=', '(', 'syntax_rule', ')', ',', '{', '(', 'syntax_rule', ')', '}', ';'], ['syntax_rule', '=', 'meta_identifier', ',', "'='", ',', 'definitions_list', ',', "';'", ';'], ['definitions_list', '=', 'single_definition', ',', '{', "'|'", ',', 'single_definition', '}', ';'], ['single_definition', '=', 'syntactic_term', ',', '{', "','", ',', 'syntactic_term', '}', ';'], ['syntactic_term', '=', 'syntactic_factor', ',', '[', "'-'", ',', 'syntactic_factor', ']', ';'], ['syntactic_factor', '=', '[', 'integer', ',', "'*'", ']', ',', 'syntactic_primary', ';'], ['syntactic_primary', '=', 'optional_sequence', '|', 'repeated_sequence', '|', 'grouped_sequence', '|', 'meta_identifier', '|', 'terminal_string', ';'], ['optional_sequence', '=', "'['", ',', 'definitions_list', ',', "']'", ';'], ['repeated_sequence', '=', "'{'", ',', 'definitions_list', ',', "'}'", ';'], ['grouped_sequence', '=', "'('", ',', 'definitions_list', ',', "')'", ';']] [['xavier', 'yeti'], ['alpha', 'beta', 'charlie'], ['will', 'beaver']] ['xavier', 'yeti'] ['alpha', 'beta', 'charlie'] ['will', 'beaver'] ['1', '0x2', '3', '0x4', 'aaa'] - base10: ['1', '3'] - hex: ['0x2', '0x4'] - word: ['aaa'] ........[[['Q', ['x', 'y', 'z']]], ':-', ['Bloo', ['x', 'Mitsis', 'y']], ['Foo', ['y', 'z', '1243']], ['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] - Bloo: ['x', 'Mitsis', 'y'] - Foo: ['y', 'z', '1243'] - head: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] - pred: [['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] [0]: ['y', '>', '28'] [1]: ['x', '<', '12'] [2]: ['x', '>', '3'] [0]: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] [1]: :- [2]: ['Bloo', ['x', 'Mitsis', 'y']] [0]: Bloo [1]: ['x', 'Mitsis', 'y'] [3]: ['Foo', ['y', 'z', '1243']] [0]: Foo [1]: ['y', 'z', '1243'] [4]: ['y', '>', '28'] [5]: ['x', '<', '12'] [6]: ['x', '>', '3'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] {Re:('[a-z]+') | Re:('[a-z]+')} ['abc'] {Re:('[a-z]+') ^ Re:('[a-z]+')} ['abc'] {Re:('[a-z]*') | Re:('[a-z]*')} ['abc'] {Re:('[a-z]*') ^ Re:('[a-z]*')} ['abc'] Raised expected exception: ParseSyntaxException: Expected W:(0-9), found 'bad' (at char 4), (line:1, col:5) Raised expected exception: ParseSyntaxException: should raise here (at char 0), (line:1, col:1) Raised expected exception: ParseSyntaxException: Expected identifier, found end of text (at char 1), (line:1, col:2) [123, 456, 789] [123, 456, 789] 9 -> 9 -9 -> -9 --9 -> 9 -E -> -2.718281828459045 9 + 3 + 5 -> 17 9 + 3 / 11 -> 9.272727272727273 (9 + 3) -> 12 (9+3) / 11 -> 1.0909090909090908 9 - 12 - 6 -> -9 9 - (12 - 6) -> 3 2*3.14159 -> 6.28318 3.1415926535*3.1415926535 / 10 -> 0.9869604400525172 PI * PI / 10 -> 0.9869604401089358 PI*PI/10 -> 0.9869604401089358 PI^2 -> 9.869604401089358 round(PI^2) -> 10 6.02E23 * 8.048 -> 4.844896e+24 e / 3 -> 0.9060939428196817 sin(PI/2) -> 1.0 10+sin(PI/4)^2 -> 10.5 trunc(E) -> 2 trunc(-E) -> -2 round(E) -> 3 round(-E) -> -3 E^PI -> 23.140692632779263 exp(0) -> 1.0 exp(1) -> 2.718281828459045 2^3^2 -> 512 (2^3)^2 -> 64 2^3+2 -> 10 2^3+5 -> 13 2^9 -> 512 sgn(-2) -> -1 sgn(0) -> 0 sgn(0.1) -> 1 round(E, 3) -> 2.718 round(PI^2, 3) -> 9.87 sgn(cos(PI/4)) -> 1 sgn(cos(PI/2)) -> 0 sgn(cos(PI*3/4)) -> -1 +(sgn(cos(PI/4))) -> 1 -(sgn(cos(PI/4))) -> -1 -> ['BODY', False] ['BODY', False] - empty: False - startBody: ['BODY', False] - empty: False - tag: 'BODY' - tag: 'BODY' -> ['BODY', ['bgcolor', '#00FFCC'], False] ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - startBody: ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False -> ['BODY', ['bgcolor', '#00FFAA'], True] ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - startBody: ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True -> ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False -> ['BODY', True] ['BODY', True] - empty: True - startBody: ['BODY', True] - empty: True - tag: 'BODY' - tag: 'BODY' -> [''] [''] - endBody: '' end tag /* * a block comment * */ typedef string[10] tenStrings; typedef sequence stringSeq; typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 /* * a block comment * */ typedef string[10] tenStrings; typedef /** ** *** **** * * a block comment * */ sequence /*comment inside an And */ stringSeq; /* */ /**/ /***/ /****/ typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 const string test="Test String\n"; const long a = 0; const long b = -100; const float c = 3.14159; const long d = 0x007f7f7f; exception TestException { string msg; sequence dataStrings; }; interface TestInterface { void method1(in string arg1, inout long arg2); }; tokens = [['const', 'string', 'test', '=', '"Test String\\n"', ';'], ['const', 'long', 'a', '=', '0', ';'], ['const', 'long', 'b', '=', '-100', ';'], ['const', 'float', 'c', '=', '3.14159', ';'], ['const', 'long', 'd', '=', '0x007f7f7f', ';'], 'exception', 'TestException', '{', ['string', 'msg', ';'], [['sequence', '<', 'string', '>'], 'dataStrings', ';'], '}', ';', ['interface', 'TestInterface', '{', 'void', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', '}', ';']] 60 module Test1 { exception TestException { string msg; ]; interface TestInterface { void method1(in string arg1, inout long arg2) raises (TestException); }; }; exception TestException ^ Expected {moduleDef | {moduleItem}...}, found 'exception' (at char 56), (line:4, col:15) ................... module Test1 { exception TestException { string msg; }; }; tokens = ['module', 'Test1', '{', 'exception', 'TestException', '{', ['string', 'msg', ';'], '}', ';', '}', ';'] 13 Test ifOnlyIfOnly Match Literal ['if'] Match Keyword failed Test if(OnlyIfOnly) Match Literal ['if'] Match Keyword ['if'] Test if (OnlyIf Only) Match Literal ['if'] Match Keyword ['if'] Test IFOnlyIfOnly Match Literal failed Match Keyword failed Test If(OnlyIfOnly) Match Literal failed Match Keyword ['if'] Test iF (OnlyIf Only) Match Literal failed Match Keyword ['if'] Raised expected exception: ValueError: null string passed to Keyword; use Empty() instead ['0', '123', '321', 444] ['spam', 'eggs'] - first: 'spam' - second: 'eggs' [] ['123', '456', 'ABC', 'DEF'] - ints: ['123', '456'] - words: ['ABC', 'DEF'] ['123', 'ABC', 'DEF'] - ints: ['123', '456'] ['List', '__add__', '__annotations__', '__bool__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_all_names', '_asStringList', '_modal', '_name', '_null_values', '_parent', '_tokdict', '_toklist', 'append', 'asDict', 'asList', 'as_dict', 'as_list', 'clear', 'copy', 'dump', 'extend', 'from_dict', 'get', 'getName', 'get_name', 'haskeys', 'insert', 'items', 'keys', 'pop', 'pprint', 'trios', 'values'] ['spam', 'eggs', 'foo', 'bar'] ['abc', 'def', 'ghi', 'ihg', 'fed', 'cba'] [['123', 456, ['789', 789]]] - trios: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['h', 'A', 'i', 'c', 'a', 'g', 'e', 'f', 'd', 'B', 'C', 'D', 'E', 'b', 'F', 'j', 'G', 'H', 'I', 'J'] ['h', 'A', 'i', 'c', 'a', 'g', 'e', 'f', 'd', 'B', 'C', 'D', 'E', 'b', 'F', 'j', 'G', 'H', 'I', 'J'] Pre-insert [[1, 2, 3], 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: dice [2]: ['rolled', 'first', 'try'] Post-insert [[1, 2, 3], 6, 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: 6 [2]: dice [3]: ['rolled', 'first', 'try'] [ 1,2,3,4,5,6 ] [['[', '1', '2', '3', '4', '5', '6', ']']] - LIST: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' [0]: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' "Golden Gate Bridge" 37.819722 -122.478611 height=746 span=4200 ['Golden Gate Bridge', [37.819722, -122.478611, ['height', 746], ['span', 4200]]] - data: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] - name: 'Golden Gate Bridge' [0]: Golden Gate Bridge [1]: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - startA: ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False [] [] [1, 2, 3, 4, 5] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 0 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 1 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 2 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 3 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 4 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 5 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 ....................['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 1 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 2 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 3 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 4 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 5 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 1 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 2 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 3 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 4 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 5 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 1 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 2 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 3 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 4 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 5 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 0 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] - name: ['BABBAB'] ParseResults(['test', 'blub'], {'word': 'blub'}) blub {'word': 'blub'} ParseResults(['test', 'blub'], {'word': ['test', 'blub']}) ['test', 'blub'] {'word': ['test', 'blub']} ['abc'] - A: 'abc' Raised expected exception: AttributeError: __xyz__ ['5', '4', '3', '2', '1'] {'spam', 'eggs'} not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] ParseResults([('A', 'Z')], {'Achar': ('A', 'Z')}) ('A', 'Z') ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) SELECT * from XYZZY, ABC ['select', '*', 'from', 'XYZZY', 'ABC', ''] 6 select * from SYS.XYZZY ['select', '*', 'from', 'SYS.XYZZY', ''] 5 Select A from Sys.dual ['select', 'A', 'from', 'SYS.DUAL', ''] 5 Select A,B,C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual, Table2 ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', 'TABLE2', ''] 8 Select A from Sys.dual where a in ('RED','GREEN','BLUE') ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')'] 12 Select A from Sys.dual where a in ('RED','GREEN','BLUE') and b in (10,20,30) ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')', 'and', 'B', 'in', '(', 10, 20, 30, ')'] 20 Select A,b from table1,table2 where table1.id eq table2.id -- test out comparison operators ['select', 'A', 'B', 'from', 'TABLE1', 'TABLE2', 'where', 'TABLE1.ID', 'eq', 'TABLE2.ID'] 10 Re:('[-+][0-9]+') correctly failed to match '1234 foo' Re:('[-+][0-9]+') correctly failed to match ' +foo' Re:('[0-9]+') correctly failed to match 'abc' Re:('[0-9]+') correctly failed to match '+123 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match 'foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '"foo bar\'' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '\'foo bar"' Re:('[-+][0-9]+') correctly matched ' +123' Re:('[-+][0-9]+') correctly matched '+123' Re:('[-+][0-9]+') correctly matched '+123 foo' Re:('[-+][0-9]+') correctly matched '-0 foo' Re:('[0-9]+') correctly matched '123 foo' Re:('[0-9]+') correctly matched '0 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched '"foo"' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched "'foo bar' baz" Re:('[A-Z]+') correctly failed to match 'blah' Re:('[A-Z]+') correctly matched 'BLAH' Re:('("(?P[^\"]*)")') correctly matched '"foo bar" baz' ['"zork"'] [('content', 'zork')] zork lets try an invalid RE successfully rejected an invalid RE: invalid pattern ('("[^"]*")|(\'[^\']*\'') passed to Regex Raised expected exception: ValueError: null string passed to Regex; use Empty() instead ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: ParseException: Missing one or more required elements ('and'), found ' ' (at char 4), (line:1, col:5) ['spam', 'and', 'eggs'] - first: 'spam' - second: 'eggs' Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['spam', 'eggs'] ['pre', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['abd', 'def', 'ghi', 'jkl'] ['abd', 'def', 'ghi', 'jkl'] Raised expected exception: TypeError: cannot multiply ParserElement and str objects Raised expected exception: TypeError: cannot multiply ParserElement and str objects ['spam', '11', '22'] - first: 'spam' - second: ['11', '22'] ['spam', '111', '222'] - first: 'spam' - second: ['111', '222'] ['spam'] - first: 'spam' .......................................>>entering convert_to_int(line: '132', 0, ParseResults(['132'], {})) <>entering (line: '132', 0, ParseResults([132], {})) < (ret: 1320) >>entering Z(line: '132', 0, ParseResults([1320], {})) < ['foo', 'bar', 'temp'] EXP: AAA ['123', '456', '789', '234'] GOT: AAA ['123', '456', '789', '234'] AAA ['123', '456', '789', '234'] EXP: 234 ['123', '456', '789'] GOT: 234 ['123', '456', '789'] 234 ['123', '456', '789'] EXP: AAA ['123', '456', '789'] GOT: AAA ['123', '456', '789'] AAA ['123', '456', '789'] EXP: 789 ['123', '456'] GOT: 789 ['123', '456'] 789 ['123', '456'] noname ['123', '456'] ['AAA', '123', '456', '789', '234'] - name: 'AAA' Raised expected exception: TypeError: pop() got an unexpected keyword argument 'notDefault' c384 b8324 _9293874 _293 404 $%^$^%$2939 [384, 8324] - prefix: ['c', 'b'] [9293874, 293] [404] [2939] - prefix: ['^%$'] [2939] [404] [['working']] [0]: ['working'] - main: ['working'] - negs_lb: 'not' got maximum excursion limit exception ['like "SQL"'] ['aaayaaa'] 'a valid single quoted string' 'an invalid single quoted string because it spans lines' "a valid double quoted string" "an invalid double quoted string because it spans lines" [("'a valid single quoted string'", 17, 47)] [('a valid double quoted string', 154, 184)] [("'a valid single quoted string'", 17, 47), ('"a valid double quoted string"', 154, 184)] [("'This string has an escaped (\\') quote character'", 17, 66)] [('This string has an escaped (\\") quote character', 83, 132)] [("'This string has an escaped (\\') quote character'", 17, 66), ('"This string has an escaped (\\") quote character"', 83, 132)] [("'This string has an doubled ('') quote character'", 17, 66)] [('This string has an doubled ("") quote character', 83, 132)] [("'This string has an doubled ('') quote character'", 17, 66), ('"This string has an doubled ("") quote character"', 83, 132)] testing catastrophic RE backtracking in implementation of dblQuotedString Raised expected exception: ValueError: endQuoteChar cannot be the empty string ['myc(114)r(11)dd'] ['myc(114)r(11)dd'] return as list of match groups [('123', '456', 'lsdfkj')] [('123', '456', 'lsdfkj')] return as re.match instance [] ('123', '456', 'lsdfkj') [('123', '456', 'lsdfkj')] Raised expected exception: TypeError: Regex may only be constructed with a string or a compiled RE object test sub with string This is the title: 'Richard III' test sub with re string

This is the main heading

This is the sub-heading

test sub with re string (Regex returns re.match)

This is the main heading

This is the sub-heading

test sub with callable that return str I want this in upcase: WHAT? WHAT? Raised expected exception: TypeError: cannot use sub() with a callable with Regex(asMatch=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) verify behavior with repeated tokens when packrat parsing is enabled abc 12 abc No literal match in abc12aabc c 12 c bc 12 bc ['abc', '12', 'abc'] No expression match in abc12cba No expression match in abc12abcdef {word-num-word ':' (prev) word-num-word} match: ['abc', '12', 'abc', ':', 'abc', '12', 'abc'] No expression match in abc12cba:abc12abc No expression match in abc12abc:abc12abcdef ['1', ':', '1'] No match in 1:10 ['12'] ['aaa', 'ddd', '12', 'aaa', 'ddd'] [['aaa', 'ddd'], ['aaa', 'ddd']] [0]: ['aaa', 'ddd'] [1]: ['aaa', 'ddd'] ['aaa', 'aaa'] ['bam', 'boo'] ['boo', 'bam'] BD -> Expected {'A' | {'B' 'C'} | 'E'}, found 'D' (at char 1), (line:1, col:2) [1, 2, 3, 4, 6, 8, 9, 10, 16] [1, 2, 3, 4, 6, 8, 9, 10, 16] [11] [11] 1/2 eval: 0.5 1/0 [1, '/', 0] - denominator: 0 - numerator: 1 eval_fraction failed: ZeroDivisionError: division by zero True ['129.6.15.28', '129.6.15.29', '132.163.4.101', '132.163.4.102', '132.163.4.103'] [(ParseResults([], {}), 5, 6)] Before parsing with setBreak: False After parsing with setBreak: True a | b | c d | e | f {a | b | c | d | e | f} Forward: + | - term + | - term Forward: ?: term ?: term Forward: {a | b | c [{d | e | f : ...}]...} int [, int]... (len) int... nested () expression (, ) (, ) common HTML entity lsdjkf &'"&xyzzy; Raised expected exception: TypeError: parse actions must be callable ['A'] - Achar: 'A' verify behavior of setResultsName with OneOrMore and ZeroOrMore ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] Received expected exception: just one arg (at char 0), (line:1, col:1) ['some text /* comment with ; in */', ';', 'working'] ['some text /* comment with ; in */some other stuff', ';', 'working'] ['some text /* comment with ; in */', ';', 'working'] Raised expected exception: ParseException: Expected ';', found ' ' (at char 37), (line:1, col:38) Raised expected exception: Exception: use of `...` expression without following SkipTo target expression verify proper streamline logic {{{'A' 'B'} 'C'} 'D'} {'A' 'B' 'C' 'D'} ['123'] ['123'] ['123'] ['123'] ['123'] ['123'] Raised expected exception: ParseException: Expected W:(0-9), found ' ' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected '123', found ' ' (at char 0), (line:1, col:1) {StringStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\naaa' ['aaa'] {LineStart W:(a-e) StringEnd} ' aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\n aaa' ['aaa'] {AtLineStart:(W:(a-e)) StringEnd} ' aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 3), (line:1, col:4) {AtLineStart:(W:(a-e)) StringEnd} '\n aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 4), (line:2, col:4) garbage;DOB 10-10-2010;more garbage ID PARI12345678;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' ['ID', 'PARI12345678'] - id: 'PARI12345678' garbage;ID PARI12345678;more garbage DOB 10-10-2010;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['ID', 'PARI12345678'] - id: 'PARI12345678' ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;DOB 10-10-2010 ID: DOB:10-10-2010 INFO: ID: DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;ID PARI12345678;more garbage- I am cool ID:PARI12345678 DOB: INFO: I am cool ID:PARI12345678 DOB: INFO: I am cool ['ID', 'PARI12345678'] - id: 'PARI12345678' ['-', ' I am cool'] - info: ' I am cool' 00 11 22 aa FF 0a 0d 1a [0, 17, 34, 170, 255, 10, 13, 26] I wish to buy 12345 shares of Acme Industries (as a gift to my (ex)wife) I 12,345 Acme Industries asagifttomyexwife 1 1234567890 1:| 2:| 3:check aaa| 1 1234567890 1:| 2:| 3:CHECK aaa| 1 2 12345678901234567890 1: check aaa| 1 2 12345678901234567890 1: CHECK aaa| [['rint'], ['a100']] 1 1234567890 1: check| 1 1234567890 1: CHECK| Original: .. File "/usr/src/RPM/BUILD/pyparsing-3.0.9/tests/test_unit.py", line 5667, in B A() File "/usr/src/RPM/BUILD/pyparsing-3.0.9/tests/test_unit.py", line 5653, in A traceback.print_stack(limit=2) ....................'\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' Should match: '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' aaa 333 ['aaa', '333'] b 1 ['b', '1'] ababab 32123 ['ababab', '32123'] 123 [123] 456 [456] abc abc ^ ParseException: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.Or - {{integer}} FAIL: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4025, in parseImpl raise maxException 101222 101222 ['Καλημέρα', ',', 'κόσμε', '!'] [['şehir', 'İzmir'], ['ülke', 'Türkiye'], ['nüfus', 4279677]] - nüfus: 4279677 - ülke: 'Türkiye' - şehir: 'İzmir' [0]: ['şehir', 'İzmir'] [1]: ['ülke', 'Türkiye'] [2]: ['nüfus', 4279677] 鞯ŕἏ֩ब량Ï擫ѽܬะ齕ìἇ֢ल쉞Q揸Хضภ辐3ᵧו꣰롣ï濣ӏخ๚輖ijϵהऴ뇫Í藈ҳۡ๏腀rῢקऍ뒫¾駛ѓڄป茔ðῒכּ꣡똸C检йثโ偛Ùῳֿष좢O㧌иݲๅ縎ĤῘ֞ꣷ뎱5㓚ꙶڝฑ� ['鞯ŕἏ֩ब량Ï擫ѽܬะ齕ìἇ֢ल쉞Q揸Хضภ辐3ᵧו꣰롣ï濣ӏخ๚輖ijϵהऴ뇫Í藈ҳۡ๏腀rῢקऍ뒫¾駛ѓڄป茔ðῒכּ꣡똸C检йثโ偛Ùῳֿष좢O㧌иݲๅ縎ĤῘ֞ꣷ뎱5㓚ꙶڝฑ�'] [[10, 'print', 123, ';'], [20, 'print', 234, ';', 567, ';'], [30, 'print', 890]] [0]: [10, 'print', 123, ';'] [1]: [20, 'print', 234, ';', 567, ';'] [2]: [30, 'print', 890] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] [['abc', '\n'], ['abc', '\n'], ['abc']] [0]: ['abc', '\n'] [1]: ['abc', '\n'] [2]: ['abc'] [["'def'", '\n'], ["'def'", '\n'], ["'def'"]] [0]: ["'def'", '\n'] [1]: ["'def'", '\n'] [2]: ["'def'"] [[123, '\n'], [123, '\n'], [123]] [0]: [123, '\n'] [1]: [123, '\n'] [2]: [123] [[4.56, '\n'], [4.56, '\n'], [4.56]] [0]: [4.56, '\n'] [1]: [4.56, '\n'] [2]: [4.56] [['a_bc', '\n'], ['a_bc', '\n'], ['a_bc']] [0]: ['a_bc', '\n'] [1]: ['a_bc', '\n'] [2]: ['a_bc'] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] verify behavior of validate() Forward: Group:({'A' | : ...}) RecursiveGrammarException: [Forward: Group:({'A' | : ...}), Group:({'A' | : ...}), {'A' | Forward: Group:({'A' | : ...})}, Forward: Group:({'A' | : ...})] Forward: {['A'] : ...} RecursiveGrammarException: [Forward: {['A'] : ...}, {['A'] Forward: {['A'] : ...}}, Forward: {['A'] : ...}] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) make a ClassAsPAStarNew ('VUTSRQPONMLKJIHGFEDCBA', 17, ParseResults(['E'], {})) making a ClassAsPA1 ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] verify that using '<<' operator with a Forward raises a warning if there is a dangling '|' operator unsafe << and |, but diag not enabled, should not warn unsafe << and |, should warn unsafe << and |, should warn safe <<= and |, should not warn safe << and (|), should not warn [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['class', 'boo'], False, '8', '']] [0]: ['a', ['class', 'boo'], False, '8', ''] - class: 'boo' - empty: False - endA: '' - tag: 'a' - value: '8' [0]: a [1]: ['class', 'boo'] [2]: False [3]: 8 [4]: ABC DEF GHI [['D', 'G'], ['A'], ['C', 'F'], ['I'], ['E'], ['A', 'I']] JKL MNO PQR [['J', 'M', 'P'], [], ['L', 'R'], ['O'], [], ['O']] STU VWX YZ [['S', 'V'], ['Y'], ['X', 'Z'], ['U'], [], ['U', 'Y']] ABC DEF GHI JKL MNO PQR STU VWX YZ [['D', 'G', 'J', 'M', 'P', 'S', 'V'], ['A', 'Y'], ['C', 'F', 'L', 'R', 'X', 'Z'], ['I', 'O', 'U'], ['E'], ['A', 'I', 'O', 'U', 'Y']] [['Hello'], ['Mr'], ['Ed'], ["it's"], ['Wilbur']] ['ABCDEMNXYZABCDEMNXYZABCDEMNXYZ'] Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match ']\]\\]]\\\]\\]]\' -> True Testing escape char: \ -> W:([\) re: '[\[\\]+') Match '[\[\\\\\[[\[[\\\' -> True Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match ']\\]]\]]]\]]\\]]' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\RPZUUMRYZTQVUMPC' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\XNYWFLXXJEEMYUAD' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '__^^_^^^__^^_^_^' -> True Testing escape char: ^ -> W:(]^) re: '[\]\^]+') Match '^^]]]^^^]]]]]^^]' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '_^______^_^^^^_^' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^INIGOFOZBBXZDJQH' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^XBKVBHCCPNJIOUNS' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '-..-.-..-.-..--.' -> True Testing escape char: - -> W:(,-) re: '[,\-]+') Match '-,-,---,-,,-,---' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '-.--....--...---' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-NQSSQUSOLOZSKCKO' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-JZIUTYBOMXSZATZH' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']^]]^]^]^^^]]^^]' -> True Testing escape char: ] -> W:(\]) re: '[\\\]]+') Match ']\]\]]]\\\\]]]]]' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']^^]]]]^]]]^^]^^' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']IHYMCQUGXICBLRQR' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']MFHSWSUUFCIHFYJR' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '\[\[[[\\\[[\[\[[' -> True Testing escape char: [ -> W:(Z[) re: '[Z\[]+') Match '[[ZZ[[Z[[[[Z[ZZ[' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '[[[[[\[[\[[\\[\\' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[XYKPHXIKUZGLJHMK' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[ULFAYRNFHWQJIXSS' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '++**++*++*++*+**' -> True Testing escape char: * -> W:()*) re: '[)*]+') Match '*))*)**)))*)))*)' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '********+***++**' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*EHPUAGLIQGTWSLSU' -> True ....Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*ZLOMPWNYMVVUSPLP' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match '+,,,++,+,,++,+,,' -> True Testing escape char: + -> W:(*+) re: '[*+]+') Match '+*++++***+**++*+' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match ',,++++,,,,++,++,' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+HPGOXEDRAPWSFIAM' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+VRLZRZOUQZGCCURX' -> True Testing escape char: . -> W:(./) re: '[./]+') Match '/.////./....//..' -> True Testing escape char: . -> W:(-.) re: '[\-.]+') Match '--.-----..-..---' -> True Testing escape char: . -> W:(./) re: '[./]+') Match '/.//.///.//////.' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.CTGBFXTDJDCXBNCR' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.BSSCRNTPXMUVZOOF' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '@??@@??@???@?@@?' -> True Testing escape char: ? -> W:(>?) re: '[>?]+') Match '>?>?>>>>????>>?>' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '?@@@@@??@???@@?@' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?LNUDNTAYWBIZUHMK' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?KHSDPASGVMKJSGHV' -> True ['p', 'q', 'r', 'False'] Raised expected exception: ParseException: Expected {(A-Za-z) | True | False}, found 'abc' (at char 0), (line:1, col:1) {'A' W:(0-9)} ... {'A' W:(0-9)} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9)} ... {'A' W:(0-9){2,...}} ... {'A' W:(0-9){2,6}} ... W:(A, 0-9) A[0-9]* W:(A, 0-9) A[0-9]* W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9) A[0-9]* W:(A, 0-9){2,...} ... W:(A, 0-9){2,6} ... W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){2,...} ... W:(A-Za-z, 0-9){2,6} ... ..................... Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(Word()) if zero-length word is permitted Packrat enabled: True Packrat cache: _FifoCache 128 [[7], [9]] [[1, 4], [2, 4], [4, 3]] [[1, 4], [2, 4]] detected fatal condition ['balloon', '25'] - item: 'balloon' - qty: '25' ['rucksack', 49] - item: 'rucksack' - qty: 49 ['AAA', ' this line'] ['AAA', ' and this line'] [] [] d | aA | a | b | c d | Aa | a | b | c ['aA', 'aA', 'aA', 'aA'] ['Aa', 'Aa', 'Aa', 'Aa'] [[1, '?', 1, ':', 0, '?', 1, ':', 0]] [0]: [1, '?', 1, ':', 0, '?', 1, ':', 0] [[1, '?', 1, ':', [0, '?', 1, ':', 0]]] [0]: [1, '?', 1, ':', [0, '?', 1, ':', 0]] [0]: 1 [1]: ? [2]: 1 [3]: : [4]: [0, '?', 1, ':', 0] ['B', 'B', 'C', 'A', 'D'] ['B'] ['bcdfghjklmnpqrstvwxyz'] Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(CharsNotIn()) if zero-length char group is permitted ['bcdfg'] ['bcdfghjklm'] Raised expected exception: ParseException: Expected !W:(AEIOU), found end of text (at char 21), (line:1, col:22) ATCATCGAATGGA ['ATCATCGAATGGA'] - mismatches: [] - original: 'ATCATCGAATGGA' XTCATCGAATGGX ['XTCATCGAATGGX'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' ATCATCGAAXGGA ['ATCATCGAAXGGA'] - mismatches: [9] - original: 'ATCATCGAATGGA' ATCAXXGAATGGA ['ATCAXXGAATGGA'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' ATCAXXGAATGXA ATCAXXGAATGXA ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCAXXGAATGG ATCAXXGAATGG ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCATCGAATGGA match XTCATCGAATGGX match ATCATCGAAXGGA match ATCAXXGAATGGA match ATCAXXGAATGXA exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) ATCAXXGAATGG exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) atcatcgaatgga ['atcatcgaatgga'] - mismatches: [] - original: 'ATCATCGAATGGA' xtcatcgaatggx ['xtcatcgaatggx'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' atcatcgaaxgga ['atcatcgaaxgga'] - mismatches: [9] - original: 'ATCATCGAATGGA' atcaxxgaatgga ['atcaxxgaatgga'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' atcaxxgaatgxa atcaxxgaatgxa ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcaxxgaatgg atcaxxgaatgg ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcatcgaatgga match xtcatcgaatggx match atcatcgaaxgga match atcaxxgaatgga match atcaxxgaatgxa exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) atcaxxgaatgg exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) ['*', '*', '*', '*'] [' ', 'test'] - indent: ' ' - word: 'test' [' ', 'test'] - word: 'test' verify processing of C and HTML comments AA:BB:CC:DD:EE:FF ['AA:BB:CC:DD:EE:FF'] AA.BB.CC.DD.EE.FF ['AA.BB.CC.DD.EE.FF'] AA-BB-CC-DD-EE-FF ['AA-BB-CC-DD-EE-FF'] # mixed delimiters AA.BB:CC:DD:EE:FF AA.BB:CC:DD:EE:FF ^ ParseException: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) pyparsing.core.Regex - MAC address FAIL: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 0.0.0.0 ['0.0.0.0'] 1.1.1.1 ['1.1.1.1'] 127.0.0.1 ['127.0.0.1'] 1.10.100.199 ['1.10.100.199'] 255.255.255.255 ['255.255.255.255'] . # out of range value 256.255.255.255 256.255.255.255 ^ ParseException: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) pyparsing.core.Regex - IPv4 address FAIL: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ['2001:0db8:85a3:0000:0000:8a2e:0370:7334'] 2134::1234:4567:2468:1236:2444:2106 ['2134::1234:4567:2468:1236:2444:2106'] 0:0:0:0:0:0:A00:1 ['0:0:0:0:0:0:A00:1'] 1080::8:800:200C:417A ['1080::8:800:200C:417A'] ::A00:1 ['::A00:1'] # loopback address ::1 ['::1'] # the null address :: ['::'] # ipv4 compatibility form ::ffff:192.168.0.1 ['::ffff:192.168.0.1'] # too few values 1080:0:0:0:8:800:200C 1080:0:0:0:8:800:200C ^ ParseException: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) pyparsing.core.Combine - IPv6 address pyparsing.core.MatchFirst - IPv6 address pyparsing.core.And - full IPv6 address pyparsing.core.And - {':' hex_integer} pyparsing.core._SingleCharLiteral - ':' FAIL: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4136, in parseImpl raise maxException File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 819, in _parseNoCache raise ParseException(instring, len_instring, self.errmsg, self) # too many ::'s, only 1 allowed 2134::1234:4567::2444:2106 2134::1234:4567::2444:2106 ^ ParseException: Expected end of text, found ':' (at char 15), (line:1, col:16) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found ':' (at char 15), (line:1, col:16) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 100 [100] -100 [-100] +100 [100] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1e12 [1000000000000.0] -1e12 [-1000000000000.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 100 [100.0] -100 [-100.0] +100 [100.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1997 ['1997'] - day: None - month: None - year: '1997' 1997-07 ['1997-07'] - day: None - month: '07' - year: '1997' 1997-07-16 ['1997-07-16'] - day: '16' - month: '07' - year: '1997' 1997-07-16 [datetime.date(1997, 7, 16)] 1997-07-16T19:20+01:00 ['1997-07-16T19:20+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: None - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30+01:00 ['1997-07-16T19:20:30+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30' - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30.45Z ['1997-07-16T19:20:30.45Z'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: 'Z' - year: '1997' 1997-07-16 19:20:30.45 ['1997-07-16 19:20:30.45'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: None - year: '1997' 1997-07-16T19:20:30.45 [datetime.datetime(1997, 7, 16, 19, 20, 30, 450000)] 123e4567-e89b-12d3-a456-426655440000 ['123e4567-e89b-12d3-a456-426655440000'] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1 1/2 [1.5] 2 -15/16 [2.9375] 0 -3/-4 [-0.75] 12 [12] 100 [100] -3 [-3] 1.732 [1.732] -3.14159 [-3.14159] 6.02e23 [6.02e+23] http://foo.com/blah_blah ['http://foo.com/blah_blah'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah/ ['http://foo.com/blah_blah/'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah/' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia) ['http://foo.com/blah_blah_(wikipedia)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia)_(again) ['http://foo.com/blah_blah_(wikipedia)_(again)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)_(again)' - port: None - query: None - scheme: 'http' http://www.example.com/wpstyle/?p=364 ['http://www.example.com/wpstyle/?p=364'] - auth: None - fragment: None - host: 'www.example.com' - path: '/wpstyle/' - port: None - query: 'p=364' - scheme: 'http' https://www.example.com/foo/?bar=baz&inga=42&quux ['https://www.example.com/foo/?bar=baz&inga=42&quux'] - auth: None - fragment: None - host: 'www.example.com' - path: '/foo/' - port: None - query: 'bar=baz&inga=42&quux' - scheme: 'https' http://✪df.ws/123 ['http://✪df.ws/123'] - auth: None - fragment: None - host: '✪df.ws' - path: '/123' - port: None - query: None - scheme: 'http' http://userid:password@example.com:8080 ['http://userid:password@example.com:8080'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com:8080/ ['http://userid:password@example.com:8080/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid@example.com ['http://userid@example.com'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid@example.com/ ['http://userid@example.com/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://userid@example.com:8080 ['http://userid@example.com:8080'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid@example.com:8080/ ['http://userid@example.com:8080/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com ['http://userid:password@example.com'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid:password@example.com/ ['http://userid:password@example.com/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1/ ['http://142.42.1.1/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1:8080/ ['http://142.42.1.1:8080/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: '8080' - query: None - scheme: 'http' http://➡.ws/䨹 ['http://➡.ws/䨹'] - auth: None - fragment: None - host: '➡.ws' - path: '/䨹' - port: None - query: None - scheme: 'http' http://⌘.ws ['http://⌘.ws'] - auth: None - fragment: None - host: '⌘.ws' - path: None - port: None - query: None - scheme: 'http' http://⌘.ws/ ['http://⌘.ws/'] - auth: None - fragment: None - host: '⌘.ws' - path: '/' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)#cite-1 ['http://foo.com/blah_(wikipedia)#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)_blah#cite-1 ['http://foo.com/blah_(wikipedia)_blah#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)_blah' - port: None - query: None - scheme: 'http' http://foo.com/unicode_(✪)_in_parens ['http://foo.com/unicode_(✪)_in_parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/unicode_(✪)_in_parens' - port: None - query: None - scheme: 'http' http://foo.com/(something)?after=parens ['http://foo.com/(something)?after=parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/(something)' - port: None - query: 'after=parens' - scheme: 'http' http://☺.damowmow.com/ ['http://☺.damowmow.com/'] - auth: None - fragment: None - host: '☺.damowmow.com' - path: '/' - port: None - query: None - scheme: 'http' http://code.google.com/events/#&product=browser ['http://code.google.com/events/#&product=browser'] - auth: None - fragment: '&product=browser' - host: 'code.google.com' - path: '/events/' - port: None - query: None - scheme: 'http' http://j.mp ['http://j.mp'] - auth: None - fragment: None - host: 'j.mp' - path: None - port: None - query: None - scheme: 'http' ftp://foo.bar/baz ['ftp://foo.bar/baz'] - auth: None - fragment: None - host: 'foo.bar' - path: '/baz' - port: None - query: None - scheme: 'ftp' http://foo.bar/?q=Test%20URL-encoded%20stuff ['http://foo.bar/?q=Test%20URL-encoded%20stuff'] - auth: None - fragment: None - host: 'foo.bar' - path: '/' - port: None - query: 'q=Test%20URL-encoded%20stuff' - scheme: 'http' http://مثال.إختبار ['http://مثال.إختبار'] - auth: None - fragment: None - host: 'مثال.إختبار' - path: None - port: None - query: None - scheme: 'http' http:// http:// ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://. http://. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.. http://.. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://../ http://../ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://? http://? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://?? http://?? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://??/ http://??/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://# http://# ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://## http://## ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://##/ http://##/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://foo.bar?q=Spaces should be encoded // // ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) //a //a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ///a ///a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) /// /// ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:///a http:///a ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) foo.com foo.com ^ ParseException: Expected url, found 'foo' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'foo' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) rdar://1234 rdar://1234 ^ ParseException: Expected url, found 'rdar' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'rdar' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) h://test h://test ^ ParseException: Expected url, found 'h' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'h' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:// shouldfail.com http:// shouldfail.com ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) :// should fail :// should fail ^ ParseException: Expected url, found ':' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found ':' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://foo.bar/foo(bar)baz quux http://foo.bar/foo(bar)baz quux ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ftps://foo.bar/ ftps://foo.bar/ ^ ParseException: Expected url, found 'ftps' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'ftps' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://-error-.invalid/ http://-error-.invalid/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://a.b--c.de/ http://-a.b.co http://-a.b.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://a.b-.co http://a.b-.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://0.0.0.0 http://0.0.0.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.0 http://10.1.1.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ..... http://10.1.1.255 http://10.1.1.255 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://224.1.1.1 http://224.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://1.1.1.1.1 http://1.1.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://123.123.123 http://123.123.123 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://3628126748 http://3628126748 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.www.foo.bar/ http://.www.foo.bar/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://www.foo.bar./ http://.www.foo.bar./ http://.www.foo.bar./ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.1 http://10.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ['https://bob:secret@www.example.com:8080/path/to/resource?filter=int#book-mark'] - auth: 'bob:secret' - fragment: 'book-mark' - host: 'www.example.com' - path: '/path/to/resource' - port: '8080' - query: 'filter=int' - scheme: 'https' Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%d', found '1997' (at char 0), (line:1, col:1) Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%dT%H:%M:%S.%f', found '1997' (at char 0), (line:1, col:1) 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3.............. [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] B 5 7 F 0 1 2 3 4 5 _ C 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 5 string input item1 item2 item3 item4 item5 0 int user 2 int file 3 8 [['item1', 'item2', 'item3', 'item4', 'item5'], [], ['3', '8']] [0]: ['item1', 'item2', 'item3', 'item4', 'item5'] - count: 5 - items: ['item1', 'item2', 'item3', 'item4', 'item5'] - source: 'input' - type: 'string' [1]: [] - count: 0 - items: [] - source: 'user' - type: 'int' [2]: ['3', '8'] - count: 2 - items: ['3', '8'] - source: 'file' - type: 'int' type = '' source = '' ['True', 'True', 'False'] - items: ['True', 'True', 'False'] - type: 'bool' verify non-fatal usage of Literal("") Raised expected exception: ValueError: null string passed to Literal; use Empty() instead sdlfjs :sdf\:jls::djf: sl:kfsjf sdlfjs -sdf\:jls::--djf: sl-kfsjf sdlfjs -sdf\:::jls::--djf: sl:::-kfsjf sdlfjs ^sdf\:jls^^--djf^ sl-kfsjf sdlfjs ^^^==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf^^^ colonQuotes :(?:(?:::)|(?:\\.)|(?:[^:\n\r\\]))*: [['sdf:jls:djf'], ['jls:--djf'], [':jls:--djf'], [''], ['j=lz:--djf'], ['j=ls:--djf']] sdf:jls:djf sdf:jls:djf dashQuotes \-(?:(?:\-\-)|(?:\\.)|(?:[^\-\n\r\\]))*\- [['sdf:jls::-djf: sl'], ['sdf:::jls::-djf: sl:::'], [''], [''], ['']] sdf:jls::-djf: sl sdf:jls::-djf: sl hatQuotes \^(?:(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls'], ['--djf'], [''], ['==sdf:j=lz::--djf: sl='], ['']] sdf:jls sdf:jls hatQuotes1 \^(?:(?:\^\^)|(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls^--djf'], ['^==sdf:j=lz::--djf: sl='], ['']] sdf:jls^--djf sdf:jls^--djf dblEqQuotes ==(?:(?:\\.)|(?:(?:=(?!=)))|(?:[^=\n\r\\]))*== [['sdf:j=ls::--djf: sl']] sdf:j=ls::--djf: sl sdf:j=ls::--djf: sl ::: quotes :::(?:(?:(?:::(?!:))|(?::(?!::)))|(?:[^:\n\r]))*::: [['jls::--djf: sl']] jls::--djf: sl jls::--djf: sl ==-- quotes ==(?:(?:(?:\-(?!\-)))|(?:[^\-\n\r]))*\-\- [['sdf\\:j=lz::'], ['sdf\\:j=ls::']] sdf\:j=lz:: sdf\:j=lz:: ^^^ multiline quotes \^\^\^(?:(?:(?:\^\^(?!\^))|(?:\^(?!\^\^)))|(?:[^\^]))*\^\^\^ [['==sdf\\:j=lz::--djf: sl=^^=kfsjf\n sdlfjs ==sdf\\:j=ls::--djf: sl==kfsjf']] ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf Raised expected exception: ValueError: quote_char cannot be the empty string \.\[(?:(?:(?:\](?!\.)))|(?:[^\]\n\r]))*\]\. ['...'] [''] [']'] [']]'] \+\*(?:(?:(?:\*(?!\+)))|(?:[^*\n\r]))*\*\+ ['...'] [''] ['*'] ['**'] \*/(?:(?:(?:/(?!\*)))|(?:[^/\n\r]))*/\* ['...'] [''] ['/'] ['//'] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ValueError: min must be greater than 0 Raised expected exception: ValueError: max must be greater than, or equal to min Raised expected exception: ParseException: Expected ',', found end of text (at char 12), (line:1, col:13) 'ABC' [, 'ABC']... ['ABC', 'ABC'] 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] {'True' | 'true' | 'False' | 'false'} [, {'True' | 'true' | 'False' | 'false'}]... bool bool bool bool bool [, bool]... 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] ['bar', 'foo'] - one: 'foo' - two: 'bar' options(100) step(A) options(100) step(A) ^ ParseSyntaxException: Expected integer, found 'A' (at char 18), (line:1, col:19) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 18), (line:1, col:19) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal step(A) options(100) step(A) options(100) ^ ParseSyntaxException: Expected integer, found 'A' (at char 5), (line:1, col:6) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(100A) options(100) step(100A) ^ ParseSyntaxException: Expected 'Z', found 'A' (at char 21), (line:1, col:22) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected 'Z', found 'A' (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(22) step(100ZA) options(100) step(22) step(100ZA) ^ ParseSyntaxException: Expected ')', found 'A' (at char 31), (line:1, col:32) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected ')', found 'A' (at char 31), (line:1, col:32) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {{word}... num} pyparsing.core.OneOrMore - {word}... pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 9), (line:1, col:10) pyparsing.core.And - {[word [word [word]]] num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 9), (line:1, col:10) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) cc dd 123 ['cc', 'dd', '123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'cc' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'cc' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ...... bb cc dd 123 bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1,1 ['a', [1, 1]] - label: 'a' - points: [[1, 1]] [0]: [1, 1] - x: 1 - y: 1 [0]: a [1]: [1, 1] - x: 1 - y: 1 b 1,1 2,2 3,3 ['b', [1, 1], [2, 2], [3, 3]] - label: 'b' - points: [[1, 1], [2, 2], [3, 3]] [0]: [1, 1] - x: 1 - y: 1 [1]: [2, 2] - x: 2 - y: 2 [2]: [3, 3] - x: 3 - y: 3 [0]: b [1]: [1, 1] - x: 1 - y: 1 [2]: [2, 2] - x: 2 - y: 2 [3]: [3, 3] - x: 3 - y: 3 c ['c'] - label: 'c' - points: [] [['a', '10'], ['b', '20']] - a: '10' - b: '20' [0]: ['a', '10'] [1]: ['b', '20'] ^ ParseException: Expected W:(A-Za-z) (at char 0), (line:1, col:1) pyparsing.core.Dict - Dict:({Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}...) pyparsing.core.OneOrMore - {Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}... pyparsing.core.Group - Group:({W:(A-Za-z) Suppress:('=') W:(0-9)}) pyparsing.core.And - {W:(A-Za-z) Suppress:('=') W:(0-9)} pyparsing.core._WordRegex - W:(A-Za-z) testing empty And testing empty Or testing empty MatchFirst testing empty Each Match [{integer | W:(0-9A-Za-z)}]... at loc 0(1,1) 123 A100 ^ Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Matched [{integer | W:(0-9A-Za-z)}]... -> [123, 'A100'] Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Match integer at loc 0(1,1) 1 2 3 ^ Matched integer -> ['1'] Match integer at loc 2(1,3) 1 2 3 ^ Matched integer -> ['2'] Match integer at loc 4(1,5) 1 2 3 ^ Matched integer -> ['3'] Match integer at loc 5(1,6) 1 2 3 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 5), (line:1, col:6) Packrat status: enabled ..............Match Z at loc 0(1,1) aba ^ Match Z failed, ParseException raised: Expected Z, found 'aba' (at char 0), (line:1, col:1) Match leading_a at loc 0(1,1) aba ^ Match A at loc 0(1,1) aba ^ Matched A -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Matched leading_a -> ['a'] *Match Z at loc 1(1,2) aba ^ *Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match leading_a at loc 1(1,2) aba ^ Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match leading_a failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) *Match B at loc 1(1,2) aba ^ *Matched B -> ['b'] Match Z at loc 2(1,3) aba ^ Match Z failed, ParseException raised: Expected Z, found 'a' (at char 2), (line:1, col:3) Match leading_a at loc 2(1,3) aba ^ Match A at loc 2(1,3) aba ^ Matched A -> ['a'] Match Z at loc 3(1,4) aba ^ Match Z failed, ParseException raised: Expected Z, found end of text (at char 3), (line:1, col:4) Match A at loc 3(1,4) aba ^ Match A failed, ParseException raised: Expected A, found end of text (at char 3), (line:1, col:4) Match B at loc 3(1,4) aba ^ Match B failed, ParseException raised: Expected B, found end of text (at char 3), (line:1, col:4) Match leading_a failed, ParseException raised: Expected {Z | A | B}, found end of text (at char 3), (line:1, col:4) Match B at loc 2(1,3) aba ^ Match B failed, ParseException raised: Expected B, found 'a' (at char 2), (line:1, col:3) {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': False, 'warn_name_set_on_empty_Forward': False, 'warn_on_assignment_to_Forward': False, 'warn_on_match_first_with_lshift_operator': False, 'warn_on_multiple_string_args_to_oneof': False, 'warn_on_parse_using_empty_Forward': False, 'warn_ungrouped_named_tokens_in_collection': False} {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': True, 'warn_name_set_on_empty_Forward': True, 'warn_on_assignment_to_Forward': True, 'warn_on_match_first_with_lshift_operator': True, 'warn_on_multiple_string_args_to_oneof': True, 'warn_on_parse_using_empty_Forward': True, 'warn_ungrouped_named_tokens_in_collection': True} TypeError: descriptor 'upper' for 'str' objects doesn't apply to a 'int' object tests.test_unit.Test04_WithPackrat pyparsing.core._WordRegex - integer tests.test_unit.Modifier pyparsing.results.ParseResults 123 355 ^ ParseException: Expected word, found '355' (at char 4), (line:1, col:5) 123 355 (test using ErrorStop) ^ ParseSyntaxException: Expected word, found '355' (at char 4), (line:1, col:5) tests.test_unit.Test04_WithPackrat pyparsing.core.And - {int - word} A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test04_WithPackrat pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int test does local memoization enable/disable during test [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [' z=1000', 'b("; in quotes")', 'c=200', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', '', '', 'y += x', 'return y'], [' this_semi_does_nothing()', ';', ''], [' neither_does_this_but_there_are_spaces_afterward()', ';', ''], [' a = "a;b"', ';', 'return a # this is a comment; it has a semicolon!'], [' z=1000', ';', 'b("; in quotes")', ';', 'c=200', ';', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', ';', 'b = 11', ';', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', ';', 'return x # so; does; this; one'], [' x = 15', ';', '', ';', '', ';', 'y += x', ';', 'return y'], [''], [' def main():'], [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [''], [' def b():'], [' if False:'], [' z=1000', 'b("; in quotes"); c=200;return z'], [" return ';'"], [''], [' class Foo(object):'], [' def bar(self):'], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11; c = 12'], [''], [' # this comment; has several; semicolons'], [' if self.spam:'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', ';; y += x; return y'], [''], [' def baz(self):'], [' return self.bar'], [' '], W:(0-9) W:(0-9){3} W:(0-9){2,...} W:(0-9){1,3} W:(0-9){2,3} (0-9) ['balloon'] - item: 'balloon' - qty: 99 verify behavior of getName() ['XXX', ['b'], ['bb'], ['a'], ['bbb'], ['bbbb'], ['aa'], ['bbbbb'], [':', 'c'], ['bbbbbb'], ['aaa']] [0]: XXX [1]: ['b'] - B: 'b' [2]: ['bb'] - B: 'bb' [3]: ['a'] - A: 'a' [4]: ['bbb'] - B: 'bbb' [5]: ['bbbb'] - B: 'bbbb' [6]: ['aa'] - A: 'aa' [7]: ['bbbbb'] - B: 'bbbbb' [8]: [':', 'c'] - C: 'c' [9]: ['bbbbbb'] - B: 'bbbbbb' [10]: ['aaa'] - A: 'aaa' XXX 'XXX' ['b'] ParseResults(['b'], {'B': 'b'}) ['bb'] ParseResults(['bb'], {'B': 'bb'}) ['a'] ParseResults(['a'], {'A': 'a'}) ['bbb'] ParseResults(['bbb'], {'B': 'bbb'}) ['bbbb'] ParseResults(['bbbb'], {'B': 'bbbb'}) ['aa'] ParseResults(['aa'], {'A': 'aa'}) ['bbbbb'] ParseResults(['bbbbb'], {'B': 'bbbbb'}) [':', 'c'] ParseResults([':', 'c'], {'C': 'c'}) ['bbbbbb'] ParseResults(['bbbbbb'], {'B': 'bbbbbb'}) ['aaa'] ParseResults(['aaa'], {'A': 'aaa'}) XXX b bb a bbb bbbb aa bbbbb :c bbbbbb aaa [None, 'B', 'B', 'A', 'B', 'B', 'A', 'B', None, 'B', 'A'] ['lsjd'] non-key ['sldkjf'] non-key ['IF'] non-key ['Saslkj'] non-key ['AND'] non-key ['lsdjf'] non-key verify behavior of ParseResults.get() ['b', 'bb', 'a', 'bbb', 'bbbb', 'aa', 'bbbbb', ':', 'c', 'bbbbbb', 'aaa'] - A: 'aaa' - B: 'bbbbbb' - C: 'c' aaa !D ['11.11.13', 'useless . useless,21 useless 2 | ', 14.21, ' | asmdakldm'] ['21.12.12', 'fmpaosmfpoamsp 4 | ', 41, ' | ajfa9si90'] Raised expected exception: ParseException: Expected number, found 'useless' (at char 32), (line:1, col:33) Raised expected exception: ParseException: Expected number, found 'fmpaosmfpoamsp' (at char 32), (line:1, col:33) [["'string1'", "'string2'"]] [['string1', 'strin""g2']] [['"string1"', '"strin""g2"'], ["'string1'", "'string2'"]] [['string1', 'strin"g2']] [['string1', 'string2']] [['string1', 'string2']] [['string1', 'string2']] ["'ms1'", '1', '0', "'2009-12-22'", "'2009-12-22 10:41:22'"] This & that 2 > 1 0 < 1 Don't get excited! I said "Don't get excited!" Copyright © 2021 Dot ⟶ ˙ ['I', 'totally', 'love', 'pickles'] a = 100 b = 101 c = c1 = 200 c2 = c21 = 999 c3 = 'A horse, a horse, my kingdom for a horse' d = 505 ......[['a', 100], ['b', 101], ['c', ['c1', 200], ['c2', ['c21', 999]]], ['c3', 'A horse, a horse, my kingdom for a horse'], ['d', 505]] - a: 100 - b: 101 - c: [['c1', 200], ['c2', ['c21', 999]]] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] [0]: ['c1', 200] [1]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' - d: 505 [0]: ['a', 100] [1]: ['b', 101] [2]: ['c', ['c1', 200], ['c2', ['c21', 999]]] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] [0]: c [1]: ['c1', 200] [2]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [3]: ['c3', 'A horse, a horse, my kingdom for a horse'] [4]: ['d', 505] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [200, 201]] [0]: B [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 3 123456789012345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] using searchString [[['A', [100, 101, 102]]], [['B', [['b', [200, 201]]]]], [['C', [300]]]] [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] using parseString [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] test good indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.1.2| 5: 2.| [['1.', ['1.1', ['1.1.1', '1.1.2']], '2.']] test bad indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 78), (line:4, col:18) 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 76), (line:4, col:16) [['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], 'B', ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], 'C', 'D', ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] [0]: ['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]] [0]: def [1]: A [2]: ['(', 'z', ')'] [3]: : [4]: [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']] [0]: ['A1'] [1]: [['B', '=', '100']] [0]: ['B', '=', '100'] [2]: [['G', '=', 'A2']] [0]: ['G', '=', 'A2'] [3]: ['A2'] [4]: ['A3'] [1]: B [2]: ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]] [0]: def [1]: BB [2]: ['(', 'a', 'b', 'c', ')'] [3]: : [4]: [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]] [0]: ['BB1'] [1]: [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]] [0]: ['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]] [0]: def [1]: BBA [2]: ['(', ')'] [3]: : [4]: [['bba1'], ['bba2'], ['bba3']] [0]: ['bba1'] [1]: ['bba2'] [2]: ['bba3'] [3]: C [4]: D [5]: ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]] [0]: def [1]: spam [2]: ['(', 'x', 'y', ')'] [3]: : [4]: [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]] [0]: [['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]] [0]: ['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]] [0]: def [1]: eggs [2]: ['(', 'z', ')'] [3]: : [4]: [['pass']] [0]: ['pass'] Parsing 'one0'... Parsing 'four0'... Parsing 'one1'... Parsing 'four1'... extra: [test] one0: two (three) four0: five (seven) extra: [test] one1: two (three) four1: five (seven) ['extra', [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]], 'extra', [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]]] [0]: extra [1]: [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]] [0]: ['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]] [0]: test [1]: [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]] [0]: ['one0', [['two', 'three']]] [0]: one0 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four0', [['five', 'seven']]] [0]: four0 [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]] [0]: ['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]] [0]: test [1]: [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]] [0]: ['one1', [['two', 'three']]] [0]: one1 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four1', [['five', 'seven']]] [0]: four1 [1]: [['five', 'seven']] [0]: ['five', 'seven'] Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'eight'... Parsing 'eleven'... Parsing 'fourteen'... Parsing 'seventeen'... .......... extra: [test] one: two (three) four: five (seven) extra: [test] one: two (three) four: five (seven) [test] one: two (three) four: five (seven) [test] eight: nine (ten) eleven: twelve (thirteen) fourteen: fifteen (sixteen) seventeen: eighteen (nineteen) ['extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]], 'extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]]] [0]: extra [1]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [1]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]] [0]: test [1]: [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]] [0]: ['eight', [['nine', 'ten']]] [0]: eight [1]: [['nine', 'ten']] [0]: ['nine', 'ten'] [1]: ['eleven', [['twelve', 'thirteen']]] [0]: eleven [1]: [['twelve', 'thirteen']] [0]: ['twelve', 'thirteen'] [2]: ['fourteen', [['fifteen', 'sixteen']]] [0]: fourteen [1]: [['fifteen', 'sixteen']] [0]: ['fifteen', 'sixteen'] [3]: ['seventeen', [['eighteen', 'nineteen']]] [0]: seventeen [1]: [['eighteen', 'nineteen']] [0]: ['eighteen', 'nineteen'] [[9, '+', 2, '+', 3]] [0]: [9, '+', 2, '+', 3] [[9, '+', [2, '*', 3]]] [0]: [9, '+', [2, '*', 3]] [0]: 9 [1]: + [2]: [2, '*', 3] [[[9, '+', 2], '*', 3]] [0]: [[9, '+', 2], '*', 3] [0]: [9, '+', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', 3]] [0]: [[9, '+', ['-', 2]], '*', 3] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', ['-', 2]]], '*', 3]] [0]: [[9, '+', ['-', ['-', 2]]], '*', 3] [0]: [9, '+', ['-', ['-', 2]]] [0]: 9 [1]: + [2]: ['-', ['-', 2]] [0]: - [1]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [[9, '!'], '+', ['-', 2]] [0]: [9, '!'] [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[['M', '*', 'X'], '+', 'B']] [0]: [['M', '*', 'X'], '+', 'B'] [0]: ['M', '*', 'X'] [1]: + [2]: B [['M', '*', ['X', '+', 'B']]] [0]: ['M', '*', ['X', '+', 'B']] [0]: M [1]: * [2]: ['X', '+', 'B'] [[1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]]] [0]: [1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]] [0]: 1 [1]: + [2]: [2, '*', ['-', [3, '^', 4]], '*', 5] [0]: 2 [1]: * [2]: ['-', [3, '^', 4]] [0]: - [1]: [3, '^', 4] [3]: * [4]: 5 [3]: + [4]: ['-', ['+', ['-', 6]]] [0]: - [1]: ['+', ['-', 6]] [0]: + [1]: ['-', 6] [[3, '!', '!']] [0]: [3, '!', '!'] p = True q = False r = True p and not q (p & ~q) = True not not p ~~p = True not(p and q) ~(p & q) = True q or not p and r (q | (~p & r)) = False q or not p or not r (q | ~p | ~r) = False q or not (p and r) (q | ~(p & r)) = False p or q or r (p | q | r) = True p or q or r and False (p | q | (r & False)) = True (p or q or r) and False ((p | q | r) & False) = False Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must indicate right or left associativity evaluate_int 9 '9' => [9] (count=1) [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', ['<', [2, '+', 11], '>']]] [0]: [3, '+', ['<', [2, '+', 11], '>']] [0]: 3 [1]: + [2]: ['<', [2, '+', 11], '>'] [0]: < [1]: [2, '+', 11] [2]: > [[3, '+', ['<<', [2, '+', 11], '>>']]] [0]: [3, '+', ['<<', [2, '+', 11], '>>']] [0]: 3 [1]: + [2]: ['<<', [2, '+', 11], '>>'] [0]: << [1]: [2, '+', 11] [2]: >> [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 bar = foo [['bar', '=', 'foo']] bar = foo & baz = fee ['&', [['bar', '=', 'foo'], ['baz', '=', 'fee']]] ['SELECT', 'color', 'FROM', 'colors'] ['SELECT', 'color', 'FROM', 'colors'] .....['1999', '/', '12', '/', '31'] - day: '31' - month: '12' - year: '1999' ['1999', '12', '31'] - day: '31' - month: '12' - year: '1999' Raised expected exception: ValueError: no such diagnostic 'xyzzy' ['testA', 'testB', 'testC'] =? ['testA', 'testB', 'testC'] ['testC'] =? ['testC'] 'testB\ntestC\n' =? 'testB\ntestC\n' ['testD', 'testE', 'testF'] =? ['testD', 'testE', 'testF'] ['testF'] =? ['testF'] 'testE\ntestF' =? 'testE\ntestF' ['a'] =? ['a'] ['a'] =? ['a'] '' =? '' 0 'aaa' 1 '\naaa' Raised expected exception: ParseException: Expected Re:('a+'), found '\' (at char 0), (line:1, col:1) 2 'a\naa' Raised expected exception: ParseException: Expected end of text, found '\' (at char 1), (line:1, col:2) 3 'aaa\n' Raised expected exception: ParseException: Expected end of text, found '\' (at char 3), (line:1, col:4) verify correct line() behavior when first line is empty string {W:(A) - LineStart W:(B)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) no \n in default whitespace chars {W:(A) - LineStart W:(B)} AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 3), (line:1, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) .................. AAA BBB AAA BBB ^ ParseSyntaxException: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) 1 1234567890 1:AAA 1| 2:AAA 2| 3:| 4: AAA| 5:| 6:B AAA| 7:| normal parsing 0 3 1 AAA 1 ParseResults(['AAA'], {}) 6 9 2 AAA 2 ParseResults(['AAA'], {}) 12 18 3 ParseResults(['AAA'], {}) parsing without \n in whitespace chars 0 3 1 AAA 1 'A' 6 9 2 AAA 2 'A' 13 18 4 AAA ' ' 1 1234567890 1:| 2:a| 3: b| 4: c| 5:d| 6:e| 7: f| 8: g| [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [[['a']], [['b']], [['c']], [['d']], [['e']], [['f']], [['g']]] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] Literal Expected 'xyz', found end of text (at char 1), (line:1, col:2) CaselessLiteral Expected 'XYZ', found end of text (at char 1), (line:1, col:2) Keyword Expected Keyword 'xyz', found end of text (at char 1), (line:1, col:2) CaselessKeyword Expected CaselessKeyword 'xyz', found end of text (at char 1), (line:1, col:2) Word Expected W:(xyz), found end of text (at char 1), (line:1, col:2) Regex Expected Re:('xyz'), found end of text (at char 1), (line:1, col:2) 1 start 2 {integer 'start' integer} [1, 'start', 2] {integer 'start' integer} [1, 'start', 2] {integer 'START' integer} [1, 'START', 2] {integer word integer} [1, 'start', 2] 3 start4 {integer 'start' integer} [3, 'start', 4] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected word, found 'start4' (at char 2), (line:1, col:3) 5start 6 [5, 'start', 6] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected CaselessKeyword 'START', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected word, found 'start' (at char 1), (line:1, col:2) [28, 'ID', 'PARI12345678', 43] - id: 'PARI12345678' - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [[28, ['ID', 'PARI12345678'], 43]] - loc: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0]: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0, ['ljsdf'], 5] ['ljsdf'] [8, ['lksdjjf'], 15] ['lksdjjf'] [18, ['lkkjj'], 23] ['lkkjj'] ['body', False, 'Hello', ''] - contents: 'Hello' - empty: False - endBody: '' - startBody: ['body', False] - empty: False - tag: 'body' - tag: 'body' DOB >!<100-10-2010;more garbage verify MatchFirst iterates properly ['A', 'A', '3', 'A'] Raised expected exception: ParseException: matched token not at column 1, found '3' (at char 4), (line:1, col:5) ABC ^ ParseException: Expected W:(0-9), found 'ABC' (at char 0), (line:1, col:1) tests.test_unit.Test04_WithPackrat pyparsing.core._WordRegex - W:(0-9) ['A'] - Achar: 'A' Raised expected exception: ValueError: cannot multiply ParserElement by negative value {'username': 'goat', 'errors': {'username': ['already taken', 'too short']}, 'empty_field': ''} Test defaults: [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default opener [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Literal expressions for opener and closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Use ignore expression (1) [['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello,', 'world!"']] [0]: ['greeting', '"Hello,', 'world!"'] [2]: ;;(foo bar [3]: ['display', 'greeting'] Use ignore expression (2) [['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello, )world!"']] [0]: ['greeting', '"Hello, )world!"'] [2]: ;; [3]: (foo bar [4]: ['display', 'greeting'] Raised expected exception: ValueError: opening and closing strings cannot be the same Raised expected exception: ValueError: opening and closing arguments must be strings if no content expression is given ['aName', ['outer', ["'inner with opener {{ and closer }} in quoted string'"]]] [0]: aName [1]: ['outer', ["'inner with opener {{ and closer }} in quoted string'"]] [0]: outer [1]: ["'inner with opener {{ and closer }} in quoted string'"] ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' 9413 tests produced real number PASS valid tests (321) real number with scientific notation PASS valid tests (2319) signed integer PASS valid tests (153) real number PASS invalid tests (2213) real number with scientific notation PASS invalid tests (6587) signed integer......................... PASS invalid tests (9260) # literal oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] abc ['a', 'b', 'c'] # keyword oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] # keyword oneOf failure tests abc abc ^ ParseException: Expected end of text, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) verify oneOf handles duplicate symbols verify oneOf handles generator input verify oneOf handles list input verify oneOf handles set input Raised expected exception: TypeError: Invalid argument to one_of, expected string or iterable ['XXX Y/123', '1,234.567890'] - data: '1,234.567890' - id: 'XXX Y/123' ['0', '123', '321', 444] Raised expected exception: ParseException: OnlyOnce obj called multiple times w/out reset, found '1' (at char 0), (line:1, col:1) ['100', '200', '300', 600] verify handling of Optional's beyond the end of string Tal Weiss Major Tal Major Weiss Major Major Major Tal Major Weiss Major Tal Weiss ['foo'] - foo: ['foo'] ['bar', 'foo', 'bar', 'foo', 'bar', 'foo'] - bar: ['bar', 'bar', 'bar'] - foo: ['foo', 'foo', 'foo'] Raised expected exception: ParseException: Missing one or more required elements ('foo'), found 'bar' (at char 1), (line:1, col:2) 1999-12-31 100 2001-01-01 [['1999-12-31'], 100, ['2001-01-01']] - date: [['1999-12-31'], ['2001-01-01']] [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' - id: 100 [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: 100 [2]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' 42 [42] - id: 42 verify Optional's do not cause match failure if have results name _images/cal.png:77_ ['alt', 'empty', 'height', 'src', 'startImg', 'tag', 'width'] ['int', 'f', '(', ')', '{}'] ['DO', ['Z']] [244, 23, 13, 2343] - int_values: [244, 23, 13, 2343] - total: 2623 ### before parse action is added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' ### after parse action was added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])]] [0]: ['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])] 'AAAAA' parseAll=False (shouldSucceed=True) 'AAAAA' parseAll=True (shouldSucceed=True) 'AAABB' parseAll=False (shouldSucceed=True) 'AAABB' parseAll=True (shouldSucceed=False) AAABB ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test04_WithPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd 'AAAAA //blah' parseAll=False (shouldSucceed=True) 'AAAAA //blah' parseAll=True (shouldSucceed=True) 'AAABB //blah' parseAll=False (shouldSucceed=True) 'AAABB //blah' parseAll=True (shouldSucceed=False) AAABB //blah ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test04_WithPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd '00aab' parseAll=False (shouldSucceed=True) '00aab' parseAll=True (shouldSucceed=True) '00aaf' parseAll=False (shouldSucceed=True) '00aaf' parseAll=True (shouldSucceed=False) 00aaf ^ ParseException: Expected end of text, found 'f' (at char 4), (line:1, col:5) tests.test_unit.Test04_WithPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd Parsing: 'a,b,c,100.2,,3' -> ['a', 'b', 'c', '100.2', '', '3'] Parsing: 'd, e, j k , m ' -> ['d', 'e', 'j k', 'm'] Parsing: "'Hello, World', f, g , , 5.1,x" -> ["'Hello, World'", 'f', 'g', '', '5.1', 'x'] Parsing: 'John Doe, 123 Main St., Cleveland, Ohio' -> ['John Doe', '123 Main St.', 'Cleveland', 'Ohio'] Parsing: 'Jane Doe, 456 St. James St., Los Angeles , California ' -> ['Jane Doe', '456 St. James St.', 'Los Angeles', 'California'] Parsing tests/karthik.ini ... 23 ['users'] users.K 8 8 users.mod_scheme 'QPSK' 'QPSK' users.Na K+2 K+2 OK Parsing examples/Setup.ini ... 125 ['Startup', 'Languages', 'test'] Startup.audioinf M3i M3i Languages.key1 0x0003 0x0003 test.foo bar bar OK Constructing EBNF parser with pyparsing... Parsing EBNF grammar with EBNF parser... - terminal_string - meta_identifier - integer - syntax - syntax_rule - definitions_list - single_definition - syntactic_term - syntactic_factor - syntactic_primary - optional_sequence - repeated_sequence - grouped_sequence Parsing EBNF grammar with generated EBNF parser... [['syntax', '=', '(', 'syntax_rule', ')', ',', '{', '(', 'syntax_rule', ')', '}', ';'], ['syntax_rule', '=', 'meta_identifier', ',', "'='", ',', 'definitions_list', ',', "';'", ';'], ['definitions_list', '=', 'single_definition', ',', '{', "'|'", ',', 'single_definition', '}', ';'], ['single_definition', '=', 'syntactic_term', ',', '{', "','", ',', 'syntactic_term', '}', ';'], ['syntactic_term', '=', 'syntactic_factor', ',', '[', "'-'", ',', 'syntactic_factor', ']', ';'], ['syntactic_factor', '=', '[', 'integer', ',', "'*'", ']', ',', 'syntactic_primary', ';'], ['syntactic_primary', '=', 'optional_sequence', '|', 'repeated_sequence', '|', 'grouped_sequence', '|', 'meta_identifier', '|', 'terminal_string', ';'], ['optional_sequence', '=', "'['", ',', 'definitions_list', ',', "']'", ';'], ['repeated_sequence', '=', "'{'", ',', 'definitions_list', ',', "'}'", ';'], ['grouped_sequence', '=', "'('", ',', 'definitions_list', ',', "')'", ';']] [['xavier', 'yeti'], ['alpha', 'beta', 'charlie'], ['will', 'beaver']] ['xavier', 'yeti'] ['alpha', 'beta', 'charlie'] ['will', 'beaver'] ['1', '0x2', '3', '0x4', 'aaa'] - base10: ['1', '3'] - hex: ['0x2', '0x4'] - word: ['aaa'] [[['Q', ['x', 'y', 'z']]], ':-', ['Bloo', ['x', 'Mitsis', 'y']], ['Foo', ['y', 'z', '1243']], ['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] - Bloo: ['x', 'Mitsis', 'y'] - Foo: ['y', 'z', '1243'] - head: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] - pred: [['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] [0]: ['y', '>', '28'] [1]: ['x', '<', '12'] [2]: ['x', '>', '3'] [0]: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] [1]: :- [2]: ['Bloo', ['x', 'Mitsis', 'y']] [0]: Bloo [1]: ['x', 'Mitsis', 'y'] [3]: ['Foo', ['y', 'z', '1243']] [0]: Foo [1]: ['y', 'z', '1243'] [4]: ['y', '>', '28'] [5]: ['x', '<', '12'] [6]: ['x', '>', '3'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ................ ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] {Re:('[a-z]+') | Re:('[a-z]+')} ['abc'] {Re:('[a-z]+') ^ Re:('[a-z]+')} ['abc'] {Re:('[a-z]*') | Re:('[a-z]*')} ['abc'] {Re:('[a-z]*') ^ Re:('[a-z]*')} ['abc'] Raised expected exception: ParseSyntaxException: Expected W:(0-9), found 'bad' (at char 4), (line:1, col:5) Raised expected exception: ParseSyntaxException: should raise here (at char 0), (line:1, col:1) Raised expected exception: ParseSyntaxException: Expected identifier, found end of text (at char 1), (line:1, col:2) [123, 456, 789] [123, 456, 789] 9 -> 9 -9 -> -9 --9 -> 9 -E -> -2.718281828459045 9 + 3 + 5 -> 17 9 + 3 / 11 -> 9.272727272727273 (9 + 3) -> 12 (9+3) / 11 -> 1.0909090909090908 9 - 12 - 6 -> -9 9 - (12 - 6) -> 3 2*3.14159 -> 6.28318 3.1415926535*3.1415926535 / 10 -> 0.9869604400525172 PI * PI / 10 -> 0.9869604401089358 PI*PI/10 -> 0.9869604401089358 PI^2 -> 9.869604401089358 round(PI^2) -> 10 6.02E23 * 8.048 -> 4.844896e+24 e / 3 -> 0.9060939428196817 sin(PI/2) -> 1.0 10+sin(PI/4)^2 -> 10.5 trunc(E) -> 2 trunc(-E) -> -2 round(E) -> 3 round(-E) -> -3 E^PI -> 23.140692632779263 exp(0) -> 1.0 exp(1) -> 2.718281828459045 2^3^2 -> 512 (2^3)^2 -> 64 2^3+2 -> 10 2^3+5 -> 13 2^9 -> 512 sgn(-2) -> -1 sgn(0) -> 0 sgn(0.1) -> 1 round(E, 3) -> 2.718 round(PI^2, 3) -> 9.87 sgn(cos(PI/4)) -> 1 sgn(cos(PI/2)) -> 0 sgn(cos(PI*3/4)) -> -1 +(sgn(cos(PI/4))) -> 1 -(sgn(cos(PI/4))) -> -1 -> ['BODY', False] ['BODY', False] - empty: False - startBody: ['BODY', False] - empty: False - tag: 'BODY' - tag: 'BODY' -> ['BODY', ['bgcolor', '#00FFCC'], False] ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - startBody: ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False -> ['BODY', ['bgcolor', '#00FFAA'], True] ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - startBody: ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True -> ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False -> ['BODY', True] ['BODY', True] - empty: True - startBody: ['BODY', True] - empty: True - tag: 'BODY' - tag: 'BODY' -> [''] [''] - endBody: '' end tag /* * a block comment * */ typedef string[10] tenStrings; typedef sequence stringSeq; typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 /* * a block comment * */ typedef string[10] tenStrings; typedef /** ** *** **** * * a block comment * */ sequence /*comment inside an And */ stringSeq; /* */ /**/ /***/ /****/ typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 const string test="Test String\n"; const long a = 0; const long b = -100; const float c = 3.14159; const long d = 0x007f7f7f; exception TestException { string msg; sequence dataStrings; }; interface TestInterface { void method1(in string arg1, inout long arg2); }; tokens = [['const', 'string', 'test', '=', '"Test String\\n"', ';'], ['const', 'long', 'a', '=', '0', ';'], ['const', 'long', 'b', '=', '-100', ';'], ['const', 'float', 'c', '=', '3.14159', ';'], ['const', 'long', 'd', '=', '0x007f7f7f', ';'], 'exception', 'TestException', '{', ['string', 'msg', ';'], [['sequence', '<', 'string', '>'], 'dataStrings', ';'], '}', ';', ['interface', 'TestInterface', '{', 'void', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', '}', ';']] 60 module Test1 { exception TestException { string msg; ]; interface TestInterface { void method1(in string arg1, inout long arg2) raises (TestException); }; }; exception TestException ^ Expected {moduleDef | {moduleItem}...}, found 'exception' (at char 56), (line:4, col:15) module Test1 { exception TestException { string msg; }; }; tokens = ['module', 'Test1', '{', 'exception', 'TestException', '{', ['string', 'msg', ';'], '}', ';', '}', ';'] 13 Test ifOnlyIfOnly Match Literal ['if'] Match Keyword failed Test if(OnlyIfOnly) Match Literal ['if'] Match Keyword ['if'] Test if (OnlyIf Only) Match Literal ['if'] Match Keyword ['if'] Test IFOnlyIfOnly Match Literal failed Match Keyword failed Test If(OnlyIfOnly) Match Literal failed Match Keyword ['if'] Test iF (OnlyIf Only) Match Literal failed Match Keyword ['if'] Raised expected exception: ValueError: null string passed to Keyword; use Empty() instead ['0', '123', '321', 444] ['spam', 'eggs'] - first: 'spam' - second: 'eggs' [] ['123', '456', 'ABC', 'DEF'] - ints: ['123', '456'] - words: ['ABC', 'DEF'] ['123', 'ABC', 'DEF'] - ints: ['123', '456'] ...........['List', '__add__', '__annotations__', '__bool__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_all_names', '_asStringList', '_modal', '_name', '_null_values', '_parent', '_tokdict', '_toklist', 'append', 'asDict', 'asList', 'as_dict', 'as_list', 'clear', 'copy', 'dump', 'extend', 'from_dict', 'get', 'getName', 'get_name', 'haskeys', 'insert', 'items', 'keys', 'pop', 'pprint', 'trios', 'values'] ['spam', 'eggs', 'foo', 'bar'] ['abc', 'def', 'ghi', 'ihg', 'fed', 'cba'] [['123', 456, ['789', 789]]] - trios: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'i', 'c', 'C', 'D', 'E', 'a', 'F', 'G', 'e', 'H', 'g', 'b', 'h', 'f', 'j', 'd', 'I', 'J'] ['A', 'B', 'i', 'c', 'C', 'D', 'E', 'a', 'F', 'G', 'e', 'H', 'g', 'b', 'h', 'f', 'j', 'd', 'I', 'J'] Pre-insert [[1, 2, 3], 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: dice [2]: ['rolled', 'first', 'try'] Post-insert [[1, 2, 3], 6, 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: 6 [2]: dice [3]: ['rolled', 'first', 'try'] [ 1,2,3,4,5,6 ] [['[', '1', '2', '3', '4', '5', '6', ']']] - LIST: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' [0]: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' "Golden Gate Bridge" 37.819722 -122.478611 height=746 span=4200 ['Golden Gate Bridge', [37.819722, -122.478611, ['height', 746], ['span', 4200]]] - data: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] - name: 'Golden Gate Bridge' [0]: Golden Gate Bridge [1]: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - startA: ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False [] [] [1, 2, 3, 4, 5] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 0 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 1 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 2 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 3 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 4 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 5 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 1 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 2 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 3 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 4 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 5 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 1 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 2 [['BABBAB']] [0]: ['BABBAB'] ........................Test pickle dump protocol 3 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 4 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 5 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 1 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 2 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 3 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 4 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 5 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 0 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] - name: ['BABBAB'] ParseResults(['test', 'blub'], {'word': 'blub'}) blub {'word': 'blub'} ParseResults(['test', 'blub'], {'word': ['test', 'blub']}) ['test', 'blub'] {'word': ['test', 'blub']} ['abc'] - A: 'abc' Raised expected exception: AttributeError: __xyz__ ['5', '4', '3', '2', '1'] {'spam', 'eggs'} not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] ParseResults([('A', 'Z')], {'Achar': ('A', 'Z')}) ('A', 'Z') ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) SELECT * from XYZZY, ABC ['select', '*', 'from', 'XYZZY', 'ABC', ''] 6 select * from SYS.XYZZY ['select', '*', 'from', 'SYS.XYZZY', ''] 5 Select A from Sys.dual ['select', 'A', 'from', 'SYS.DUAL', ''] 5 Select A,B,C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual, Table2 ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', 'TABLE2', ''] 8 Select A from Sys.dual where a in ('RED','GREEN','BLUE') ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')'] 12 Select A from Sys.dual where a in ('RED','GREEN','BLUE') and b in (10,20,30) ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')', 'and', 'B', 'in', '(', 10, 20, 30, ')'] 20 Select A,b from table1,table2 where table1.id eq table2.id -- test out comparison operators ['select', 'A', 'B', 'from', 'TABLE1', 'TABLE2', 'where', 'TABLE1.ID', 'eq', 'TABLE2.ID'] 10 Re:('[-+][0-9]+') correctly failed to match '1234 foo' Re:('[-+][0-9]+') correctly failed to match ' +foo' Re:('[0-9]+') correctly failed to match 'abc' Re:('[0-9]+') correctly failed to match '+123 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match 'foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '"foo bar\'' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '\'foo bar"' Re:('[-+][0-9]+') correctly matched ' +123' Re:('[-+][0-9]+') correctly matched '+123' Re:('[-+][0-9]+') correctly matched '+123 foo' Re:('[-+][0-9]+') correctly matched '-0 foo' Re:('[0-9]+') correctly matched '123 foo' Re:('[0-9]+') correctly matched '0 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched '"foo"' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched "'foo bar' baz" Re:('[A-Z]+') correctly failed to match 'blah' Re:('[A-Z]+') correctly matched 'BLAH' Re:('("(?P[^\"]*)")') correctly matched '"foo bar" baz' ['"zork"'] [('content', 'zork')] zork lets try an invalid RE successfully rejected an invalid RE: invalid pattern ('("[^"]*")|(\'[^\']*\'') passed to Regex Raised expected exception: ValueError: null string passed to Regex; use Empty() instead ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: ParseException: Missing one or more required elements ('and'), found ' ' (at char 4), (line:1, col:5) ['spam', 'and', 'eggs'] - first: 'spam' - second: 'eggs' Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['spam', 'eggs'] ['pre', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['abd', 'def', 'ghi', 'jkl'] ['abd', 'def', 'ghi', 'jkl'] Raised expected exception: TypeError: cannot multiply ParserElement and str objects Raised expected exception: TypeError: cannot multiply ParserElement and str objects ['spam', '11', '22'] - first: 'spam' - second: ['11', '22'] ['spam', '111', '222'] - first: 'spam' - second: ['111', '222'] ['spam'] - first: 'spam' ['spam', '12', '23', '34'] - first: 'spam' - second: ['12', '23', '34'] ['spam', '45'] - first: 'spam' - second: ['45'] ['spam', '100'] - first: 'spam' - second: ['100'] ['spam', '100', '200', '300'] - first: 'spam' - second: ['100', '200', '300'] ['spam', '1', '2'] - first: 'spam' - second: ['1', '2'] ['spam', '1', '2', '3'] - first: 'spam' - second: ['1', '2', '3'] Raised expected exception: ValueError: second tuple value must be greater or equal to first tuple value Raised expected exception: TypeError: cannot multiply ParserElement and (str,str) objects Raised expected exception: TypeError: cannot multiply ParserElement and (str,NoneType) objects Raised expected exception: TypeError: only 1 or 2 index arguments supported ((2, 3, 4)) ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement {{word {{word_1 word} ^ word}} ^ {word word word}} foo bar temp -> ['foo', 'bar', 'temp'] EXP: AAA..................................>>entering convert_to_int(line: '132', 0, ParseResults(['132'], {})) <>entering (line: '132', 0, ParseResults([132], {})) < (ret: 1320) >>entering Z(line: '132', 0, ParseResults([1320], {})) <] ('123', '456', 'lsdfkj') [('123', '456', 'lsdfkj')] Raised expected exception: TypeError: Regex may only be constructed with a string or a compiled RE object test sub with string This is the title: 'Richard III' test sub with re string

This is the main heading

This is the sub-heading

test sub with re string (Regex returns re.match)

This is the main heading

This is the sub-heading

test sub with callable that return str I want this in upcase: WHAT? WHAT? Raised expected exception: TypeError: cannot use sub() with a callable with Regex(asMatch=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) verify behavior with repeated tokens when packrat parsing is enabled skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization ['bam', 'boo'] ['boo', 'bam'] BD -> Expected {'A' | {'B' 'C'} | 'E'}, found 'D' (at char 1), (line:1, col:2) [1, 2, 3, 4, 6, 8, 9, 10, 16] [1, 2, 3, 4, 6, 8, 9, 10, 16] [11] [11] 1/2 eval: 0.5 1/0 [1, '/', 0] - denominator: 0 - numerator: 1 eval_fraction failed: ZeroDivisionError: division by zero True ['129.6.15.28', '129.6.15.29', '132.163.4.101', '132.163.4.102', '132.163.4.103'] [(ParseResults([], {}), 5, 6)] Before parsing with setBreak: False After parsing with setBreak: True a | b | c d | e | f {a | b | c | d | e | f} Forward: + | - term + | - term Forward: ?: term ?: term Forward: {a | b | c [{d | e | f : ...}]...} int [, int]... (len) int... nested () expression (, ) (, ) common HTML entity lsdjkf &'"&xyzzy; Raised expected exception: TypeError: parse actions must be callable ['A'] - Achar: 'A' verify behavior of setResultsName with OneOrMore and ZeroOrMore ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] Received expected exception: just one arg (at char 0), (line:1, col:1) ['some text /* comment with ; in */', ';', 'working'] ['some text /* comment with ; in */some other stuff', ';', 'working'] ['some text /* comment with ; in */', ';', 'working'] Raised expected exception: ParseException: Expected ';', found ' ' (at char 37), (line:1, col:38) Raised expected exception: Exception: use of `...` expression without following SkipTo target expression verify proper streamline logic {{{'A' 'B'} 'C'} 'D'} {'A' 'B' 'C' 'D'} ['123'] ['123'] ['123'] ['123'] ['123'] ['123'] Raised expected exception: ParseException: Expected W:(0-9), found ' ' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected '123', found ' ' (at char 0), (line:1, col:1) {StringStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\naaa' ['aaa'] {LineStart W:(a-e) StringEnd} ' aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\n aaa' ['aaa'] {AtLineStart:(W:(a-e)) StringEnd} ' aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 3), (line:1, col:4) {AtLineStart:(W:(a-e)) StringEnd} '\n aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 4), (line:2, col:4) garbage;DOB 10-10-2010;more garbage ID PARI12345678;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' ['ID', 'PARI12345678'] - id: 'PARI12345678' garbage;ID PARI12345678;more garbage DOB 10-10-2010;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['ID', 'PARI12345678'] - id: 'PARI12345678' ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;DOB 10-10-2010 ID: DOB:10-10-2010 INFO: ID: DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;ID PARI12345678;more garbage- I am cool ID:PARI12345678 DOB: INFO: I am cool ID:PARI12345678 DOB: INFO: I am cool ['ID', 'PARI12345678'] - id: 'PARI12345678' ['-', ' I am cool'] - info: ' I am cool' 00 11 22 aa FF 0a 0d 1a [0, 17, 34, 170, 255, 10, 13, 26] I wish to buy 12345 shares of Acme Industries (as a gift to my (ex)wife) I 12,345 Acme Industries asagifttomyexwife 1 1234567890 1:| 2:| 3:check aaa| 1 1234567890 1:| 2:| 3:CHECK aaa| 1 2 12345678901234567890 1: check aaa| 1 2 12345678901234567890 1: CHECK aaa| [['rint'], ['a100']] 1 1234567890 1: check| 1 1234567890 1: CHECK| Original: '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' Should match: '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' aaa 333 ['aaa', '333'] b 1 ['b', '1'] ababab 32123 ['ababab', '32123'] 123 [123] 456 [456] abc abc ^ ParseException: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.Or - {{integer}} FAIL: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4025, in parseImpl raise maxException 101222 101222 ['Καλημέρα', ',', 'κόσμε', '!'] .................[['şehir', 'İzmir'], ['ülke', 'Türkiye'], ['nüfus', 4279677]] - nüfus: 4279677 - ülke: 'Türkiye' - şehir: 'İzmir' [0]: ['şehir', 'İzmir'] [1]: ['ülke', 'Türkiye'] [2]: ['nüfus', 4279677] 渕";֧ॱ콈÷繞Ґٟฎ淇rἋ׀ॿ뎲§鶸ꙧ۩ญ鑡´Ἆצּट좳h䒮ꙃ١ก麊ýὉﬥ꣯쭟m臝Ьڕห肪Ÿͅפक뼼¯㿈ԅܺง桂ũἎ﬩ः꿄e钉Ꚓݯ๊髧ćϴטּँ빁N勵ѽٱฏ鉪Ě´אॄ둠8礄Ұټ๙� ['渕";֧ॱ콈÷繞Ґٟฎ淇rἋ׀ॿ뎲§鶸ꙧ۩ญ鑡´Ἆצּट좳h䒮ꙃ١ก麊ýὉﬥ꣯쭟m臝Ьڕห肪Ÿͅפक뼼¯㿈ԅܺง桂ũἎ﬩ः꿄e钉Ꚓݯ๊髧ćϴטּँ빁N勵ѽٱฏ鉪Ě´אॄ둠8礄Ұټ๙�'] [[10, 'print', 123, ';'], [20, 'print', 234, ';', 567, ';'], [30, 'print', 890]] [0]: [10, 'print', 123, ';'] [1]: [20, 'print', 234, ';', 567, ';'] [2]: [30, 'print', 890] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] [['abc', '\n'], ['abc', '\n'], ['abc']] [0]: ['abc', '\n'] [1]: ['abc', '\n'] [2]: ['abc'] [["'def'", '\n'], ["'def'", '\n'], ["'def'"]] [0]: ["'def'", '\n'] [1]: ["'def'", '\n'] [2]: ["'def'"] [[123, '\n'], [123, '\n'], [123]] [0]: [123, '\n'] [1]: [123, '\n'] [2]: [123] [[4.56, '\n'], [4.56, '\n'], [4.56]] [0]: [4.56, '\n'] [1]: [4.56, '\n'] [2]: [4.56] [['a_bc', '\n'], ['a_bc', '\n'], ['a_bc']] [0]: ['a_bc', '\n'] [1]: ['a_bc', '\n'] [2]: ['a_bc'] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] verify behavior of validate() Forward: Group:({'A' | : ...}) RecursiveGrammarException: [Forward: Group:({'A' | : ...}), Group:({'A' | : ...}), {'A' | Forward: Group:({'A' | : ...})}, Forward: Group:({'A' | : ...})] Forward: {['A'] : ...} RecursiveGrammarException: [Forward: {['A'] : ...}, {['A'] Forward: {['A'] : ...}}, Forward: {['A'] : ...}] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) make a ClassAsPAStarNew ('VUTSRQPONMLKJIHGFEDCBA', 17, ParseResults(['E'], {})) making a ClassAsPA1 ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] verify that using '<<' operator with a Forward raises a warning if there is a dangling '|' operator unsafe << and |, but diag not enabled, should not warn unsafe << and |, should warn unsafe << and |, should warn safe <<= and |, should not warn safe << and (|), should not warn [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['class', 'boo'], False, '8', '']] [0]: ['a', ['class', 'boo'], False, '8', ''] - class: 'boo' - empty: False - endA: '' - tag: 'a' - value: '8' [0]: a [1]: ['class', 'boo'] [2]: False [3]: 8 [4]: ABC DEF GHI [['D', 'G'], ['A'], ['C', 'F'], ['I'], ['E'], ['A', 'I']] JKL MNO PQR [['J', 'M', 'P'], [], ['L', 'R'], ['O'], [], ['O']] STU VWX YZ [['S', 'V'], ['Y'], ['X', 'Z'], ['U'], [], ['U', 'Y']] ABC DEF GHI JKL MNO PQR STU VWX YZ [['D', 'G', 'J', 'M', 'P', 'S', 'V'], ['A', 'Y'], ['C', 'F', 'L', 'R', 'X', 'Z'], ['I', 'O', 'U'], ['E'], ['A', 'I', 'O', 'U', 'Y']] [['Hello'], ['Mr'], ['Ed'], ["it's"], ['Wilbur']] ['ABCDEMNXYZABCDEMNXYZABCDEMNXYZ'] Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match '\\\\\]]]]]\]\\]]' -> True Testing escape char: \ -> W:([\) re: '[\[\\]+') Match '\[\\\\\\\\\\\\\\' -> True Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match '\\\\]]\]\\]\]\]]' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\DTOQSTSVKRIOCOMP' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\EYRGZHOFDZHPCXNM' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '^_^^^__^_^_^____' -> True Testing escape char: ^ -> W:(]^) re: '[\]\^]+') Match '^^^^]]]^^]^]^]^^' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '^__^^^___^___^__' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^ZNTGDHVNOYDCUFSV' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^SZGWVEJTNIYRWPPO' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '--.....-.-..-...' -> True Testing escape char: - -> W:(,-) re: '[,\-]+') Match ',,-----,,,--,-,,' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '.-..-----.--.-..' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-DJXJEVCWAYEOMUTY' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-WQSOLXJVTXCOUHAQ' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']]^]^^^]^]^^^]]]' -> True Testing escape char: ] -> W:(\]) re: '[\\\]]+') Match ']]\]\]\]\]\\]\\]' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']]^]^^^^^^^^]]]^' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']XKDYBMCIEENANABT' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']VUCTVYTUXDWIUZGA' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '\\[[\\[\[\\\\[\\' -> True Testing escape char: [ -> W:(Z[) re: '[Z\[]+') Match 'Z[[Z[[Z[[ZZ[ZZZZ' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '\[\[\[[\\\[[[[[\' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[HODOHNIRUWAKXJKM' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[OAZQKTVNLKUNSZOI' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '+*+++*+*+*++++++' -> True Testing escape char: * -> W:()*) re: '[)*]+') Match '*)**))))))))*))*' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '++*+**+*+++++**+' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*UBTBLEAQXTNPQBOS' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*YAANJBHUORUTKESD' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match '++,,+,++,+,++,++' -> True Testing escape char: + -> W:(*+) re: '[*+]+') Match '**+***++***+*+**' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match '+,++,+,++,+++,,,' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+SIWKSRONIFDHJZSZ' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+SSEVLNHDFFUAMOKG' -> True Testing escape char: . -> W:(./) re: '[./]+') Match '////.././.././..' -> True Testing escape char: . -> W:(-.) re: '[\-.]+') Match '---..-.-.-.-.-..' -> True Testing escape char: . -> W:(./) re: '[./]+') Match '..//..///.//....' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.TGDBICNYMLLQOCDQ' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.NWSLWBROOVMOFVAU' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '???@@@@@@????@@@' -> True Testing escape char: ? -> W:(>?) re: '[>?]+') Match '>???>>>>>??????>' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') ....Match '?@@?@@@@@??@@@??' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?ZOAZUNTMLNHLPMXL' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?PQQTJMAEEMEHDXYG' -> True ['p', 'q', 'r', 'False'] Raised expected exception: ParseException: Expected {(A-Za-z) | True | False}, found 'abc' (at char 0), (line:1, col:1) {'A' W:(0-9)} ... {'A' W:(0-9)} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9)} ... {'A' W:(0-9){2,...}} ... {'A' W:(0-9){2,6}} ... W:(A, 0-9) A[0-9]* W:(A, 0-9) A[0-9]* W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9) A[0-9]* W:(A, 0-9){2,...} ... W:(A, 0-9){2,6} ... W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){2,...} ... W:(A-Za-z, 0-9){2,6} ... ..................... Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(Word()) if zero-length word is permitted Packrat enabled: True Packrat cache: _FifoCache 16 [[7], [9]] [[1, 4], [2, 4], [4, 3]] [[1, 4], [2, 4]] detected fatal condition ['balloon', '25'] - item: 'balloon' - qty: '25' ['rucksack', 49] - item: 'rucksack' - qty: 49 ['AAA', ' this line'] ['AAA', ' and this line'] [] [] d | aA | a | b | c d | Aa | a | b | c ['aA', 'aA', 'aA', 'aA'] ['Aa', 'Aa', 'Aa', 'Aa'] [[1, '?', 1, ':', 0, '?', 1, ':', 0]] [0]: [1, '?', 1, ':', 0, '?', 1, ':', 0] [[1, '?', 1, ':', [0, '?', 1, ':', 0]]] [0]: [1, '?', 1, ':', [0, '?', 1, ':', 0]] [0]: 1 [1]: ? [2]: 1 [3]: : [4]: [0, '?', 1, ':', 0] ['B', 'B', 'C', 'A', 'D'] ['B'] ['bcdfghjklmnpqrstvwxyz'] Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(CharsNotIn()) if zero-length char group is permitted ['bcdfg'] ['bcdfghjklm'] Raised expected exception: ParseException: Expected !W:(AEIOU), found end of text (at char 21), (line:1, col:22) ATCATCGAATGGA ['ATCATCGAATGGA'] - mismatches: [] - original: 'ATCATCGAATGGA' XTCATCGAATGGX ['XTCATCGAATGGX'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' ATCATCGAAXGGA ['ATCATCGAAXGGA'] - mismatches: [9] - original: 'ATCATCGAATGGA' ATCAXXGAATGGA ['ATCAXXGAATGGA'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' ATCAXXGAATGXA ATCAXXGAATGXA ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCAXXGAATGG ATCAXXGAATGG ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCATCGAATGGA match XTCATCGAATGGX match ATCATCGAAXGGA match ATCAXXGAATGGA match ATCAXXGAATGXA exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) ATCAXXGAATGG exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) atcatcgaatgga ['atcatcgaatgga'] - mismatches: [] - original: 'ATCATCGAATGGA' xtcatcgaatggx ['xtcatcgaatggx'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' atcatcgaaxgga ['atcatcgaaxgga'] - mismatches: [9] - original: 'ATCATCGAATGGA' atcaxxgaatgga ['atcaxxgaatgga'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' atcaxxgaatgxa atcaxxgaatgxa ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcaxxgaatgg atcaxxgaatgg ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcatcgaatgga match xtcatcgaatggx match atcatcgaaxgga match atcaxxgaatgga match atcaxxgaatgxa exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) atcaxxgaatgg exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) ['*', '*', '*', '*'] [' ', 'test'] - indent: ' ' - word: 'test' [' ', 'test'] - word: 'test' verify processing of C and HTML comments AA:BB:CC:DD:EE:FF ['AA:BB:CC:DD:EE:FF'] AA.BB.CC.DD.EE.FF ['AA.BB.CC.DD.EE.FF'] AA-BB-CC-DD-EE-FF ['AA-BB-CC-DD-EE-FF'] # mixed delimiters AA.BB:CC:DD:EE:FF AA.BB:CC:DD:EE:FF ^ ParseException: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) pyparsing.core.Regex - MAC address FAIL: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 0.0.0.0 ['0.0.0.0'] 1.1.1.1 ['1.1.1.1'] 127.0.0.1 ['127.0.0.1'] 1.10.100.199 ['1.10.100.199'] 255.255.255.255 ['255.255.255.255'] . # out of range value 256.255.255.255 256.255.255.255 ^ ParseException: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) pyparsing.core.Regex - IPv4 address FAIL: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ['2001:0db8:85a3:0000:0000:8a2e:0370:7334'] 2134::1234:4567:2468:1236:2444:2106 ['2134::1234:4567:2468:1236:2444:2106'] 0:0:0:0:0:0:A00:1 ['0:0:0:0:0:0:A00:1'] 1080::8:800:200C:417A ['1080::8:800:200C:417A'] ::A00:1 ['::A00:1'] # loopback address ::1 ['::1'] # the null address :: ['::'] # ipv4 compatibility form ::ffff:192.168.0.1 ['::ffff:192.168.0.1'] # too few values 1080:0:0:0:8:800:200C 1080:0:0:0:8:800:200C ^ ParseException: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) pyparsing.core.Combine - IPv6 address pyparsing.core.MatchFirst - IPv6 address pyparsing.core.And - full IPv6 address pyparsing.core.And - {':' hex_integer} pyparsing.core._SingleCharLiteral - ':' FAIL: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4136, in parseImpl raise maxException File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 819, in _parseNoCache raise ParseException(instring, len_instring, self.errmsg, self) # too many ::'s, only 1 allowed 2134::1234:4567::2444:2106 2134::1234:4567::2444:2106 ^ ParseException: Expected end of text, found ':' (at char 15), (line:1, col:16) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found ':' (at char 15), (line:1, col:16) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 100 [100] -100 [-100] +100 [100] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1e12 [1000000000000.0] -1e12 [-1000000000000.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 100 [100.0] -100 [-100.0] +100 [100.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1997 ['1997'] - day: None - month: None - year: '1997' 1997-07 ['1997-07'] - day: None - month: '07' - year: '1997' 1997-07-16 ['1997-07-16'] - day: '16' - month: '07' - year: '1997' 1997-07-16 [datetime.date(1997, 7, 16)] 1997-07-16T19:20+01:00 ['1997-07-16T19:20+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: None - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30+01:00 ['1997-07-16T19:20:30+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30' - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30.45Z ['1997-07-16T19:20:30.45Z'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: 'Z' - year: '1997' 1997-07-16 19:20:30.45 ['1997-07-16 19:20:30.45'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: None - year: '1997' 1997-07-16T19:20:30.45 [datetime.datetime(1997, 7, 16, 19, 20, 30, 450000)] 123e4567-e89b-12d3-a456-426655440000 ['123e4567-e89b-12d3-a456-426655440000'] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1 1/2 [1.5] 2 -15/16 [2.9375] 0 -3/-4 [-0.75] 12 [12] 100 [100] -3 [-3] 1.732 [1.732] -3.14159 [-3.14159] 6.02e23 [6.02e+23] http://foo.com/blah_blah ['http://foo.com/blah_blah'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah/ ['http://foo.com/blah_blah/'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah/' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia) ['http://foo.com/blah_blah_(wikipedia)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia)_(again) ['http://foo.com/blah_blah_(wikipedia)_(again)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)_(again)' - port: None - query: None - scheme: 'http' http://www.example.com/wpstyle/?p=364 ['http://www.example.com/wpstyle/?p=364'] - auth: None - fragment: None - host: 'www.example.com' - path: '/wpstyle/' - port: None - query: 'p=364' - scheme: 'http' https://www.example.com/foo/?bar=baz&inga=42&quux ['https://www.example.com/foo/?bar=baz&inga=42&quux'] - auth: None - fragment: None - host: 'www.example.com' - path: '/foo/' - port: None - query: 'bar=baz&inga=42&quux' - scheme: 'https' http://✪df.ws/123 ['http://✪df.ws/123'] - auth: None - fragment: None - host: '✪df.ws' - path: '/123' - port: None - query: None - scheme: 'http' http://userid:password@example.com:8080 ['http://userid:password@example.com:8080'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com:8080/ ['http://userid:password@example.com:8080/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid@example.com ['http://userid@example.com'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid@example.com/ ['http://userid@example.com/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://userid@example.com:8080 ['http://userid@example.com:8080'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid@example.com:8080/ ['http://userid@example.com:8080/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com ['http://userid:password@example.com'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid:password@example.com/ ['http://userid:password@example.com/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1/ ['http://142.42.1.1/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1:8080/ ['http://142.42.1.1:8080/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: '8080' - query: None - scheme: 'http' http://➡.ws/䨹 ['http://➡.ws/䨹'] - auth: None - fragment: None - host: '➡.ws' - path: '/䨹' - port: None - query: None - scheme: 'http' http://⌘.ws ['http://⌘.ws'] - auth: None - fragment: None - host: '⌘.ws' - path: None - port: None - query: None - scheme: 'http' http://⌘.ws/ ['http://⌘.ws/'] - auth: None - fragment: None - host: '⌘.ws' - path: '/' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)#cite-1 ['http://foo.com/blah_(wikipedia)#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)_blah#cite-1 ['http://foo.com/blah_(wikipedia)_blah#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)_blah' - port: None - query: None - scheme: 'http' http://foo.com/unicode_(✪)_in_parens ['http://foo.com/unicode_(✪)_in_parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/unicode_(✪)_in_parens' - port: None - query: None - scheme: 'http' http://foo.com/(something)?after=parens ['http://foo.com/(something)?after=parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/(something)' - port: None - query: 'after=parens' - scheme: 'http' http://☺.damowmow.com/ ['http://☺.damowmow.com/'] - auth: None - fragment: None - host: '☺.damowmow.com' - path: '/' - port: None - query: None - scheme: 'http' http://code.google.com/events/#&product=browser ['http://code.google.com/events/#&product=browser'] - auth: None - fragment: '&product=browser' - host: 'code.google.com' - path: '/events/' - port: None - query: None - scheme: 'http' http://j.mp ['http://j.mp'] - auth: None - fragment: None - host: 'j.mp' - path: None - port: None - query: None - scheme: 'http' ftp://foo.bar/baz ['ftp://foo.bar/baz'] - auth: None - fragment: None - host: 'foo.bar' - path: '/baz' - port: None - query: None - scheme: 'ftp' http://foo.bar/?q=Test%20URL-encoded%20stuff ['http://foo.bar/?q=Test%20URL-encoded%20stuff'] - auth: None - fragment: None - host: 'foo.bar' - path: '/' - port: None - query: 'q=Test%20URL-encoded%20stuff' - scheme: 'http' http://مثال.إختبار ['http://مثال.إختبار'] - auth: None - fragment: None - host: 'مثال.إختبار' - path: None - port: None - query: None - scheme: 'http' http:// http:// ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://. http://. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.. http://.. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://../ http://../ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://? http://? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://?? http://?? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://??/ http://??/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://# http://# ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://## http://## ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://##/ http://##/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://foo.bar?q=Spaces should be encoded // // ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) //a //a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ///a ///a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) /// /// ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:///a http:///a ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) foo.com foo.com ^ ParseException: Expected url, found 'foo' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'foo' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) rdar://1234 rdar://1234 ^ ParseException: Expected url, found 'rdar' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'rdar' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) h://test h://test ^ ParseException: Expected url, found 'h' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'h' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:// shouldfail.com http:// shouldfail.com ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) :// should fail :// should fail ^ ParseException: Expected url, found ':' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found ':' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://foo.bar/foo(bar)baz quux http://foo.bar/foo(bar)baz quux ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ftps://foo.bar/ ftps://foo.bar/ ^ ParseException: Expected url, found 'ftps' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'ftps' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://-error-.invalid/ http://-error-.invalid/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://a.b--c.de/ http://-a.b.co http://-a.b.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://a.b-.co http://a.b-.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://0.0.0.0 http://0.0.0.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.0 http://10.1.1.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ..... http://10.1.1.255 http://10.1.1.255 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://224.1.1.1 http://224.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://1.1.1.1.1 http://1.1.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://123.123.123 http://123.123.123 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://3628126748 http://3628126748 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.www.foo.bar/ http://.www.foo.bar/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://www.foo.bar./ http://.www.foo.bar./ http://.www.foo.bar./ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.1 http://10.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ['https://bob:secret@www.example.com:8080/path/to/resource?filter=int#book-mark'] - auth: 'bob:secret' - fragment: 'book-mark' - host: 'www.example.com' - path: '/path/to/resource' - port: '8080' - query: 'filter=int' - scheme: 'https' Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%d', found '1997' (at char 0), (line:1, col:1) Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%dT%H:%M:%S.%f', found '1997' (at char 0), (line:1, col:1) 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3.............. [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] B 5 7 F 0 1 2 3 4 5 _ C 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 5 string input item1 item2 item3 item4 item5 0 int user 2 int file 3 8 [['item1', 'item2', 'item3', 'item4', 'item5'], [], ['3', '8']] [0]: ['item1', 'item2', 'item3', 'item4', 'item5'] - count: 5 - items: ['item1', 'item2', 'item3', 'item4', 'item5'] - source: 'input' - type: 'string' [1]: [] - count: 0 - items: [] - source: 'user' - type: 'int' [2]: ['3', '8'] - count: 2 - items: ['3', '8'] - source: 'file' - type: 'int' type = '' source = '' ['True', 'True', 'False'] - items: ['True', 'True', 'False'] - type: 'bool' verify non-fatal usage of Literal("") Raised expected exception: ValueError: null string passed to Literal; use Empty() instead sdlfjs :sdf\:jls::djf: sl:kfsjf sdlfjs -sdf\:jls::--djf: sl-kfsjf sdlfjs -sdf\:::jls::--djf: sl:::-kfsjf sdlfjs ^sdf\:jls^^--djf^ sl-kfsjf sdlfjs ^^^==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf^^^ colonQuotes :(?:(?:::)|(?:\\.)|(?:[^:\n\r\\]))*: [['sdf:jls:djf'], ['jls:--djf'], [':jls:--djf'], [''], ['j=lz:--djf'], ['j=ls:--djf']] sdf:jls:djf sdf:jls:djf dashQuotes \-(?:(?:\-\-)|(?:\\.)|(?:[^\-\n\r\\]))*\- [['sdf:jls::-djf: sl'], ['sdf:::jls::-djf: sl:::'], [''], [''], ['']] sdf:jls::-djf: sl sdf:jls::-djf: sl hatQuotes \^(?:(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls'], ['--djf'], [''], ['==sdf:j=lz::--djf: sl='], ['']] sdf:jls sdf:jls hatQuotes1 \^(?:(?:\^\^)|(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls^--djf'], ['^==sdf:j=lz::--djf: sl='], ['']] sdf:jls^--djf sdf:jls^--djf dblEqQuotes ==(?:(?:\\.)|(?:(?:=(?!=)))|(?:[^=\n\r\\]))*== [['sdf:j=ls::--djf: sl']] sdf:j=ls::--djf: sl sdf:j=ls::--djf: sl ::: quotes :::(?:(?:(?:::(?!:))|(?::(?!::)))|(?:[^:\n\r]))*::: [['jls::--djf: sl']] jls::--djf: sl jls::--djf: sl ==-- quotes ==(?:(?:(?:\-(?!\-)))|(?:[^\-\n\r]))*\-\- [['sdf\\:j=lz::'], ['sdf\\:j=ls::']] sdf\:j=lz:: sdf\:j=lz:: ^^^ multiline quotes \^\^\^(?:(?:(?:\^\^(?!\^))|(?:\^(?!\^\^)))|(?:[^\^]))*\^\^\^ [['==sdf\\:j=lz::--djf: sl=^^=kfsjf\n sdlfjs ==sdf\\:j=ls::--djf: sl==kfsjf']] ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf Raised expected exception: ValueError: quote_char cannot be the empty string \.\[(?:(?:(?:\](?!\.)))|(?:[^\]\n\r]))*\]\. ['...'] [''] [']'] [']]'] \+\*(?:(?:(?:\*(?!\+)))|(?:[^*\n\r]))*\*\+ ['...'] [''] ['*'] ['**'] \*/(?:(?:(?:/(?!\*)))|(?:[^/\n\r]))*/\* ['...'] [''] ['/'] ['//'] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ValueError: min must be greater than 0 Raised expected exception: ValueError: max must be greater than, or equal to min Raised expected exception: ParseException: Expected ',', found end of text (at char 12), (line:1, col:13) 'ABC' [, 'ABC']... ['ABC', 'ABC'] 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] {'True' | 'true' | 'False' | 'false'} [, {'True' | 'true' | 'False' | 'false'}]... bool bool bool bool bool [, bool]... 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] ['bar', 'foo'] - one: 'foo' - two: 'bar' options(100) step(A) options(100) step(A) ^ ParseSyntaxException: Expected integer, found 'A' (at char 18), (line:1, col:19) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 18), (line:1, col:19) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal step(A) options(100) step(A) options(100) ^ ParseSyntaxException: Expected integer, found 'A' (at char 5), (line:1, col:6) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(100A) options(100) step(100A) ^ ParseSyntaxException: Expected 'Z', found 'A' (at char 21), (line:1, col:22) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected 'Z', found 'A' (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(22) step(100ZA) options(100) step(22) step(100ZA) ^ ParseSyntaxException: Expected ')', found 'A' (at char 31), (line:1, col:32) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected ')', found 'A' (at char 31), (line:1, col:32) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {{word}... num} pyparsing.core.OneOrMore - {word}... pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 9), (line:1, col:10) pyparsing.core.And - {[word [word [word]]] num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 9), (line:1, col:10) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) cc dd 123 ['cc', 'dd', '123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'cc' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'cc' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ...... bb cc dd 123 bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1,1 ['a', [1, 1]] - label: 'a' - points: [[1, 1]] [0]: [1, 1] - x: 1 - y: 1 [0]: a [1]: [1, 1] - x: 1 - y: 1 b 1,1 2,2 3,3 ['b', [1, 1], [2, 2], [3, 3]] - label: 'b' - points: [[1, 1], [2, 2], [3, 3]] [0]: [1, 1] - x: 1 - y: 1 [1]: [2, 2] - x: 2 - y: 2 [2]: [3, 3] - x: 3 - y: 3 [0]: b [1]: [1, 1] - x: 1 - y: 1 [2]: [2, 2] - x: 2 - y: 2 [3]: [3, 3] - x: 3 - y: 3 c ['c'] - label: 'c' - points: [] [['a', '10'], ['b', '20']] - a: '10' - b: '20' [0]: ['a', '10'] [1]: ['b', '20'] ^ ParseException: Expected W:(A-Za-z) (at char 0), (line:1, col:1) pyparsing.core.Dict - Dict:({Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}...) pyparsing.core.OneOrMore - {Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}... pyparsing.core.Group - Group:({W:(A-Za-z) Suppress:('=') W:(0-9)}) pyparsing.core.And - {W:(A-Za-z) Suppress:('=') W:(0-9)} pyparsing.core._WordRegex - W:(A-Za-z) testing empty And testing empty Or testing empty MatchFirst testing empty Each Match [{integer | W:(0-9A-Za-z)}]... at loc 0(1,1) 123 A100 ^ Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Matched [{integer | W:(0-9A-Za-z)}]... -> [123, 'A100'] Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Match integer at loc 0(1,1) 1 2 3 ^ Matched integer -> ['1'] Match integer at loc 2(1,3) 1 2 3 ^ Matched integer -> ['2'] Match integer at loc 4(1,5) 1 2 3 ^ Matched integer -> ['3'] Match integer at loc 5(1,6) 1 2 3 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 5), (line:1, col:6) Packrat status: enabled ..............Match Z at loc 0(1,1) aba ^ Match Z failed, ParseException raised: Expected Z, found 'aba' (at char 0), (line:1, col:1) Match leading_a at loc 0(1,1) aba ^ Match A at loc 0(1,1) aba ^ Matched A -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Matched leading_a -> ['a'] *Match Z at loc 1(1,2) aba ^ *Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match leading_a at loc 1(1,2) aba ^ Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match leading_a failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) *Match B at loc 1(1,2) aba ^ *Matched B -> ['b'] Match Z at loc 2(1,3) aba ^ Match Z failed, ParseException raised: Expected Z, found 'a' (at char 2), (line:1, col:3) Match leading_a at loc 2(1,3) aba ^ Match A at loc 2(1,3) aba ^ Matched A -> ['a'] Match Z at loc 3(1,4) aba ^ Match Z failed, ParseException raised: Expected Z, found end of text (at char 3), (line:1, col:4) Match A at loc 3(1,4) aba ^ Match A failed, ParseException raised: Expected A, found end of text (at char 3), (line:1, col:4) Match B at loc 3(1,4) aba ^ Match B failed, ParseException raised: Expected B, found end of text (at char 3), (line:1, col:4) Match leading_a failed, ParseException raised: Expected {Z | A | B}, found end of text (at char 3), (line:1, col:4) Match B at loc 2(1,3) aba ^ Match B failed, ParseException raised: Expected B, found 'a' (at char 2), (line:1, col:3) {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': False, 'warn_name_set_on_empty_Forward': False, 'warn_on_assignment_to_Forward': False, 'warn_on_match_first_with_lshift_operator': False, 'warn_on_multiple_string_args_to_oneof': False, 'warn_on_parse_using_empty_Forward': False, 'warn_ungrouped_named_tokens_in_collection': False} {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': True, 'warn_name_set_on_empty_Forward': True, 'warn_on_assignment_to_Forward': True, 'warn_on_match_first_with_lshift_operator': True, 'warn_on_multiple_string_args_to_oneof': True, 'warn_on_parse_using_empty_Forward': True, 'warn_ungrouped_named_tokens_in_collection': True} TypeError: descriptor 'upper' for 'str' objects doesn't apply to a 'int' object tests.test_unit.Test06_WithBoundedPackrat pyparsing.core._WordRegex - integer tests.test_unit.Modifier pyparsing.results.ParseResults 123 355 ^ ParseException: Expected word, found '355' (at char 4), (line:1, col:5) 123 355 (test using ErrorStop) ^ ParseSyntaxException: Expected word, found '355' (at char 4), (line:1, col:5) tests.test_unit.Test06_WithBoundedPackrat pyparsing.core.And - {int - word} A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test06_WithBoundedPackrat pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int test does local memoization enable/disable during test [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [' z=1000', 'b("; in quotes")', 'c=200', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', '', '', 'y += x', 'return y'], [' this_semi_does_nothing()', ';', ''], [' neither_does_this_but_there_are_spaces_afterward()', ';', ''], [' a = "a;b"', ';', 'return a # this is a comment; it has a semicolon!'], [' z=1000', ';', 'b("; in quotes")', ';', 'c=200', ';', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', ';', 'b = 11', ';', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', ';', 'return x # so; does; this; one'], [' x = 15', ';', '', ';', '', ';', 'y += x', ';', 'return y'], [''], [' def main():'], [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [''], [' def b():'], [' if False:'], [' z=1000', 'b("; in quotes"); c=200;return z'], [" return ';'"], [''], [' class Foo(object):'], [' def bar(self):'], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11; c = 12'], [''], [' # this comment; has several; semicolons'], [' if self.spam:'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', ';; y += x; return y'], [''], [' def baz(self):'], [' return self.bar'], [' '], W:(0-9) W:(0-9){3} W:(0-9){2,...} W:(0-9){1,3} W:(0-9){2,3} (0-9) ['balloon'] - item: 'balloon' - qty: 99 verify behavior of getName() ['XXX', ['b'], ['bb'], ['a'], ['bbb'], ['bbbb'], ['aa'], ['bbbbb'], [':', 'c'], ['bbbbbb'], ['aaa']] [0]: XXX [1]: ['b'] - B: 'b' [2]: ['bb'] - B: 'bb' [3]: ['a'] - A: 'a' [4]: ['bbb'] - B: 'bbb' [5]: ['bbbb'] - B: 'bbbb' [6]: ['aa'] - A: 'aa' [7]: ['bbbbb'] - B: 'bbbbb' [8]: [':', 'c'] - C: 'c' [9]: ['bbbbbb'] - B: 'bbbbbb' [10]: ['aaa'] - A: 'aaa' XXX 'XXX' ['b'] ParseResults(['b'], {'B': 'b'}) ['bb'] ParseResults(['bb'], {'B': 'bb'}) ['a'] ParseResults(['a'], {'A': 'a'}) ['bbb'] ParseResults(['bbb'], {'B': 'bbb'}) ['bbbb'] ParseResults(['bbbb'], {'B': 'bbbb'}) ['aa'] ParseResults(['aa'], {'A': 'aa'}) ['bbbbb'] ParseResults(['bbbbb'], {'B': 'bbbbb'}) [':', 'c'] ParseResults([':', 'c'], {'C': 'c'}) ['bbbbbb'] ParseResults(['bbbbbb'], {'B': 'bbbbbb'}) ['aaa'] ParseResults(['aaa'], {'A': 'aaa'}) XXX b bb a bbb bbbb aa bbbbb :c bbbbbb aaa [None, 'B', 'B', 'A', 'B', 'B', 'A', 'B', None, 'B', 'A'] ['lsjd'] non-key ['sldkjf'] non-key ['IF'] non-key ['Saslkj'] non-key ['AND'] non-key ['lsdjf'] non-key verify behavior of ParseResults.get() ['b', 'bb', 'a', 'bbb', 'bbbb', 'aa', 'bbbbb', ':', 'c', 'bbbbbb', 'aaa'] - A: 'aaa' - B: 'bbbbbb' - C: 'c' aaa !D ['11.11.13', 'useless . useless,21 useless 2 | ', 14.21, ' | asmdakldm'] ['21.12.12', 'fmpaosmfpoamsp 4 | ', 41, ' | ajfa9si90'] Raised expected exception: ParseException: Expected number, found 'useless' (at char 32), (line:1, col:33) Raised expected exception: ParseException: Expected number, found 'fmpaosmfpoamsp' (at char 32), (line:1, col:33) [["'string1'", "'string2'"]] [['string1', 'strin""g2']] [['"string1"', '"strin""g2"'], ["'string1'", "'string2'"]] [['string1', 'strin"g2']] [['string1', 'string2']] [['string1', 'string2']] [['string1', 'string2']] ["'ms1'", '1', '0', "'2009-12-22'", "'2009-12-22 10:41:22'"] This & that 2 > 1 0 < 1 Don't get excited! I said "Don't get excited!" Copyright © 2021 Dot ⟶ ˙ ['I', 'totally', 'love', 'pickles'] a = 100 b = 101 c = c1 = 200 c2 = c21 = 999 c3 = 'A horse, a horse, my kingdom for a horse' d = 505 ......[['a', 100], ['b', 101], ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']], ['d', 505]] - a: 100 - b: 101 - c: [['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: ['c1', 200] [1]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [2]: ['c3', 'A horse, a horse, my kingdom for a horse'] - d: 505 [0]: ['a', 100] [1]: ['b', 101] [2]: ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: c [1]: ['c1', 200] [2]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [3]: ['c3', 'A horse, a horse, my kingdom for a horse'] [3]: ['d', 505] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [200, 201]] [0]: B [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 3 123456789012345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] using searchString [[['A', [100, 101, 102]]], [['B', [['b', [200, 201]]]]], [['C', [300]]]] [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] using parseString [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] test good indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.1.2| 5: 2.| [['1.', ['1.1', ['1.1.1', '1.1.2']], '2.']] test bad indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 78), (line:4, col:18) 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 76), (line:4, col:16) [['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], 'B', ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], 'C', 'D', ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] [0]: ['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]] [0]: def [1]: A [2]: ['(', 'z', ')'] [3]: : [4]: [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']] [0]: ['A1'] [1]: [['B', '=', '100']] [0]: ['B', '=', '100'] [2]: [['G', '=', 'A2']] [0]: ['G', '=', 'A2'] [3]: ['A2'] [4]: ['A3'] [1]: B [2]: ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]] [0]: def [1]: BB [2]: ['(', 'a', 'b', 'c', ')'] [3]: : [4]: [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]] [0]: ['BB1'] [1]: [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]] [0]: ['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]] [0]: def [1]: BBA [2]: ['(', ')'] [3]: : [4]: [['bba1'], ['bba2'], ['bba3']] [0]: ['bba1'] [1]: ['bba2'] [2]: ['bba3'] [3]: C [4]: D [5]: ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]] [0]: def [1]: spam [2]: ['(', 'x', 'y', ')'] [3]: : [4]: [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]] [0]: [['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]] [0]: ['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]] [0]: def [1]: eggs [2]: ['(', 'z', ')'] [3]: : [4]: [['pass']] [0]: ['pass'] Parsing 'one0'... Parsing 'four0'... Parsing 'one1'... Parsing 'four1'... extra: [test] one0: two (three) four0: five (seven) extra: [test] one1: two (three) four1: five (seven) ['extra', [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]], 'extra', [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]]] [0]: extra [1]: [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]] [0]: ['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]] [0]: test [1]: [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]] [0]: ['one0', [['two', 'three']]] [0]: one0 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four0', [['five', 'seven']]] [0]: four0 [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]] [0]: ['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]] [0]: test [1]: [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]] [0]: ['one1', [['two', 'three']]] [0]: one1 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four1', [['five', 'seven']]] [0]: four1 [1]: [['five', 'seven']] [0]: ['five', 'seven'] Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'eight'... Parsing 'eleven'... Parsing 'fourteen'... Parsing 'seventeen'... .......... extra: [test] one: two (three) four: five (seven) extra: [test] one: two (three) four: five (seven) [test] one: two (three) four: five (seven) [test] eight: nine (ten) eleven: twelve (thirteen) fourteen: fifteen (sixteen) seventeen: eighteen (nineteen) ['extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]], 'extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]]] [0]: extra [1]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [1]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]] [0]: test [1]: [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]] [0]: ['eight', [['nine', 'ten']]] [0]: eight [1]: [['nine', 'ten']] [0]: ['nine', 'ten'] [1]: ['eleven', [['twelve', 'thirteen']]] [0]: eleven [1]: [['twelve', 'thirteen']] [0]: ['twelve', 'thirteen'] [2]: ['fourteen', [['fifteen', 'sixteen']]] [0]: fourteen [1]: [['fifteen', 'sixteen']] [0]: ['fifteen', 'sixteen'] [3]: ['seventeen', [['eighteen', 'nineteen']]] [0]: seventeen [1]: [['eighteen', 'nineteen']] [0]: ['eighteen', 'nineteen'] [[9, '+', 2, '+', 3]] [0]: [9, '+', 2, '+', 3] [[9, '+', [2, '*', 3]]] [0]: [9, '+', [2, '*', 3]] [0]: 9 [1]: + [2]: [2, '*', 3] [[[9, '+', 2], '*', 3]] [0]: [[9, '+', 2], '*', 3] [0]: [9, '+', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', 3]] [0]: [[9, '+', ['-', 2]], '*', 3] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', ['-', 2]]], '*', 3]] [0]: [[9, '+', ['-', ['-', 2]]], '*', 3] [0]: [9, '+', ['-', ['-', 2]]] [0]: 9 [1]: + [2]: ['-', ['-', 2]] [0]: - [1]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [[9, '!'], '+', ['-', 2]] [0]: [9, '!'] [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[['M', '*', 'X'], '+', 'B']] [0]: [['M', '*', 'X'], '+', 'B'] [0]: ['M', '*', 'X'] [1]: + [2]: B [['M', '*', ['X', '+', 'B']]] [0]: ['M', '*', ['X', '+', 'B']] [0]: M [1]: * [2]: ['X', '+', 'B'] [[1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]]] [0]: [1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]] [0]: 1 [1]: + [2]: [2, '*', ['-', [3, '^', 4]], '*', 5] [0]: 2 [1]: * [2]: ['-', [3, '^', 4]] [0]: - [1]: [3, '^', 4] [3]: * [4]: 5 [3]: + [4]: ['-', ['+', ['-', 6]]] [0]: - [1]: ['+', ['-', 6]] [0]: + [1]: ['-', 6] [[3, '!', '!']] [0]: [3, '!', '!'] p = True q = False r = True p and not q (p & ~q) = True not not p ~~p = True not(p and q) ~(p & q) = True q or not p and r (q | (~p & r)) = False q or not p or not r (q | ~p | ~r) = False q or not (p and r) (q | ~(p & r)) = False p or q or r (p | q | r) = True p or q or r and False (p | q | (r & False)) = True (p or q or r) and False ((p | q | r) & False) = False Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must indicate right or left associativity evaluate_int 9 '9' => [9] (count=1) [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', ['<', [2, '+', 11], '>']]] [0]: [3, '+', ['<', [2, '+', 11], '>']] [0]: 3 [1]: + [2]: ['<', [2, '+', 11], '>'] [0]: < [1]: [2, '+', 11] [2]: > [[3, '+', ['<<', [2, '+', 11], '>>']]] [0]: [3, '+', ['<<', [2, '+', 11], '>>']] [0]: 3 [1]: + [2]: ['<<', [2, '+', 11], '>>'] [0]: << [1]: [2, '+', 11] [2]: >> [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 bar = foo [['bar', '=', 'foo']] bar = foo & baz = fee ['&', [['bar', '=', 'foo'], ['baz', '=', 'fee']]] ['SELECT', 'color', 'FROM', 'colors'] ['SELECT', 'color', 'FROM', 'colors'] .....['1999', '/', '12', '/', '31'] - day: '31' - month: '12' - year: '1999' ['1999', '12', '31'] - day: '31' - month: '12' - year: '1999' Raised expected exception: ValueError: no such diagnostic 'xyzzy' ['testA', 'testB', 'testC'] =? ['testA', 'testB', 'testC'] ['testC'] =? ['testC'] 'testB\ntestC\n' =? 'testB\ntestC\n' ['testD', 'testE', 'testF'] =? ['testD', 'testE', 'testF'] ['testF'] =? ['testF'] 'testE\ntestF' =? 'testE\ntestF' ['a'] =? ['a'] ['a'] =? ['a'] '' =? '' 0 'aaa' 1 '\naaa' Raised expected exception: ParseException: Expected Re:('a+'), found '\' (at char 0), (line:1, col:1) 2 'a\naa' Raised expected exception: ParseException: Expected end of text, found '\' (at char 1), (line:1, col:2) 3 'aaa\n' Raised expected exception: ParseException: Expected end of text, found '\' (at char 3), (line:1, col:4) verify correct line() behavior when first line is empty string {W:(A) - LineStart W:(B)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) no \n in default whitespace chars {W:(A) - LineStart W:(B)} AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 3), (line:1, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) .................. AAA BBB AAA BBB ^ ParseSyntaxException: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) 1 1234567890 1:AAA 1| 2:AAA 2| 3:| 4: AAA| 5:| 6:B AAA| 7:| normal parsing 0 3 1 AAA 1 ParseResults(['AAA'], {}) 6 9 2 AAA 2 ParseResults(['AAA'], {}) 12 18 3 ParseResults(['AAA'], {}) parsing without \n in whitespace chars 0 3 1 AAA 1 'A' 6 9 2 AAA 2 'A' 13 18 4 AAA ' ' 1 1234567890 1:| 2:a| 3: b| 4: c| 5:d| 6:e| 7: f| 8: g| [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [[['a']], [['b']], [['c']], [['d']], [['e']], [['f']], [['g']]] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] Literal Expected 'xyz', found end of text (at char 1), (line:1, col:2) CaselessLiteral Expected 'XYZ', found end of text (at char 1), (line:1, col:2) Keyword Expected Keyword 'xyz', found end of text (at char 1), (line:1, col:2) CaselessKeyword Expected CaselessKeyword 'xyz', found end of text (at char 1), (line:1, col:2) Word Expected W:(xyz), found end of text (at char 1), (line:1, col:2) Regex Expected Re:('xyz'), found end of text (at char 1), (line:1, col:2) 1 start 2 {integer 'start' integer} [1, 'start', 2] {integer 'start' integer} [1, 'start', 2] {integer 'START' integer} [1, 'START', 2] {integer word integer} [1, 'start', 2] 3 start4 {integer 'start' integer} [3, 'start', 4] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected word, found 'start4' (at char 2), (line:1, col:3) 5start 6 [5, 'start', 6] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected CaselessKeyword 'START', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected word, found 'start' (at char 1), (line:1, col:2) [28, 'ID', 'PARI12345678', 43] - id: 'PARI12345678' - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [[28, ['ID', 'PARI12345678'], 43]] - loc: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0]: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0, ['ljsdf'], 5] ['ljsdf'] [8, ['lksdjjf'], 15] ['lksdjjf'] [18, ['lkkjj'], 23] ['lkkjj'] ['body', False, 'Hello', ''] - contents: 'Hello' - empty: False - endBody: '' - startBody: ['body', False] - empty: False - tag: 'body' - tag: 'body' DOB >!<100-10-2010;more garbage verify MatchFirst iterates properly ['A', 'A', '3', 'A'] Raised expected exception: ParseException: matched token not at column 1, found '3' (at char 4), (line:1, col:5) ABC ^ ParseException: Expected W:(0-9), found 'ABC' (at char 0), (line:1, col:1) tests.test_unit.Test06_WithBoundedPackrat pyparsing.core._WordRegex - W:(0-9) ['A'] - Achar: 'A' Raised expected exception: ValueError: cannot multiply ParserElement by negative value {'username': 'goat', 'errors': {'username': ['already taken', 'too short']}, 'empty_field': ''} Test defaults: [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default opener [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Literal expressions for opener and closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Use ignore expression (1) [['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello,', 'world!"']] [0]: ['greeting', '"Hello,', 'world!"'] [2]: ;;(foo bar [3]: ['display', 'greeting'] Use ignore expression (2) [['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello, )world!"']] [0]: ['greeting', '"Hello, )world!"'] [2]: ;; [3]: (foo bar [4]: ['display', 'greeting'] Raised expected exception: ValueError: opening and closing strings cannot be the same Raised expected exception: ValueError: opening and closing arguments must be strings if no content expression is given ['aName', ['outer', ["'inner with opener {{ and closer }} in quoted string'"]]] [0]: aName [1]: ['outer', ["'inner with opener {{ and closer }} in quoted string'"]] [0]: outer [1]: ["'inner with opener {{ and closer }} in quoted string'"] ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' 9413 tests produced real number PASS valid tests (321) real number with scientific notation PASS valid tests (2319) signed integer PASS valid tests (153) real number PASS invalid tests (2213) real number with scientific notation PASS invalid tests (6587) .........................signed integer PASS invalid tests (9260) # literal oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] abc ['a', 'b', 'c'] # keyword oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] # keyword oneOf failure tests abc abc ^ ParseException: Expected end of text, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) verify oneOf handles duplicate symbols verify oneOf handles generator input verify oneOf handles list input verify oneOf handles set input Raised expected exception: TypeError: Invalid argument to one_of, expected string or iterable ['XXX Y/123', '1,234.567890'] - data: '1,234.567890' - id: 'XXX Y/123' ['0', '123', '321', 444] Raised expected exception: ParseException: OnlyOnce obj called multiple times w/out reset, found '1' (at char 0), (line:1, col:1) ['100', '200', '300', 600] verify handling of Optional's beyond the end of string Tal Weiss Major Tal Major Weiss Major Major Major Tal Major Weiss Major Tal Weiss ['foo'] - foo: ['foo'] ['bar', 'foo', 'bar', 'foo', 'bar', 'foo'] - bar: ['bar', 'bar', 'bar'] - foo: ['foo', 'foo', 'foo'] Raised expected exception: ParseException: Missing one or more required elements ('foo'), found 'bar' (at char 1), (line:1, col:2) 1999-12-31 100 2001-01-01 [['1999-12-31'], 100, ['2001-01-01']] - date: [['1999-12-31'], ['2001-01-01']] [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' - id: 100 [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: 100 [2]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' 42 [42] - id: 42 verify Optional's do not cause match failure if have results name _images/cal.png:77_ ['alt', 'empty', 'height', 'src', 'startImg', 'tag', 'width'] ['int', 'f', '(', ')', '{}'] ['DO', ['Z']] [244, 23, 13, 2343] - int_values: [244, 23, 13, 2343] - total: 2623 ### before parse action is added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' ### after parse action was added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])]] [0]: ['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])] 'AAAAA' parseAll=False (shouldSucceed=True) 'AAAAA' parseAll=True (shouldSucceed=True) 'AAABB' parseAll=False (shouldSucceed=True) 'AAABB' parseAll=True (shouldSucceed=False) AAABB ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test06_WithBoundedPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd 'AAAAA //blah' parseAll=False (shouldSucceed=True) 'AAAAA //blah' parseAll=True (shouldSucceed=True) 'AAABB //blah' parseAll=False (shouldSucceed=True) 'AAABB //blah' parseAll=True (shouldSucceed=False) AAABB //blah ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test06_WithBoundedPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd '00aab' parseAll=False (shouldSucceed=True) '00aab' parseAll=True (shouldSucceed=True) '00aaf' parseAll=False (shouldSucceed=True) '00aaf' parseAll=True (shouldSucceed=False) 00aaf ^ ParseException: Expected end of text, found 'f' (at char 4), (line:1, col:5) tests.test_unit.Test06_WithBoundedPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd Parsing: 'a,b,c,100.2,,3' -> ['a', 'b', 'c', '100.2', '', '3'] Parsing: 'd, e, j k , m ' -> ['d', 'e', 'j k', 'm'] Parsing: "'Hello, World', f, g , , 5.1,x" -> ["'Hello, World'", 'f', 'g', '', '5.1', 'x'] Parsing: 'John Doe, 123 Main St., Cleveland, Ohio' -> ['John Doe', '123 Main St.', 'Cleveland', 'Ohio'] Parsing: 'Jane Doe, 456 St. James St., Los Angeles , California ' -> ['Jane Doe', '456 St. James St.', 'Los Angeles', 'California'] Parsing tests/karthik.ini ... 23 ['users'] users.K 8 8 users.mod_scheme 'QPSK' 'QPSK' users.Na K+2 K+2 OK Parsing examples/Setup.ini ... 125 ['Startup', 'Languages', 'test'] Startup.audioinf M3i M3i Languages.key1 0x0003 0x0003 test.foo bar bar OK Constructing EBNF parser with pyparsing... Parsing EBNF grammar with EBNF parser... - terminal_string - meta_identifier - integer - syntax - syntax_rule - definitions_list - single_definition - syntactic_term - syntactic_factor - syntactic_primary - optional_sequence - repeated_sequence - grouped_sequence Parsing EBNF grammar with generated EBNF parser... [['syntax', '=', '(', 'syntax_rule', ')', ',', '{', '(', 'syntax_rule', ')', '}', ';'], ['syntax_rule', '=', 'meta_identifier', ',', "'='", ',', 'definitions_list', ',', "';'", ';'], ['definitions_list', '=', 'single_definition', ',', '{', "'|'", ',', 'single_definition', '}', ';'], ['single_definition', '=', 'syntactic_term', ',', '{', "','", ',', 'syntactic_term', '}', ';'], ['syntactic_term', '=', 'syntactic_factor', ',', '[', "'-'", ',', 'syntactic_factor', ']', ';'], ['syntactic_factor', '=', '[', 'integer', ',', "'*'", ']', ',', 'syntactic_primary', ';'], ['syntactic_primary', '=', 'optional_sequence', '|', 'repeated_sequence', '|', 'grouped_sequence', '|', 'meta_identifier', '|', 'terminal_string', ';'], ['optional_sequence', '=', "'['", ',', 'definitions_list', ',', "']'", ';'], ['repeated_sequence', '=', "'{'", ',', 'definitions_list', ',', "'}'", ';'], ['grouped_sequence', '=', "'('", ',', 'definitions_list', ',', "')'", ';']] [['xavier', 'yeti'], ['alpha', 'beta', 'charlie'], ['will', 'beaver']] ['xavier', 'yeti'] ['alpha', 'beta', 'charlie'] ['will', 'beaver'] ['1', '0x2', '3', '0x4', 'aaa'] - base10: ['1', '3'] - hex: ['0x2', '0x4'] - word: ['aaa'] [[['Q', ['x', 'y', 'z']]], ':-', ['Bloo', ['x', 'Mitsis', 'y']], ['Foo', ['y', 'z', '1243']], ['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] - Bloo: ['x', 'Mitsis', 'y'] - Foo: ['y', 'z', '1243'] - head: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] - pred: [['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] [0]: ['y', '>', '28'] [1]: ['x', '<', '12'] [2]: ['x', '>', '3'] [0]: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] [1]: :- [2]: ['Bloo', ['x', 'Mitsis', 'y']] [0]: Bloo [1]: ['x', 'Mitsis', 'y'] [3]: ['Foo', ['y', 'z', '1243']] [0]: Foo [1]: ['y', 'z', '1243'] [4]: ['y', '>', '28'] [5]: ['x', '<', '12'] [6]: ['x', '>', '3'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] ................Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] {Re:('[a-z]+') | Re:('[a-z]+')} ['abc'] {Re:('[a-z]+') ^ Re:('[a-z]+')} ['abc'] {Re:('[a-z]*') | Re:('[a-z]*')} ['abc'] {Re:('[a-z]*') ^ Re:('[a-z]*')} ['abc'] Raised expected exception: ParseSyntaxException: Expected W:(0-9), found 'bad' (at char 4), (line:1, col:5) Raised expected exception: ParseSyntaxException: should raise here (at char 0), (line:1, col:1) Raised expected exception: ParseSyntaxException: Expected identifier, found end of text (at char 1), (line:1, col:2) [123, 456, 789] [123, 456, 789] 9 -> 9 -9 -> -9 --9 -> 9 -E -> -2.718281828459045 9 + 3 + 5 -> 17 9 + 3 / 11 -> 9.272727272727273 (9 + 3) -> 12 (9+3) / 11 -> 1.0909090909090908 9 - 12 - 6 -> -9 9 - (12 - 6) -> 3 2*3.14159 -> 6.28318 3.1415926535*3.1415926535 / 10 -> 0.9869604400525172 PI * PI / 10 -> 0.9869604401089358 PI*PI/10 -> 0.9869604401089358 PI^2 -> 9.869604401089358 round(PI^2) -> 10 6.02E23 * 8.048 -> 4.844896e+24 e / 3 -> 0.9060939428196817 sin(PI/2) -> 1.0 10+sin(PI/4)^2 -> 10.5 trunc(E) -> 2 trunc(-E) -> -2 round(E) -> 3 round(-E) -> -3 E^PI -> 23.140692632779263 exp(0) -> 1.0 exp(1) -> 2.718281828459045 2^3^2 -> 512 (2^3)^2 -> 64 2^3+2 -> 10 2^3+5 -> 13 2^9 -> 512 sgn(-2) -> -1 sgn(0) -> 0 sgn(0.1) -> 1 round(E, 3) -> 2.718 round(PI^2, 3) -> 9.87 sgn(cos(PI/4)) -> 1 sgn(cos(PI/2)) -> 0 sgn(cos(PI*3/4)) -> -1 +(sgn(cos(PI/4))) -> 1 -(sgn(cos(PI/4))) -> -1 -> ['BODY', False] ['BODY', False] - empty: False - startBody: ['BODY', False] - empty: False - tag: 'BODY' - tag: 'BODY' -> ['BODY', ['bgcolor', '#00FFCC'], False] ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - startBody: ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False -> ['BODY', ['bgcolor', '#00FFAA'], True] ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - startBody: ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True -> ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False -> ['BODY', True] ['BODY', True] - empty: True - startBody: ['BODY', True] - empty: True - tag: 'BODY' - tag: 'BODY' -> [''] [''] - endBody: '' end tag /* * a block comment * */ typedef string[10] tenStrings; typedef sequence stringSeq; typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 /* * a block comment * */ typedef string[10] tenStrings; typedef /** ** *** **** * * a block comment * */ sequence /*comment inside an And */ stringSeq; /* */ /**/ /***/ /****/ typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 const string test="Test String\n"; const long a = 0; const long b = -100; const float c = 3.14159; const long d = 0x007f7f7f; exception TestException { string msg; sequence dataStrings; }; interface TestInterface { void method1(in string arg1, inout long arg2); }; tokens = [['const', 'string', 'test', '=', '"Test String\\n"', ';'], ['const', 'long', 'a', '=', '0', ';'], ['const', 'long', 'b', '=', '-100', ';'], ['const', 'float', 'c', '=', '3.14159', ';'], ['const', 'long', 'd', '=', '0x007f7f7f', ';'], 'exception', 'TestException', '{', ['string', 'msg', ';'], [['sequence', '<', 'string', '>'], 'dataStrings', ';'], '}', ';', ['interface', 'TestInterface', '{', 'void', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', '}', ';']] 60 module Test1 { exception TestException { string msg; ]; interface TestInterface { void method1(in string arg1, inout long arg2) raises (TestException); }; }; exception TestException ^ Expected {moduleDef | {moduleItem}...}, found 'exception' (at char 56), (line:4, col:15) module Test1 { exception TestException { string msg; }; }; tokens = ['module', 'Test1', '{', 'exception', 'TestException', '{', ['string', 'msg', ';'], '}', ';', '}', ';'] 13 Test ifOnlyIfOnly Match Literal ['if'] Match Keyword failed Test if(OnlyIfOnly) Match Literal ['if'] Match Keyword ['if'] Test if (OnlyIf Only) Match Literal ['if'] Match Keyword ['if'] Test IFOnlyIfOnly Match Literal failed Match Keyword failed Test If(OnlyIfOnly) Match Literal failed Match Keyword ['if'] Test iF (OnlyIf Only) Match Literal failed Match Keyword ['if'] Raised expected exception: ValueError: null string passed to Keyword; use Empty() instead ['0', '123', '321', 444] ['spam', 'eggs'] - first: 'spam' - second: 'eggs' [] ['123', '456', 'ABC', 'DEF'] - ints: ['123', '456'] - words: ['ABC', 'DEF'] ['123', 'ABC', 'DEF'] - ints: ['123', '456'] ...........['List', '__add__', '__annotations__', '__bool__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_all_names', '_asStringList', '_modal', '_name', '_null_values', '_parent', '_tokdict', '_toklist', 'append', 'asDict', 'asList', 'as_dict', 'as_list', 'clear', 'copy', 'dump', 'extend', 'from_dict', 'get', 'getName', 'get_name', 'haskeys', 'insert', 'items', 'keys', 'pop', 'pprint', 'trios', 'values'] ['spam', 'eggs', 'foo', 'bar'] ['abc', 'def', 'ghi', 'ihg', 'fed', 'cba'] [['123', 456, ['789', 789]]] - trios: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'c', 'j', 'h', 'i', 'C', 'D', 'e', 'b', 'E', 'F', 'G', 'f', 'H', 'd', 'g', 'a', 'I', 'J'] ['A', 'B', 'c', 'j', 'h', 'i', 'C', 'D', 'e', 'b', 'E', 'F', 'G', 'f', 'H', 'd', 'g', 'a', 'I', 'J'] Pre-insert [[1, 2, 3], 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: dice [2]: ['rolled', 'first', 'try'] Post-insert [[1, 2, 3], 6, 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: 6 [2]: dice [3]: ['rolled', 'first', 'try'] [ 1,2,3,4,5,6 ] [['[', '1', '2', '3', '4', '5', '6', ']']] - LIST: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' [0]: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' "Golden Gate Bridge" 37.819722 -122.478611 height=746 span=4200 ['Golden Gate Bridge', [37.819722, -122.478611, ['height', 746], ['span', 4200]]] - data: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] - name: 'Golden Gate Bridge' [0]: Golden Gate Bridge [1]: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - startA: ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False [] [] [1, 2, 3, 4, 5] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 0 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 1 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 2 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 3 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 4 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 5 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 1 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 2 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 3 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 4 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 5 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 1 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 2 [['BABBAB']] [0]: ['BABBAB'] ........................Test pickle dump protocol 3 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 4 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 5 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 1 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 2 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 3 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 4 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 5 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 0 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] - name: ['BABBAB'] ParseResults(['test', 'blub'], {'word': 'blub'}) blub {'word': 'blub'} ParseResults(['test', 'blub'], {'word': ['test', 'blub']}) ['test', 'blub'] {'word': ['test', 'blub']} ['abc'] - A: 'abc' Raised expected exception: AttributeError: __xyz__ ['5', '4', '3', '2', '1'] {'spam', 'eggs'} not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] ParseResults([('A', 'Z')], {'Achar': ('A', 'Z')}) ('A', 'Z') ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) SELECT * from XYZZY, ABC ['select', '*', 'from', 'XYZZY', 'ABC', ''] 6 select * from SYS.XYZZY ['select', '*', 'from', 'SYS.XYZZY', ''] 5 Select A from Sys.dual ['select', 'A', 'from', 'SYS.DUAL', ''] 5 Select A,B,C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual, Table2 ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', 'TABLE2', ''] 8 Select A from Sys.dual where a in ('RED','GREEN','BLUE') ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')'] 12 Select A from Sys.dual where a in ('RED','GREEN','BLUE') and b in (10,20,30) ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')', 'and', 'B', 'in', '(', 10, 20, 30, ')'] 20 Select A,b from table1,table2 where table1.id eq table2.id -- test out comparison operators ['select', 'A', 'B', 'from', 'TABLE1', 'TABLE2', 'where', 'TABLE1.ID', 'eq', 'TABLE2.ID'] 10 Re:('[-+][0-9]+') correctly failed to match '1234 foo' Re:('[-+][0-9]+') correctly failed to match ' +foo' Re:('[0-9]+') correctly failed to match 'abc' Re:('[0-9]+') correctly failed to match '+123 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match 'foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '"foo bar\'' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '\'foo bar"' Re:('[-+][0-9]+') correctly matched ' +123' Re:('[-+][0-9]+') correctly matched '+123' Re:('[-+][0-9]+') correctly matched '+123 foo' Re:('[-+][0-9]+') correctly matched '-0 foo' Re:('[0-9]+') correctly matched '123 foo' Re:('[0-9]+') correctly matched '0 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched '"foo"' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched "'foo bar' baz" Re:('[A-Z]+') correctly failed to match 'blah' Re:('[A-Z]+') correctly matched 'BLAH' Re:('("(?P[^\"]*)")') correctly matched '"foo bar" baz' ['"zork"'] [('content', 'zork')] zork lets try an invalid RE successfully rejected an invalid RE: invalid pattern ('("[^"]*")|(\'[^\']*\'') passed to Regex Raised expected exception: ValueError: null string passed to Regex; use Empty() instead ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: ParseException: Missing one or more required elements ('and'), found ' ' (at char 4), (line:1, col:5) ['spam', 'and', 'eggs'] - first: 'spam' - second: 'eggs' Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['spam', 'eggs'] ['pre', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['abd', 'def', 'ghi', 'jkl'] ['abd', 'def', 'ghi', 'jkl'] Raised expected exception: TypeError: cannot multiply ParserElement and str objects Raised expected exception: TypeError: cannot multiply ParserElement and str objects ['spam', '11', '22'] - first: 'spam' - second: ['11', '22'] ['spam', '111', '222'] - first: 'spam' - second: ['111', '222'] ['spam'] - first: 'spam' ['spam', '12', '23', '34'] - first: 'spam' - second: ['12', '23', '34'] ['spam', '45'] - first: 'spam' - second: ['45'] ['spam', '100'] - first: 'spam' - second: ['100'] ['spam', '100', '200', '300'] - first: 'spam' - second: ['100', '200', '300'] ['spam', '1', '2'] - first: 'spam' - second: ['1', '2'] ['spam', '1', '2', '3'] - first: 'spam' - second: ['1', '2', '3'] Raised expected exception: ValueError: second tuple value must be greater or equal to first tuple value Raised expected exception: TypeError: cannot multiply ParserElement and (str,str) objects Raised expected exception: TypeError: cannot multiply ParserElement and (str,NoneType) objects Raised expected exception: TypeError: only 1 or 2 index arguments supported ((2, 3, 4)) ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement {{word {{word_1 word} ^ word}} ^ {word word word}} foo bar temp -> ['foo', 'bar', 'temp'] EXP: AAA..................................>>entering convert_to_int(line: '132', 0, ParseResults(['132'], {})) <>entering (line: '132', 0, ParseResults([132], {})) < (ret: 1320) >>entering Z(line: '132', 0, ParseResults([1320], {})) <] ('123', '456', 'lsdfkj') [('123', '456', 'lsdfkj')] Raised expected exception: TypeError: Regex may only be constructed with a string or a compiled RE object test sub with string This is the title: 'Richard III' test sub with re string

This is the main heading

This is the sub-heading

test sub with re string (Regex returns re.match)

This is the main heading

This is the sub-heading

test sub with callable that return str I want this in upcase: WHAT? WHAT? Raised expected exception: TypeError: cannot use sub() with a callable with Regex(asMatch=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) verify behavior with repeated tokens when packrat parsing is enabled skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization ['bam', 'boo'] ['boo', 'bam'] BD -> Expected {'A' | {'B' 'C'} | 'E'}, found 'D' (at char 1), (line:1, col:2) [1, 2, 3, 4, 6, 8, 9, 10, 16] [1, 2, 3, 4, 6, 8, 9, 10, 16] [11] [11] 1/2 eval: 0.5 1/0 [1, '/', 0] - denominator: 0 - numerator: 1 eval_fraction failed: ZeroDivisionError: division by zero True ['129.6.15.28', '129.6.15.29', '132.163.4.101', '132.163.4.102', '132.163.4.103'] [(ParseResults([], {}), 5, 6)] Before parsing with setBreak: False After parsing with setBreak: True a | b | c d | e | f {a | b | c | d | e | f} Forward: + | - term + | - term Forward: ?: term ?: term Forward: {a | b | c [{d | e | f : ...}]...} int [, int]... (len) int... nested () expression (, ) (, ) common HTML entity lsdjkf &'"&xyzzy; Raised expected exception: TypeError: parse actions must be callable ['A'] - Achar: 'A' verify behavior of setResultsName with OneOrMore and ZeroOrMore ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] Received expected exception: just one arg (at char 0), (line:1, col:1) ['some text /* comment with ; in */', ';', 'working'] ['some text /* comment with ; in */some other stuff', ';', 'working'] ['some text /* comment with ; in */', ';', 'working'] Raised expected exception: ParseException: Expected ';', found ' ' (at char 37), (line:1, col:38) Raised expected exception: Exception: use of `...` expression without following SkipTo target expression verify proper streamline logic {{{'A' 'B'} 'C'} 'D'} {'A' 'B' 'C' 'D'} ['123'] ['123'] ['123'] ['123'] ['123'] ['123'] Raised expected exception: ParseException: Expected W:(0-9), found ' ' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected '123', found ' ' (at char 0), (line:1, col:1) {StringStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\naaa' ['aaa'] {LineStart W:(a-e) StringEnd} ' aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\n aaa' ['aaa'] {AtLineStart:(W:(a-e)) StringEnd} ' aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 3), (line:1, col:4) {AtLineStart:(W:(a-e)) StringEnd} '\n aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 4), (line:2, col:4) garbage;DOB 10-10-2010;more garbage ID PARI12345678;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' ['ID', 'PARI12345678'] - id: 'PARI12345678' garbage;ID PARI12345678;more garbage DOB 10-10-2010;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['ID', 'PARI12345678'] - id: 'PARI12345678' ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;DOB 10-10-2010 ID: DOB:10-10-2010 INFO: ID: DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;ID PARI12345678;more garbage- I am cool ID:PARI12345678 DOB: INFO: I am cool ID:PARI12345678 DOB: INFO: I am cool ['ID', 'PARI12345678'] - id: 'PARI12345678' ['-', ' I am cool'] - info: ' I am cool' 00 11 22 aa FF 0a 0d 1a [0, 17, 34, 170, 255, 10, 13, 26] I wish to buy 12345 shares of Acme Industries (as a gift to my (ex)wife) I 12,345 Acme Industries asagifttomyexwife 1 1234567890 1:| 2:| 3:check aaa| 1 1234567890 1:| 2:| 3:CHECK aaa| 1 2 12345678901234567890 1: check aaa| 1 2 12345678901234567890 1: CHECK aaa| [['rint'], ['a100']] 1 1234567890 1: check| 1 1234567890 1: CHECK| Original: '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' Should match: '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' aaa 333 ['aaa', '333'] b 1 ['b', '1'] ababab 32123 ['ababab', '32123'] 123 [123] 456 [456] abc abc ^ ParseException: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.Or - {{integer}} FAIL: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4025, in parseImpl raise maxException 101222 101222 ['Καλημέρα', ',', 'κόσμε', '!'] .................[['şehir', 'İzmir'], ['ülke', 'Türkiye'], ['nüfus', 4279677]] - nüfus: 4279677 - ülke: 'Türkiye' - şehir: 'İzmir' [0]: ['şehir', 'İzmir'] [1]: ['ülke', 'Türkiye'] [2]: ['nüfus', 4279677] 碌.ἀזּओ퇎'凗Ӫܥโ夺ĜὫתּऔ룮¤焩Ԣ۩ฬ郤ďᾢִड짔&頽ѫڏภ傛üἐבॼ몝Ï䕸ӱ܇ส漘ðΡאָऀ쐒ú㷡щݤฝ媏<·֯ॷ헻E䩺фۺ็箷ĶῬשּׂऍ랙2蜪Шشฉ砛ěέ׆ण됨þ稐ꚋڋ๎� ["碌.ἀזּओ퇎'凗Ӫܥโ夺ĜὫתּऔ룮¤焩Ԣ۩ฬ郤ďᾢִड짔&頽ѫڏภ傛üἐבॼ몝Ï䕸ӱ܇ส漘ðΡאָऀ쐒ú㷡щݤฝ媏<·֯ॷ헻E䩺фۺ็箷ĶῬשּׂऍ랙2蜪Шشฉ砛ěέ׆ण됨þ稐ꚋڋ๎�"] [[10, 'print', 123, ';'], [20, 'print', 234, ';', 567, ';'], [30, 'print', 890]] [0]: [10, 'print', 123, ';'] [1]: [20, 'print', 234, ';', 567, ';'] [2]: [30, 'print', 890] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] [['abc', '\n'], ['abc', '\n'], ['abc']] [0]: ['abc', '\n'] [1]: ['abc', '\n'] [2]: ['abc'] [["'def'", '\n'], ["'def'", '\n'], ["'def'"]] [0]: ["'def'", '\n'] [1]: ["'def'", '\n'] [2]: ["'def'"] [[123, '\n'], [123, '\n'], [123]] [0]: [123, '\n'] [1]: [123, '\n'] [2]: [123] [[4.56, '\n'], [4.56, '\n'], [4.56]] [0]: [4.56, '\n'] [1]: [4.56, '\n'] [2]: [4.56] [['a_bc', '\n'], ['a_bc', '\n'], ['a_bc']] [0]: ['a_bc', '\n'] [1]: ['a_bc', '\n'] [2]: ['a_bc'] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] verify behavior of validate() Forward: Group:({'A' | : ...}) RecursiveGrammarException: [Forward: Group:({'A' | : ...}), Group:({'A' | : ...}), {'A' | Forward: Group:({'A' | : ...})}, Forward: Group:({'A' | : ...})] Forward: {['A'] : ...} RecursiveGrammarException: [Forward: {['A'] : ...}, {['A'] Forward: {['A'] : ...}}, Forward: {['A'] : ...}] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) make a ClassAsPAStarNew ('VUTSRQPONMLKJIHGFEDCBA', 17, ParseResults(['E'], {})) making a ClassAsPA1 ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] verify that using '<<' operator with a Forward raises a warning if there is a dangling '|' operator unsafe << and |, but diag not enabled, should not warn unsafe << and |, should warn unsafe << and |, should warn safe <<= and |, should not warn safe << and (|), should not warn [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['class', 'boo'], False, '8', '']] [0]: ['a', ['class', 'boo'], False, '8', ''] - class: 'boo' - empty: False - endA: '' - tag: 'a' - value: '8' [0]: a [1]: ['class', 'boo'] [2]: False [3]: 8 [4]: ABC DEF GHI [['D', 'G'], ['A'], ['C', 'F'], ['I'], ['E'], ['A', 'I']] JKL MNO PQR [['J', 'M', 'P'], [], ['L', 'R'], ['O'], [], ['O']] STU VWX YZ [['S', 'V'], ['Y'], ['X', 'Z'], ['U'], [], ['U', 'Y']] ABC DEF GHI JKL MNO PQR STU VWX YZ [['D', 'G', 'J', 'M', 'P', 'S', 'V'], ['A', 'Y'], ['C', 'F', 'L', 'R', 'X', 'Z'], ['I', 'O', 'U'], ['E'], ['A', 'I', 'O', 'U', 'Y']] [['Hello'], ['Mr'], ['Ed'], ["it's"], ['Wilbur']] ['ABCDEMNXYZABCDEMNXYZABCDEMNXYZ'] Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match '\\\]\\]\\]]]\]]\' -> True Testing escape char: \ -> W:([\) re: '[\[\\]+') Match '\[[\\[\[\[\[[\\[' -> True Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match ']]\\]\\\]\]\\\]\' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\VMFUAFMORGARBEAR' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\EXMSKSSPYRSJIZWA' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '^____^_______^^^' -> True Testing escape char: ^ -> W:(]^) re: '[\]\^]+') Match '^]^]^]]]]]]]]^]^' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '^_^__^_^^^____^_' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^CVUNWCBDNVDWWAYU' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^PKVUTTOZKUFOCGZN' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '-.----..-.-.....' -> True Testing escape char: - -> W:(,-) re: '[,\-]+') Match ',,,,--,-,,-,----' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '.-..-.-----.-.-.' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-SKMRZWVZGUBXBBBQ' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-ANDPGLUPXZAZOYGV' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']]]^^^^^^]]^]]^^' -> True Testing escape char: ] -> W:(\]) re: '[\\\]]+') Match '\\]\]\\]]\]]\\]]' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']]^^^]]^^^^]^^]^' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']FKPXNNBKDOAJCPIV' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']LORMYRJVHHRUNFWU' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '\\[\\[\\\[\\\\\\' -> True Testing escape char: [ -> W:(Z[) re: '[Z\[]+') Match '[[ZZ[Z[ZZZ[Z[Z[[' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '[[[\[[\\[\\[[[\\' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[ZGCMMTPVDJHHOMHG' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[FPCXTVBGQLJEBZAY' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '+*+++**+*+++++*+' -> True Testing escape char: * -> W:()*) re: '[)*]+') Match '***))))))*)***)*' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '*+***+*+++*+****' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*DNWZVFCCPPMHLNUH' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*AZCUTCENRTMDWSAQ' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match '+,,+,+,++,+,,,++' -> True Testing escape char: + -> W:(*+) re: '[*+]+') Match '+*++**++++++**++' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match ',,,,,,+,,,,,,,++' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+FABXUGOQIQQYOEMM' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+BVGHBOOXSZZJWWXW' -> True Testing escape char: . -> W:(./) re: '[./]+') Match '/./../..///.///.' -> True Testing escape char: . -> W:(-.) re: '[\-.]+') Match '---....-.-..-...' -> True Testing escape char: . -> W:(./) re: '[./]+') Match './//..//////././' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.FKBFLVENSMHHMGMN' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.NORFUQHVGMLWCIIA' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '@@@??@@@???@??@?' -> True Testing escape char: ? -> W:(>?) re: '[>?]+') Match '>?>>>?>?>???????' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') ....Match '@@??@?@@@?@@?@??' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?SRUCMAWMGQUMBWWY' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?TUQDXJCKAAZUETXG' -> True ['p', 'q', 'r', 'False'] Raised expected exception: ParseException: Expected {(A-Za-z) | True | False}, found 'abc' (at char 0), (line:1, col:1) {'A' W:(0-9)} ... {'A' W:(0-9)} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9)} ... {'A' W:(0-9){2,...}} ... {'A' W:(0-9){2,6}} ... W:(A, 0-9) A[0-9]* W:(A, 0-9) A[0-9]* W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9) A[0-9]* W:(A, 0-9){2,...} ... W:(A, 0-9){2,6} ... W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){2,...} ... W:(A-Za-z, 0-9){2,6} ... ..................... Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(Word()) if zero-length word is permitted Packrat enabled: True Packrat cache: _UnboundedCache None [[7], [9]] [[1, 4], [2, 4], [4, 3]] [[1, 4], [2, 4]] detected fatal condition ['balloon', '25'] - item: 'balloon' - qty: '25' ['rucksack', 49] - item: 'rucksack' - qty: 49 ['AAA', ' this line'] ['AAA', ' and this line'] [] [] d | aA | a | b | c d | Aa | a | b | c ['aA', 'aA', 'aA', 'aA'] ['Aa', 'Aa', 'Aa', 'Aa'] [[1, '?', 1, ':', 0, '?', 1, ':', 0]] [0]: [1, '?', 1, ':', 0, '?', 1, ':', 0] [[1, '?', 1, ':', [0, '?', 1, ':', 0]]] [0]: [1, '?', 1, ':', [0, '?', 1, ':', 0]] [0]: 1 [1]: ? [2]: 1 [3]: : [4]: [0, '?', 1, ':', 0] ['B', 'B', 'C', 'A', 'D'] ['B'] ['bcdfghjklmnpqrstvwxyz'] Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(CharsNotIn()) if zero-length char group is permitted ['bcdfg'] ['bcdfghjklm'] Raised expected exception: ParseException: Expected !W:(AEIOU), found end of text (at char 21), (line:1, col:22) ATCATCGAATGGA ['ATCATCGAATGGA'] - mismatches: [] - original: 'ATCATCGAATGGA' XTCATCGAATGGX ['XTCATCGAATGGX'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' ATCATCGAAXGGA ['ATCATCGAAXGGA'] - mismatches: [9] - original: 'ATCATCGAATGGA' ATCAXXGAATGGA ['ATCAXXGAATGGA'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' ATCAXXGAATGXA ATCAXXGAATGXA ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCAXXGAATGG ATCAXXGAATGG ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCATCGAATGGA match XTCATCGAATGGX match ATCATCGAAXGGA match ATCAXXGAATGGA match ATCAXXGAATGXA exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) ATCAXXGAATGG exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) atcatcgaatgga ['atcatcgaatgga'] - mismatches: [] - original: 'ATCATCGAATGGA' xtcatcgaatggx ['xtcatcgaatggx'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' atcatcgaaxgga ['atcatcgaaxgga'] - mismatches: [9] - original: 'ATCATCGAATGGA' atcaxxgaatgga ['atcaxxgaatgga'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' atcaxxgaatgxa atcaxxgaatgxa ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcaxxgaatgg atcaxxgaatgg ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcatcgaatgga match xtcatcgaatggx match atcatcgaaxgga match atcaxxgaatgga match atcaxxgaatgxa exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) atcaxxgaatgg exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) ['*', '*', '*', '*'] [' ', 'test'] - indent: ' ' - word: 'test' [' ', 'test'] - word: 'test' verify processing of C and HTML comments AA:BB:CC:DD:EE:FF ['AA:BB:CC:DD:EE:FF'] AA.BB.CC.DD.EE.FF ['AA.BB.CC.DD.EE.FF'] AA-BB-CC-DD-EE-FF ['AA-BB-CC-DD-EE-FF'] # mixed delimiters AA.BB:CC:DD:EE:FF AA.BB:CC:DD:EE:FF ^ ParseException: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) pyparsing.core.Regex - MAC address FAIL: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 0.0.0.0 ['0.0.0.0'] 1.1.1.1 ['1.1.1.1'] 127.0.0.1 ['127.0.0.1'] 1.10.100.199 ['1.10.100.199'] 255.255.255.255 ['255.255.255.255'] . # out of range value 256.255.255.255 256.255.255.255 ^ ParseException: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) pyparsing.core.Regex - IPv4 address FAIL: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ['2001:0db8:85a3:0000:0000:8a2e:0370:7334'] 2134::1234:4567:2468:1236:2444:2106 ['2134::1234:4567:2468:1236:2444:2106'] 0:0:0:0:0:0:A00:1 ['0:0:0:0:0:0:A00:1'] 1080::8:800:200C:417A ['1080::8:800:200C:417A'] ::A00:1 ['::A00:1'] # loopback address ::1 ['::1'] # the null address :: ['::'] # ipv4 compatibility form ::ffff:192.168.0.1 ['::ffff:192.168.0.1'] # too few values 1080:0:0:0:8:800:200C 1080:0:0:0:8:800:200C ^ ParseException: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) pyparsing.core.Combine - IPv6 address pyparsing.core.MatchFirst - IPv6 address pyparsing.core.And - full IPv6 address pyparsing.core.And - {':' hex_integer} pyparsing.core._SingleCharLiteral - ':' FAIL: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4136, in parseImpl raise maxException File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 819, in _parseNoCache raise ParseException(instring, len_instring, self.errmsg, self) # too many ::'s, only 1 allowed 2134::1234:4567::2444:2106 2134::1234:4567::2444:2106 ^ ParseException: Expected end of text, found ':' (at char 15), (line:1, col:16) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found ':' (at char 15), (line:1, col:16) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 100 [100] -100 [-100] +100 [100] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1e12 [1000000000000.0] -1e12 [-1000000000000.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 100 [100.0] -100 [-100.0] +100 [100.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1997 ['1997'] - day: None - month: None - year: '1997' 1997-07 ['1997-07'] - day: None - month: '07' - year: '1997' 1997-07-16 ['1997-07-16'] - day: '16' - month: '07' - year: '1997' 1997-07-16 [datetime.date(1997, 7, 16)] 1997-07-16T19:20+01:00 ['1997-07-16T19:20+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: None - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30+01:00 ['1997-07-16T19:20:30+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30' - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30.45Z ['1997-07-16T19:20:30.45Z'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: 'Z' - year: '1997' 1997-07-16 19:20:30.45 ['1997-07-16 19:20:30.45'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: None - year: '1997' 1997-07-16T19:20:30.45 [datetime.datetime(1997, 7, 16, 19, 20, 30, 450000)] 123e4567-e89b-12d3-a456-426655440000 ['123e4567-e89b-12d3-a456-426655440000'] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1 1/2 [1.5] 2 -15/16 [2.9375] 0 -3/-4 [-0.75] 12 [12] 100 [100] -3 [-3] 1.732 [1.732] -3.14159 [-3.14159] 6.02e23 [6.02e+23] http://foo.com/blah_blah ['http://foo.com/blah_blah'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah/ ['http://foo.com/blah_blah/'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah/' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia) ['http://foo.com/blah_blah_(wikipedia)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia)_(again) ['http://foo.com/blah_blah_(wikipedia)_(again)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)_(again)' - port: None - query: None - scheme: 'http' http://www.example.com/wpstyle/?p=364 ['http://www.example.com/wpstyle/?p=364'] - auth: None - fragment: None - host: 'www.example.com' - path: '/wpstyle/' - port: None - query: 'p=364' - scheme: 'http' https://www.example.com/foo/?bar=baz&inga=42&quux ['https://www.example.com/foo/?bar=baz&inga=42&quux'] - auth: None - fragment: None - host: 'www.example.com' - path: '/foo/' - port: None - query: 'bar=baz&inga=42&quux' - scheme: 'https' http://✪df.ws/123 ['http://✪df.ws/123'] - auth: None - fragment: None - host: '✪df.ws' - path: '/123' - port: None - query: None - scheme: 'http' http://userid:password@example.com:8080 ['http://userid:password@example.com:8080'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com:8080/ ['http://userid:password@example.com:8080/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid@example.com ['http://userid@example.com'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid@example.com/ ['http://userid@example.com/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://userid@example.com:8080 ['http://userid@example.com:8080'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid@example.com:8080/ ['http://userid@example.com:8080/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com ['http://userid:password@example.com'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid:password@example.com/ ['http://userid:password@example.com/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1/ ['http://142.42.1.1/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1:8080/ ['http://142.42.1.1:8080/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: '8080' - query: None - scheme: 'http' http://➡.ws/䨹 ['http://➡.ws/䨹'] - auth: None - fragment: None - host: '➡.ws' - path: '/䨹' - port: None - query: None - scheme: 'http' http://⌘.ws ['http://⌘.ws'] - auth: None - fragment: None - host: '⌘.ws' - path: None - port: None - query: None - scheme: 'http' http://⌘.ws/ ['http://⌘.ws/'] - auth: None - fragment: None - host: '⌘.ws' - path: '/' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)#cite-1 ['http://foo.com/blah_(wikipedia)#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)_blah#cite-1 ['http://foo.com/blah_(wikipedia)_blah#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)_blah' - port: None - query: None - scheme: 'http' http://foo.com/unicode_(✪)_in_parens ['http://foo.com/unicode_(✪)_in_parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/unicode_(✪)_in_parens' - port: None - query: None - scheme: 'http' http://foo.com/(something)?after=parens ['http://foo.com/(something)?after=parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/(something)' - port: None - query: 'after=parens' - scheme: 'http' http://☺.damowmow.com/ ['http://☺.damowmow.com/'] - auth: None - fragment: None - host: '☺.damowmow.com' - path: '/' - port: None - query: None - scheme: 'http' http://code.google.com/events/#&product=browser ['http://code.google.com/events/#&product=browser'] - auth: None - fragment: '&product=browser' - host: 'code.google.com' - path: '/events/' - port: None - query: None - scheme: 'http' http://j.mp ['http://j.mp'] - auth: None - fragment: None - host: 'j.mp' - path: None - port: None - query: None - scheme: 'http' ftp://foo.bar/baz ['ftp://foo.bar/baz'] - auth: None - fragment: None - host: 'foo.bar' - path: '/baz' - port: None - query: None - scheme: 'ftp' http://foo.bar/?q=Test%20URL-encoded%20stuff ['http://foo.bar/?q=Test%20URL-encoded%20stuff'] - auth: None - fragment: None - host: 'foo.bar' - path: '/' - port: None - query: 'q=Test%20URL-encoded%20stuff' - scheme: 'http' http://مثال.إختبار ['http://مثال.إختبار'] - auth: None - fragment: None - host: 'مثال.إختبار' - path: None - port: None - query: None - scheme: 'http' http:// http:// ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://. http://. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.. http://.. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://../ http://../ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://? http://? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://?? http://?? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://??/ http://??/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://# http://# ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://## http://## ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://##/ http://##/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://foo.bar?q=Spaces should be encoded // // ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) //a //a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ///a ///a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) /// /// ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:///a http:///a ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) foo.com foo.com ^ ParseException: Expected url, found 'foo' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'foo' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) rdar://1234 rdar://1234 ^ ParseException: Expected url, found 'rdar' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'rdar' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) h://test h://test ^ ParseException: Expected url, found 'h' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'h' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:// shouldfail.com http:// shouldfail.com ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) :// should fail :// should fail ^ ParseException: Expected url, found ':' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found ':' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://foo.bar/foo(bar)baz quux http://foo.bar/foo(bar)baz quux ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ftps://foo.bar/ ftps://foo.bar/ ^ ParseException: Expected url, found 'ftps' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'ftps' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://-error-.invalid/ http://-error-.invalid/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://a.b--c.de/ http://-a.b.co http://-a.b.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://a.b-.co http://a.b-.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://0.0.0.0 http://0.0.0.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.0 http://10.1.1.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ..... http://10.1.1.255 http://10.1.1.255 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://224.1.1.1 http://224.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://1.1.1.1.1 http://1.1.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://123.123.123 http://123.123.123 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://3628126748 http://3628126748 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.www.foo.bar/ http://.www.foo.bar/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://www.foo.bar./ http://.www.foo.bar./ http://.www.foo.bar./ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.1 http://10.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ['https://bob:secret@www.example.com:8080/path/to/resource?filter=int#book-mark'] - auth: 'bob:secret' - fragment: 'book-mark' - host: 'www.example.com' - path: '/path/to/resource' - port: '8080' - query: 'filter=int' - scheme: 'https' Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%d', found '1997' (at char 0), (line:1, col:1) Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%dT%H:%M:%S.%f', found '1997' (at char 0), (line:1, col:1) 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3.............. [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] B 5 7 F 0 1 2 3 4 5 _ C 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 5 string input item1 item2 item3 item4 item5 0 int user 2 int file 3 8 [['item1', 'item2', 'item3', 'item4', 'item5'], [], ['3', '8']] [0]: ['item1', 'item2', 'item3', 'item4', 'item5'] - count: 5 - items: ['item1', 'item2', 'item3', 'item4', 'item5'] - source: 'input' - type: 'string' [1]: [] - count: 0 - items: [] - source: 'user' - type: 'int' [2]: ['3', '8'] - count: 2 - items: ['3', '8'] - source: 'file' - type: 'int' type = '' source = '' ['True', 'True', 'False'] - items: ['True', 'True', 'False'] - type: 'bool' verify non-fatal usage of Literal("") Raised expected exception: ValueError: null string passed to Literal; use Empty() instead sdlfjs :sdf\:jls::djf: sl:kfsjf sdlfjs -sdf\:jls::--djf: sl-kfsjf sdlfjs -sdf\:::jls::--djf: sl:::-kfsjf sdlfjs ^sdf\:jls^^--djf^ sl-kfsjf sdlfjs ^^^==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf^^^ colonQuotes :(?:(?:::)|(?:\\.)|(?:[^:\n\r\\]))*: [['sdf:jls:djf'], ['jls:--djf'], [':jls:--djf'], [''], ['j=lz:--djf'], ['j=ls:--djf']] sdf:jls:djf sdf:jls:djf dashQuotes \-(?:(?:\-\-)|(?:\\.)|(?:[^\-\n\r\\]))*\- [['sdf:jls::-djf: sl'], ['sdf:::jls::-djf: sl:::'], [''], [''], ['']] sdf:jls::-djf: sl sdf:jls::-djf: sl hatQuotes \^(?:(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls'], ['--djf'], [''], ['==sdf:j=lz::--djf: sl='], ['']] sdf:jls sdf:jls hatQuotes1 \^(?:(?:\^\^)|(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls^--djf'], ['^==sdf:j=lz::--djf: sl='], ['']] sdf:jls^--djf sdf:jls^--djf dblEqQuotes ==(?:(?:\\.)|(?:(?:=(?!=)))|(?:[^=\n\r\\]))*== [['sdf:j=ls::--djf: sl']] sdf:j=ls::--djf: sl sdf:j=ls::--djf: sl ::: quotes :::(?:(?:(?:::(?!:))|(?::(?!::)))|(?:[^:\n\r]))*::: [['jls::--djf: sl']] jls::--djf: sl jls::--djf: sl ==-- quotes ==(?:(?:(?:\-(?!\-)))|(?:[^\-\n\r]))*\-\- [['sdf\\:j=lz::'], ['sdf\\:j=ls::']] sdf\:j=lz:: sdf\:j=lz:: ^^^ multiline quotes \^\^\^(?:(?:(?:\^\^(?!\^))|(?:\^(?!\^\^)))|(?:[^\^]))*\^\^\^ [['==sdf\\:j=lz::--djf: sl=^^=kfsjf\n sdlfjs ==sdf\\:j=ls::--djf: sl==kfsjf']] ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf Raised expected exception: ValueError: quote_char cannot be the empty string \.\[(?:(?:(?:\](?!\.)))|(?:[^\]\n\r]))*\]\. ['...'] [''] [']'] [']]'] \+\*(?:(?:(?:\*(?!\+)))|(?:[^*\n\r]))*\*\+ ['...'] [''] ['*'] ['**'] \*/(?:(?:(?:/(?!\*)))|(?:[^/\n\r]))*/\* ['...'] [''] ['/'] ['//'] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ValueError: min must be greater than 0 Raised expected exception: ValueError: max must be greater than, or equal to min Raised expected exception: ParseException: Expected ',', found end of text (at char 12), (line:1, col:13) 'ABC' [, 'ABC']... ['ABC', 'ABC'] 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] {'True' | 'true' | 'False' | 'false'} [, {'True' | 'true' | 'False' | 'false'}]... bool bool bool bool bool [, bool]... 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] ['bar', 'foo'] - one: 'foo' - two: 'bar' options(100) step(A) options(100) step(A) ^ ParseSyntaxException: Expected integer, found 'A' (at char 18), (line:1, col:19) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 18), (line:1, col:19) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal step(A) options(100) step(A) options(100) ^ ParseSyntaxException: Expected integer, found 'A' (at char 5), (line:1, col:6) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(100A) options(100) step(100A) ^ ParseSyntaxException: Expected 'Z', found 'A' (at char 21), (line:1, col:22) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected 'Z', found 'A' (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(22) step(100ZA) options(100) step(22) step(100ZA) ^ ParseSyntaxException: Expected ')', found 'A' (at char 31), (line:1, col:32) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected ')', found 'A' (at char 31), (line:1, col:32) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {{word}... num} pyparsing.core.OneOrMore - {word}... pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 9), (line:1, col:10) pyparsing.core.And - {[word [word [word]]] num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 9), (line:1, col:10) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) cc dd 123 ['cc', 'dd', '123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'cc' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'cc' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ...... bb cc dd 123 bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1,1 ['a', [1, 1]] - label: 'a' - points: [[1, 1]] [0]: [1, 1] - x: 1 - y: 1 [0]: a [1]: [1, 1] - x: 1 - y: 1 b 1,1 2,2 3,3 ['b', [1, 1], [2, 2], [3, 3]] - label: 'b' - points: [[1, 1], [2, 2], [3, 3]] [0]: [1, 1] - x: 1 - y: 1 [1]: [2, 2] - x: 2 - y: 2 [2]: [3, 3] - x: 3 - y: 3 [0]: b [1]: [1, 1] - x: 1 - y: 1 [2]: [2, 2] - x: 2 - y: 2 [3]: [3, 3] - x: 3 - y: 3 c ['c'] - label: 'c' - points: [] [['a', '10'], ['b', '20']] - a: '10' - b: '20' [0]: ['a', '10'] [1]: ['b', '20'] ^ ParseException: Expected W:(A-Za-z) (at char 0), (line:1, col:1) pyparsing.core.Dict - Dict:({Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}...) pyparsing.core.OneOrMore - {Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}... pyparsing.core.Group - Group:({W:(A-Za-z) Suppress:('=') W:(0-9)}) pyparsing.core.And - {W:(A-Za-z) Suppress:('=') W:(0-9)} pyparsing.core._WordRegex - W:(A-Za-z) testing empty And testing empty Or testing empty MatchFirst testing empty Each Match [{integer | W:(0-9A-Za-z)}]... at loc 0(1,1) 123 A100 ^ Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Matched [{integer | W:(0-9A-Za-z)}]... -> [123, 'A100'] Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Match integer at loc 0(1,1) 1 2 3 ^ Matched integer -> ['1'] Match integer at loc 2(1,3) 1 2 3 ^ Matched integer -> ['2'] Match integer at loc 4(1,5) 1 2 3 ^ Matched integer -> ['3'] Match integer at loc 5(1,6) 1 2 3 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 5), (line:1, col:6) Packrat status: enabled ..............Match Z at loc 0(1,1) aba ^ Match Z failed, ParseException raised: Expected Z, found 'aba' (at char 0), (line:1, col:1) Match leading_a at loc 0(1,1) aba ^ Match A at loc 0(1,1) aba ^ Matched A -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Matched leading_a -> ['a'] *Match Z at loc 1(1,2) aba ^ *Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match leading_a at loc 1(1,2) aba ^ Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match leading_a failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) *Match B at loc 1(1,2) aba ^ *Matched B -> ['b'] Match Z at loc 2(1,3) aba ^ Match Z failed, ParseException raised: Expected Z, found 'a' (at char 2), (line:1, col:3) Match leading_a at loc 2(1,3) aba ^ Match A at loc 2(1,3) aba ^ Matched A -> ['a'] Match Z at loc 3(1,4) aba ^ Match Z failed, ParseException raised: Expected Z, found end of text (at char 3), (line:1, col:4) Match A at loc 3(1,4) aba ^ Match A failed, ParseException raised: Expected A, found end of text (at char 3), (line:1, col:4) Match B at loc 3(1,4) aba ^ Match B failed, ParseException raised: Expected B, found end of text (at char 3), (line:1, col:4) Match leading_a failed, ParseException raised: Expected {Z | A | B}, found end of text (at char 3), (line:1, col:4) Match B at loc 2(1,3) aba ^ Match B failed, ParseException raised: Expected B, found 'a' (at char 2), (line:1, col:3) {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': False, 'warn_name_set_on_empty_Forward': False, 'warn_on_assignment_to_Forward': False, 'warn_on_match_first_with_lshift_operator': False, 'warn_on_multiple_string_args_to_oneof': False, 'warn_on_parse_using_empty_Forward': False, 'warn_ungrouped_named_tokens_in_collection': False} {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': True, 'warn_name_set_on_empty_Forward': True, 'warn_on_assignment_to_Forward': True, 'warn_on_match_first_with_lshift_operator': True, 'warn_on_multiple_string_args_to_oneof': True, 'warn_on_parse_using_empty_Forward': True, 'warn_ungrouped_named_tokens_in_collection': True} TypeError: descriptor 'upper' for 'str' objects doesn't apply to a 'int' object tests.test_unit.Test08_WithUnboundedPackrat pyparsing.core._WordRegex - integer tests.test_unit.Modifier pyparsing.results.ParseResults 123 355 ^ ParseException: Expected word, found '355' (at char 4), (line:1, col:5) 123 355 (test using ErrorStop) ^ ParseSyntaxException: Expected word, found '355' (at char 4), (line:1, col:5) tests.test_unit.Test08_WithUnboundedPackrat pyparsing.core.And - {int - word} A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test08_WithUnboundedPackrat pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int test does local memoization enable/disable during test [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [' z=1000', 'b("; in quotes")', 'c=200', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', '', '', 'y += x', 'return y'], [' this_semi_does_nothing()', ';', ''], [' neither_does_this_but_there_are_spaces_afterward()', ';', ''], [' a = "a;b"', ';', 'return a # this is a comment; it has a semicolon!'], [' z=1000', ';', 'b("; in quotes")', ';', 'c=200', ';', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', ';', 'b = 11', ';', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', ';', 'return x # so; does; this; one'], [' x = 15', ';', '', ';', '', ';', 'y += x', ';', 'return y'], [''], [' def main():'], [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [''], [' def b():'], [' if False:'], [' z=1000', 'b("; in quotes"); c=200;return z'], [" return ';'"], [''], [' class Foo(object):'], [' def bar(self):'], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11; c = 12'], [''], [' # this comment; has several; semicolons'], [' if self.spam:'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', ';; y += x; return y'], [''], [' def baz(self):'], [' return self.bar'], [' '], W:(0-9) W:(0-9){3} W:(0-9){2,...} W:(0-9){1,3} W:(0-9){2,3} (0-9) ['balloon'] - item: 'balloon' - qty: 99 verify behavior of getName() ['XXX', ['b'], ['bb'], ['a'], ['bbb'], ['bbbb'], ['aa'], ['bbbbb'], [':', 'c'], ['bbbbbb'], ['aaa']] [0]: XXX [1]: ['b'] - B: 'b' [2]: ['bb'] - B: 'bb' [3]: ['a'] - A: 'a' [4]: ['bbb'] - B: 'bbb' [5]: ['bbbb'] - B: 'bbbb' [6]: ['aa'] - A: 'aa' [7]: ['bbbbb'] - B: 'bbbbb' [8]: [':', 'c'] - C: 'c' [9]: ['bbbbbb'] - B: 'bbbbbb' [10]: ['aaa'] - A: 'aaa' XXX 'XXX' ['b'] ParseResults(['b'], {'B': 'b'}) ['bb'] ParseResults(['bb'], {'B': 'bb'}) ['a'] ParseResults(['a'], {'A': 'a'}) ['bbb'] ParseResults(['bbb'], {'B': 'bbb'}) ['bbbb'] ParseResults(['bbbb'], {'B': 'bbbb'}) ['aa'] ParseResults(['aa'], {'A': 'aa'}) ['bbbbb'] ParseResults(['bbbbb'], {'B': 'bbbbb'}) [':', 'c'] ParseResults([':', 'c'], {'C': 'c'}) ['bbbbbb'] ParseResults(['bbbbbb'], {'B': 'bbbbbb'}) ['aaa'] ParseResults(['aaa'], {'A': 'aaa'}) XXX b bb a bbb bbbb aa bbbbb :c bbbbbb aaa [None, 'B', 'B', 'A', 'B', 'B', 'A', 'B', None, 'B', 'A'] ['lsjd'] non-key ['sldkjf'] non-key ['IF'] non-key ['Saslkj'] non-key ['AND'] non-key ['lsdjf'] non-key verify behavior of ParseResults.get() ['b', 'bb', 'a', 'bbb', 'bbbb', 'aa', 'bbbbb', ':', 'c', 'bbbbbb', 'aaa'] - A: 'aaa' - B: 'bbbbbb' - C: 'c' aaa !D ['11.11.13', 'useless . useless,21 useless 2 | ', 14.21, ' | asmdakldm'] ['21.12.12', 'fmpaosmfpoamsp 4 | ', 41, ' | ajfa9si90'] Raised expected exception: ParseException: Expected number, found 'useless' (at char 32), (line:1, col:33) Raised expected exception: ParseException: Expected number, found 'fmpaosmfpoamsp' (at char 32), (line:1, col:33) [["'string1'", "'string2'"]] [['string1', 'strin""g2']] [['"string1"', '"strin""g2"'], ["'string1'", "'string2'"]] [['string1', 'strin"g2']] [['string1', 'string2']] [['string1', 'string2']] [['string1', 'string2']] ["'ms1'", '1', '0', "'2009-12-22'", "'2009-12-22 10:41:22'"] This & that 2 > 1 0 < 1 Don't get excited! I said "Don't get excited!" Copyright © 2021 Dot ⟶ ˙ ['I', 'totally', 'love', 'pickles'] a = 100 b = 101 c = c1 = 200 c2 = c21 = 999 c3 = 'A horse, a horse, my kingdom for a horse' d = 505 ......[['a', 100], ['b', 101], ['c', ['c1', 200], ['c2', ['c21', 999]]], ['c3', 'A horse, a horse, my kingdom for a horse'], ['d', 505]] - a: 100 - b: 101 - c: [['c1', 200], ['c2', ['c21', 999]]] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] [0]: ['c1', 200] [1]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' - d: 505 [0]: ['a', 100] [1]: ['b', 101] [2]: ['c', ['c1', 200], ['c2', ['c21', 999]]] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] [0]: c [1]: ['c1', 200] [2]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [3]: ['c3', 'A horse, a horse, my kingdom for a horse'] [4]: ['d', 505] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [200, 201]] [0]: B [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 3 123456789012345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] using searchString [[['A', [100, 101, 102]]], [['B', [['b', [200, 201]]]]], [['C', [300]]]] [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] using parseString [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] test good indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.1.2| 5: 2.| [['1.', ['1.1', ['1.1.1', '1.1.2']], '2.']] test bad indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 78), (line:4, col:18) 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 76), (line:4, col:16) [['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], 'B', ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], 'C', 'D', ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] [0]: ['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]] [0]: def [1]: A [2]: ['(', 'z', ')'] [3]: : [4]: [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']] [0]: ['A1'] [1]: [['B', '=', '100']] [0]: ['B', '=', '100'] [2]: [['G', '=', 'A2']] [0]: ['G', '=', 'A2'] [3]: ['A2'] [4]: ['A3'] [1]: B [2]: ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]] [0]: def [1]: BB [2]: ['(', 'a', 'b', 'c', ')'] [3]: : [4]: [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]] [0]: ['BB1'] [1]: [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]] [0]: ['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]] [0]: def [1]: BBA [2]: ['(', ')'] [3]: : [4]: [['bba1'], ['bba2'], ['bba3']] [0]: ['bba1'] [1]: ['bba2'] [2]: ['bba3'] [3]: C [4]: D [5]: ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]] [0]: def [1]: spam [2]: ['(', 'x', 'y', ')'] [3]: : [4]: [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]] [0]: [['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]] [0]: ['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]] [0]: def [1]: eggs [2]: ['(', 'z', ')'] [3]: : [4]: [['pass']] [0]: ['pass'] Parsing 'one0'... Parsing 'four0'... Parsing 'one1'... Parsing 'four1'... extra: [test] one0: two (three) four0: five (seven) extra: [test] one1: two (three) four1: five (seven) ['extra', [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]], 'extra', [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]]] [0]: extra [1]: [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]] [0]: ['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]] [0]: test [1]: [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]] [0]: ['one0', [['two', 'three']]] [0]: one0 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four0', [['five', 'seven']]] [0]: four0 [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]] [0]: ['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]] [0]: test [1]: [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]] [0]: ['one1', [['two', 'three']]] [0]: one1 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four1', [['five', 'seven']]] [0]: four1 [1]: [['five', 'seven']] [0]: ['five', 'seven'] Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'eight'... Parsing 'eleven'... Parsing 'fourteen'... Parsing 'seventeen'... .......... extra: [test] one: two (three) four: five (seven) extra: [test] one: two (three) four: five (seven) [test] one: two (three) four: five (seven) [test] eight: nine (ten) eleven: twelve (thirteen) fourteen: fifteen (sixteen) seventeen: eighteen (nineteen) ['extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]], 'extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]]] [0]: extra [1]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [1]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]] [0]: test [1]: [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]] [0]: ['eight', [['nine', 'ten']]] [0]: eight [1]: [['nine', 'ten']] [0]: ['nine', 'ten'] [1]: ['eleven', [['twelve', 'thirteen']]] [0]: eleven [1]: [['twelve', 'thirteen']] [0]: ['twelve', 'thirteen'] [2]: ['fourteen', [['fifteen', 'sixteen']]] [0]: fourteen [1]: [['fifteen', 'sixteen']] [0]: ['fifteen', 'sixteen'] [3]: ['seventeen', [['eighteen', 'nineteen']]] [0]: seventeen [1]: [['eighteen', 'nineteen']] [0]: ['eighteen', 'nineteen'] [[9, '+', 2, '+', 3]] [0]: [9, '+', 2, '+', 3] [[9, '+', [2, '*', 3]]] [0]: [9, '+', [2, '*', 3]] [0]: 9 [1]: + [2]: [2, '*', 3] [[[9, '+', 2], '*', 3]] [0]: [[9, '+', 2], '*', 3] [0]: [9, '+', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', 3]] [0]: [[9, '+', ['-', 2]], '*', 3] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', ['-', 2]]], '*', 3]] [0]: [[9, '+', ['-', ['-', 2]]], '*', 3] [0]: [9, '+', ['-', ['-', 2]]] [0]: 9 [1]: + [2]: ['-', ['-', 2]] [0]: - [1]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [[9, '!'], '+', ['-', 2]] [0]: [9, '!'] [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[['M', '*', 'X'], '+', 'B']] [0]: [['M', '*', 'X'], '+', 'B'] [0]: ['M', '*', 'X'] [1]: + [2]: B [['M', '*', ['X', '+', 'B']]] [0]: ['M', '*', ['X', '+', 'B']] [0]: M [1]: * [2]: ['X', '+', 'B'] [[1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]]] [0]: [1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]] [0]: 1 [1]: + [2]: [2, '*', ['-', [3, '^', 4]], '*', 5] [0]: 2 [1]: * [2]: ['-', [3, '^', 4]] [0]: - [1]: [3, '^', 4] [3]: * [4]: 5 [3]: + [4]: ['-', ['+', ['-', 6]]] [0]: - [1]: ['+', ['-', 6]] [0]: + [1]: ['-', 6] [[3, '!', '!']] [0]: [3, '!', '!'] p = True q = False r = True p and not q (p & ~q) = True not not p ~~p = True not(p and q) ~(p & q) = True q or not p and r (q | (~p & r)) = False q or not p or not r (q | ~p | ~r) = False q or not (p and r) (q | ~(p & r)) = False p or q or r (p | q | r) = True p or q or r and False (p | q | (r & False)) = True (p or q or r) and False ((p | q | r) & False) = False Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must indicate right or left associativity evaluate_int 9 '9' => [9] (count=1) [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', ['<', [2, '+', 11], '>']]] [0]: [3, '+', ['<', [2, '+', 11], '>']] [0]: 3 [1]: + [2]: ['<', [2, '+', 11], '>'] [0]: < [1]: [2, '+', 11] [2]: > [[3, '+', ['<<', [2, '+', 11], '>>']]] [0]: [3, '+', ['<<', [2, '+', 11], '>>']] [0]: 3 [1]: + [2]: ['<<', [2, '+', 11], '>>'] [0]: << [1]: [2, '+', 11] [2]: >> [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 bar = foo [['bar', '=', 'foo']] bar = foo & baz = fee ['&', [['bar', '=', 'foo'], ['baz', '=', 'fee']]] ['SELECT', 'color', 'FROM', 'colors'] ['SELECT', 'color', 'FROM', 'colors'] .....['1999', '/', '12', '/', '31'] - day: '31' - month: '12' - year: '1999' ['1999', '12', '31'] - day: '31' - month: '12' - year: '1999' Raised expected exception: ValueError: no such diagnostic 'xyzzy' ['testA', 'testB', 'testC'] =? ['testA', 'testB', 'testC'] ['testC'] =? ['testC'] 'testB\ntestC\n' =? 'testB\ntestC\n' ['testD', 'testE', 'testF'] =? ['testD', 'testE', 'testF'] ['testF'] =? ['testF'] 'testE\ntestF' =? 'testE\ntestF' ['a'] =? ['a'] ['a'] =? ['a'] '' =? '' 0 'aaa' 1 '\naaa' Raised expected exception: ParseException: Expected Re:('a+'), found '\' (at char 0), (line:1, col:1) 2 'a\naa' Raised expected exception: ParseException: Expected end of text, found '\' (at char 1), (line:1, col:2) 3 'aaa\n' Raised expected exception: ParseException: Expected end of text, found '\' (at char 3), (line:1, col:4) verify correct line() behavior when first line is empty string {W:(A) - LineStart W:(B)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) no \n in default whitespace chars {W:(A) - LineStart W:(B)} AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 3), (line:1, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) .................. AAA BBB AAA BBB ^ ParseSyntaxException: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) 1 1234567890 1:AAA 1| 2:AAA 2| 3:| 4: AAA| 5:| 6:B AAA| 7:| normal parsing 0 3 1 AAA 1 ParseResults(['AAA'], {}) 6 9 2 AAA 2 ParseResults(['AAA'], {}) 12 18 3 ParseResults(['AAA'], {}) parsing without \n in whitespace chars 0 3 1 AAA 1 'A' 6 9 2 AAA 2 'A' 13 18 4 AAA ' ' 1 1234567890 1:| 2:a| 3: b| 4: c| 5:d| 6:e| 7: f| 8: g| [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [[['a']], [['b']], [['c']], [['d']], [['e']], [['f']], [['g']]] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] Literal Expected 'xyz', found end of text (at char 1), (line:1, col:2) CaselessLiteral Expected 'XYZ', found end of text (at char 1), (line:1, col:2) Keyword Expected Keyword 'xyz', found end of text (at char 1), (line:1, col:2) CaselessKeyword Expected CaselessKeyword 'xyz', found end of text (at char 1), (line:1, col:2) Word Expected W:(xyz), found end of text (at char 1), (line:1, col:2) Regex Expected Re:('xyz'), found end of text (at char 1), (line:1, col:2) 1 start 2 {integer 'start' integer} [1, 'start', 2] {integer 'start' integer} [1, 'start', 2] {integer 'START' integer} [1, 'START', 2] {integer word integer} [1, 'start', 2] 3 start4 {integer 'start' integer} [3, 'start', 4] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected word, found 'start4' (at char 2), (line:1, col:3) 5start 6 [5, 'start', 6] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected CaselessKeyword 'START', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected word, found 'start' (at char 1), (line:1, col:2) [28, 'ID', 'PARI12345678', 43] - id: 'PARI12345678' - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [[28, ['ID', 'PARI12345678'], 43]] - loc: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0]: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0, ['ljsdf'], 5] ['ljsdf'] [8, ['lksdjjf'], 15] ['lksdjjf'] [18, ['lkkjj'], 23] ['lkkjj'] ['body', False, 'Hello', ''] - contents: 'Hello' - empty: False - endBody: '' - startBody: ['body', False] - empty: False - tag: 'body' - tag: 'body' DOB >!<100-10-2010;more garbage verify MatchFirst iterates properly ['A', 'A', '3', 'A'] Raised expected exception: ParseException: matched token not at column 1, found '3' (at char 4), (line:1, col:5) ABC ^ ParseException: Expected W:(0-9), found 'ABC' (at char 0), (line:1, col:1) tests.test_unit.Test08_WithUnboundedPackrat pyparsing.core._WordRegex - W:(0-9) ['A'] - Achar: 'A' Raised expected exception: ValueError: cannot multiply ParserElement by negative value {'username': 'goat', 'errors': {'username': ['already taken', 'too short']}, 'empty_field': ''} Test defaults: [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default opener [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Literal expressions for opener and closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Use ignore expression (1) [['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello,', 'world!"']] [0]: ['greeting', '"Hello,', 'world!"'] [2]: ;;(foo bar [3]: ['display', 'greeting'] Use ignore expression (2) [['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello, )world!"']] [0]: ['greeting', '"Hello, )world!"'] [2]: ;; [3]: (foo bar [4]: ['display', 'greeting'] Raised expected exception: ValueError: opening and closing strings cannot be the same Raised expected exception: ValueError: opening and closing arguments must be strings if no content expression is given ['aName', ['outer', ["'inner with opener {{ and closer }} in quoted string'"]]] [0]: aName [1]: ['outer', ["'inner with opener {{ and closer }} in quoted string'"]] [0]: outer [1]: ["'inner with opener {{ and closer }} in quoted string'"] ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' 9413 tests produced real number PASS valid tests (321) real number with scientific notation PASS valid tests (2319) signed integer PASS valid tests (153) real number PASS invalid tests (2213) real number with scientific notation PASS invalid tests (6587) .........................signed integer PASS invalid tests (9260) # literal oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] abc ['a', 'b', 'c'] # keyword oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] # keyword oneOf failure tests abc abc ^ ParseException: Expected end of text, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) verify oneOf handles duplicate symbols verify oneOf handles generator input verify oneOf handles list input verify oneOf handles set input Raised expected exception: TypeError: Invalid argument to one_of, expected string or iterable ['XXX Y/123', '1,234.567890'] - data: '1,234.567890' - id: 'XXX Y/123' ['0', '123', '321', 444] Raised expected exception: ParseException: OnlyOnce obj called multiple times w/out reset, found '1' (at char 0), (line:1, col:1) ['100', '200', '300', 600] verify handling of Optional's beyond the end of string Tal Weiss Major Tal Major Weiss Major Major Major Tal Major Weiss Major Tal Weiss ['foo'] - foo: ['foo'] ['bar', 'foo', 'bar', 'foo', 'bar', 'foo'] - bar: ['bar', 'bar', 'bar'] - foo: ['foo', 'foo', 'foo'] Raised expected exception: ParseException: Missing one or more required elements ('foo'), found 'bar' (at char 1), (line:1, col:2) 1999-12-31 100 2001-01-01 [['1999-12-31'], 100, ['2001-01-01']] - date: [['1999-12-31'], ['2001-01-01']] [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' - id: 100 [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: 100 [2]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' 42 [42] - id: 42 verify Optional's do not cause match failure if have results name _images/cal.png:77_ ['alt', 'empty', 'height', 'src', 'startImg', 'tag', 'width'] ['int', 'f', '(', ')', '{}'] ['DO', ['Z']] [244, 23, 13, 2343] - int_values: [244, 23, 13, 2343] - total: 2623 ### before parse action is added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' ### after parse action was added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])]] [0]: ['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])] 'AAAAA' parseAll=False (shouldSucceed=True) 'AAAAA' parseAll=True (shouldSucceed=True) 'AAABB' parseAll=False (shouldSucceed=True) 'AAABB' parseAll=True (shouldSucceed=False) AAABB ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test08_WithUnboundedPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd 'AAAAA //blah' parseAll=False (shouldSucceed=True) 'AAAAA //blah' parseAll=True (shouldSucceed=True) 'AAABB //blah' parseAll=False (shouldSucceed=True) 'AAABB //blah' parseAll=True (shouldSucceed=False) AAABB //blah ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test08_WithUnboundedPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd '00aab' parseAll=False (shouldSucceed=True) '00aab' parseAll=True (shouldSucceed=True) '00aaf' parseAll=False (shouldSucceed=True) '00aaf' parseAll=True (shouldSucceed=False) 00aaf ^ ParseException: Expected end of text, found 'f' (at char 4), (line:1, col:5) tests.test_unit.Test08_WithUnboundedPackrat pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd Parsing: 'a,b,c,100.2,,3' -> ['a', 'b', 'c', '100.2', '', '3'] Parsing: 'd, e, j k , m ' -> ['d', 'e', 'j k', 'm'] Parsing: "'Hello, World', f, g , , 5.1,x" -> ["'Hello, World'", 'f', 'g', '', '5.1', 'x'] Parsing: 'John Doe, 123 Main St., Cleveland, Ohio' -> ['John Doe', '123 Main St.', 'Cleveland', 'Ohio'] Parsing: 'Jane Doe, 456 St. James St., Los Angeles , California ' -> ['Jane Doe', '456 St. James St.', 'Los Angeles', 'California'] Parsing tests/karthik.ini ... 23 ['users'] users.K 8 8 users.mod_scheme 'QPSK' 'QPSK' users.Na K+2 K+2 OK Parsing examples/Setup.ini ... 125 ['Startup', 'Languages', 'test'] Startup.audioinf M3i M3i Languages.key1 0x0003 0x0003 test.foo bar bar OK Constructing EBNF parser with pyparsing... Parsing EBNF grammar with EBNF parser... - terminal_string - meta_identifier - integer - syntax - syntax_rule - definitions_list - single_definition - syntactic_term - syntactic_factor - syntactic_primary - optional_sequence - repeated_sequence - grouped_sequence Parsing EBNF grammar with generated EBNF parser... [['syntax', '=', '(', 'syntax_rule', ')', ',', '{', '(', 'syntax_rule', ')', '}', ';'], ['syntax_rule', '=', 'meta_identifier', ',', "'='", ',', 'definitions_list', ',', "';'", ';'], ['definitions_list', '=', 'single_definition', ',', '{', "'|'", ',', 'single_definition', '}', ';'], ['single_definition', '=', 'syntactic_term', ',', '{', "','", ',', 'syntactic_term', '}', ';'], ['syntactic_term', '=', 'syntactic_factor', ',', '[', "'-'", ',', 'syntactic_factor', ']', ';'], ['syntactic_factor', '=', '[', 'integer', ',', "'*'", ']', ',', 'syntactic_primary', ';'], ['syntactic_primary', '=', 'optional_sequence', '|', 'repeated_sequence', '|', 'grouped_sequence', '|', 'meta_identifier', '|', 'terminal_string', ';'], ['optional_sequence', '=', "'['", ',', 'definitions_list', ',', "']'", ';'], ['repeated_sequence', '=', "'{'", ',', 'definitions_list', ',', "'}'", ';'], ['grouped_sequence', '=', "'('", ',', 'definitions_list', ',', "')'", ';']] [['xavier', 'yeti'], ['alpha', 'beta', 'charlie'], ['will', 'beaver']] ['xavier', 'yeti'] ['alpha', 'beta', 'charlie'] ['will', 'beaver'] ['1', '0x2', '3', '0x4', 'aaa'] - base10: ['1', '3'] - hex: ['0x2', '0x4'] - word: ['aaa'] [[['Q', ['x', 'y', 'z']]], ':-', ['Bloo', ['x', 'Mitsis', 'y']], ['Foo', ['y', 'z', '1243']], ['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] - Bloo: ['x', 'Mitsis', 'y'] - Foo: ['y', 'z', '1243'] - head: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] - pred: [['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] [0]: ['y', '>', '28'] [1]: ['x', '<', '12'] [2]: ['x', '>', '3'] [0]: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] [1]: :- [2]: ['Bloo', ['x', 'Mitsis', 'y']] [0]: Bloo [1]: ['x', 'Mitsis', 'y'] [3]: ['Foo', ['y', 'z', '1243']] [0]: Foo [1]: ['y', 'z', '1243'] [4]: ['y', '>', '28'] [5]: ['x', '<', '12'] [6]: ['x', '>', '3'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] ................Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] {Re:('[a-z]+') | Re:('[a-z]+')} ['abc'] {Re:('[a-z]+') ^ Re:('[a-z]+')} ['abc'] {Re:('[a-z]*') | Re:('[a-z]*')} ['abc'] {Re:('[a-z]*') ^ Re:('[a-z]*')} ['abc'] Raised expected exception: ParseSyntaxException: Expected W:(0-9), found 'bad' (at char 4), (line:1, col:5) Raised expected exception: ParseSyntaxException: should raise here (at char 0), (line:1, col:1) Raised expected exception: ParseSyntaxException: Expected identifier, found end of text (at char 1), (line:1, col:2) [123, 456, 789] [123, 456, 789] 9 -> 9 -9 -> -9 --9 -> 9 -E -> -2.718281828459045 9 + 3 + 5 -> 17 9 + 3 / 11 -> 9.272727272727273 (9 + 3) -> 12 (9+3) / 11 -> 1.0909090909090908 9 - 12 - 6 -> -9 9 - (12 - 6) -> 3 2*3.14159 -> 6.28318 3.1415926535*3.1415926535 / 10 -> 0.9869604400525172 PI * PI / 10 -> 0.9869604401089358 PI*PI/10 -> 0.9869604401089358 PI^2 -> 9.869604401089358 round(PI^2) -> 10 6.02E23 * 8.048 -> 4.844896e+24 e / 3 -> 0.9060939428196817 sin(PI/2) -> 1.0 10+sin(PI/4)^2 -> 10.5 trunc(E) -> 2 trunc(-E) -> -2 round(E) -> 3 round(-E) -> -3 E^PI -> 23.140692632779263 exp(0) -> 1.0 exp(1) -> 2.718281828459045 2^3^2 -> 512 (2^3)^2 -> 64 2^3+2 -> 10 2^3+5 -> 13 2^9 -> 512 sgn(-2) -> -1 sgn(0) -> 0 sgn(0.1) -> 1 round(E, 3) -> 2.718 round(PI^2, 3) -> 9.87 sgn(cos(PI/4)) -> 1 sgn(cos(PI/2)) -> 0 sgn(cos(PI*3/4)) -> -1 +(sgn(cos(PI/4))) -> 1 -(sgn(cos(PI/4))) -> -1 -> ['BODY', False] ['BODY', False] - empty: False - startBody: ['BODY', False] - empty: False - tag: 'BODY' - tag: 'BODY' -> ['BODY', ['bgcolor', '#00FFCC'], False] ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - startBody: ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False -> ['BODY', ['bgcolor', '#00FFAA'], True] ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - startBody: ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True -> ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False -> ['BODY', True] ['BODY', True] - empty: True - startBody: ['BODY', True] - empty: True - tag: 'BODY' - tag: 'BODY' -> [''] [''] - endBody: '' end tag /* * a block comment * */ typedef string[10] tenStrings; typedef sequence stringSeq; typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 /* * a block comment * */ typedef string[10] tenStrings; typedef /** ** *** **** * * a block comment * */ sequence /*comment inside an And */ stringSeq; /* */ /**/ /***/ /****/ typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 const string test="Test String\n"; const long a = 0; const long b = -100; const float c = 3.14159; const long d = 0x007f7f7f; exception TestException { string msg; sequence dataStrings; }; interface TestInterface { void method1(in string arg1, inout long arg2); }; tokens = [['const', 'string', 'test', '=', '"Test String\\n"', ';'], ['const', 'long', 'a', '=', '0', ';'], ['const', 'long', 'b', '=', '-100', ';'], ['const', 'float', 'c', '=', '3.14159', ';'], ['const', 'long', 'd', '=', '0x007f7f7f', ';'], 'exception', 'TestException', '{', ['string', 'msg', ';'], [['sequence', '<', 'string', '>'], 'dataStrings', ';'], '}', ';', ['interface', 'TestInterface', '{', 'void', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', '}', ';']] 60 module Test1 { exception TestException { string msg; ]; interface TestInterface { void method1(in string arg1, inout long arg2) raises (TestException); }; }; exception TestException ^ Expected {moduleDef | {moduleItem}...}, found 'exception' (at char 56), (line:4, col:15) module Test1 { exception TestException { string msg; }; }; tokens = ['module', 'Test1', '{', 'exception', 'TestException', '{', ['string', 'msg', ';'], '}', ';', '}', ';'] 13 Test ifOnlyIfOnly Match Literal ['if'] Match Keyword failed Test if(OnlyIfOnly) Match Literal ['if'] Match Keyword ['if'] Test if (OnlyIf Only) Match Literal ['if'] Match Keyword ['if'] Test IFOnlyIfOnly Match Literal failed Match Keyword failed Test If(OnlyIfOnly) Match Literal failed Match Keyword ['if'] Test iF (OnlyIf Only) Match Literal failed Match Keyword ['if'] Raised expected exception: ValueError: null string passed to Keyword; use Empty() instead ['0', '123', '321', 444] ['spam', 'eggs'] - first: 'spam' - second: 'eggs' [] ['123', '456', 'ABC', 'DEF'] - ints: ['123', '456'] - words: ['ABC', 'DEF'] ['123', 'ABC', 'DEF'] - ints: ['123', '456'] ...........['List', '__add__', '__annotations__', '__bool__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_all_names', '_asStringList', '_modal', '_name', '_null_values', '_parent', '_tokdict', '_toklist', 'append', 'asDict', 'asList', 'as_dict', 'as_list', 'clear', 'copy', 'dump', 'extend', 'from_dict', 'get', 'getName', 'get_name', 'haskeys', 'insert', 'items', 'keys', 'pop', 'pprint', 'trios', 'values'] ['spam', 'eggs', 'foo', 'bar'] ['abc', 'def', 'ghi', 'ihg', 'fed', 'cba'] [['123', 456, ['789', 789]]] - trios: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['j', 'i', 'A', 'B', 'b', 'C', 'h', 'e', 'f', 'D', 'E', 'a', 'F', 'G', 'H', 'g', 'I', 'd', 'c', 'J'] ['j', 'i', 'A', 'B', 'b', 'C', 'h', 'e', 'f', 'D', 'E', 'a', 'F', 'G', 'H', 'g', 'I', 'd', 'c', 'J'] Pre-insert [[1, 2, 3], 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: dice [2]: ['rolled', 'first', 'try'] Post-insert [[1, 2, 3], 6, 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: 6 [2]: dice [3]: ['rolled', 'first', 'try'] [ 1,2,3,4,5,6 ] [['[', '1', '2', '3', '4', '5', '6', ']']] - LIST: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' [0]: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' "Golden Gate Bridge" 37.819722 -122.478611 height=746 span=4200 ['Golden Gate Bridge', [37.819722, -122.478611, ['height', 746], ['span', 4200]]] - data: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] - name: 'Golden Gate Bridge' [0]: Golden Gate Bridge [1]: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - startA: ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False [] [] [1, 2, 3, 4, 5] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 0 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 1 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 2 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 3 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 4 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 5 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 1 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 2 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 3 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 4 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 5 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 1 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 2 [['BABBAB']] [0]: ['BABBAB'] ........................Test pickle dump protocol 3 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 4 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 5 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 1 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 2 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 3 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 4 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 5 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 0 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] - name: ['BABBAB'] ParseResults(['test', 'blub'], {'word': 'blub'}) blub {'word': 'blub'} ParseResults(['test', 'blub'], {'word': ['test', 'blub']}) ['test', 'blub'] {'word': ['test', 'blub']} ['abc'] - A: 'abc' Raised expected exception: AttributeError: __xyz__ ['5', '4', '3', '2', '1'] {'spam', 'eggs'} not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] ParseResults([('A', 'Z')], {'Achar': ('A', 'Z')}) ('A', 'Z') ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) SELECT * from XYZZY, ABC ['select', '*', 'from', 'XYZZY', 'ABC', ''] 6 select * from SYS.XYZZY ['select', '*', 'from', 'SYS.XYZZY', ''] 5 Select A from Sys.dual ['select', 'A', 'from', 'SYS.DUAL', ''] 5 Select A,B,C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', ''] 7 Select A, B, C from Sys.dual, Table2 ['select', 'A', 'B', 'C', 'from', 'SYS.DUAL', 'TABLE2', ''] 8 Select A from Sys.dual where a in ('RED','GREEN','BLUE') ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')'] 12 Select A from Sys.dual where a in ('RED','GREEN','BLUE') and b in (10,20,30) ['select', 'A', 'from', 'SYS.DUAL', 'where', 'A', 'in', '(', "'RED'", "'GREEN'", "'BLUE'", ')', 'and', 'B', 'in', '(', 10, 20, 30, ')'] 20 Select A,b from table1,table2 where table1.id eq table2.id -- test out comparison operators ['select', 'A', 'B', 'from', 'TABLE1', 'TABLE2', 'where', 'TABLE1.ID', 'eq', 'TABLE2.ID'] 10 Re:('[-+][0-9]+') correctly failed to match '1234 foo' Re:('[-+][0-9]+') correctly failed to match ' +foo' Re:('[0-9]+') correctly failed to match 'abc' Re:('[0-9]+') correctly failed to match '+123 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match 'foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '"foo bar\'' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '\'foo bar"' Re:('[-+][0-9]+') correctly matched ' +123' Re:('[-+][0-9]+') correctly matched '+123' Re:('[-+][0-9]+') correctly matched '+123 foo' Re:('[-+][0-9]+') correctly matched '-0 foo' Re:('[0-9]+') correctly matched '123 foo' Re:('[0-9]+') correctly matched '0 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched '"foo"' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched "'foo bar' baz" Re:('[A-Z]+') correctly failed to match 'blah' Re:('[A-Z]+') correctly matched 'BLAH' Re:('("(?P[^\"]*)")') correctly matched '"foo bar" baz' ['"zork"'] [('content', 'zork')] zork lets try an invalid RE successfully rejected an invalid RE: invalid pattern ('("[^"]*")|(\'[^\']*\'') passed to Regex Raised expected exception: ValueError: null string passed to Regex; use Empty() instead ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: ParseException: Missing one or more required elements ('and'), found ' ' (at char 4), (line:1, col:5) ['spam', 'and', 'eggs'] - first: 'spam' - second: 'eggs' Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['spam', 'eggs'] ['pre', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['abd', 'def', 'ghi', 'jkl'] ['abd', 'def', 'ghi', 'jkl'] Raised expected exception: TypeError: cannot multiply ParserElement and str objects Raised expected exception: TypeError: cannot multiply ParserElement and str objects ['spam', '11', '22'] - first: 'spam' - second: ['11', '22'] ['spam', '111', '222'] - first: 'spam' - second: ['111', '222'] ['spam'] - first: 'spam' ['spam', '12', '23', '34'] - first: 'spam' - second: ['12', '23', '34'] ['spam', '45'] - first: 'spam' - second: ['45'] ['spam', '100'] - first: 'spam' - second: ['100'] ['spam', '100', '200', '300'] - first: 'spam' - second: ['100', '200', '300'] ['spam', '1', '2'] - first: 'spam' - second: ['1', '2'] ['spam', '1', '2', '3'] - first: 'spam' - second: ['1', '2', '3'] Raised expected exception: ValueError: second tuple value must be greater or equal to first tuple value Raised expected exception: TypeError: cannot multiply ParserElement and (str,str) objects Raised expected exception: TypeError: cannot multiply ParserElement and (str,NoneType) objects Raised expected exception: TypeError: only 1 or 2 index arguments supported ((2, 3, 4)) ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement {{word {{word_1 word} ^ word}} ^ {word word word}} foo bar temp -> ['foo', 'bar', 'temp'] EXP: AAA..................................>>entering convert_to_int(line: '132', 0, ParseResults(['132'], {})) <>entering (line: '132', 0, ParseResults([132], {})) < (ret: 1320) >>entering Z(line: '132', 0, ParseResults([1320], {})) <] ('123', '456', 'lsdfkj') [('123', '456', 'lsdfkj')] Raised expected exception: TypeError: Regex may only be constructed with a string or a compiled RE object test sub with string This is the title: 'Richard III' test sub with re string

This is the main heading

This is the sub-heading

test sub with re string (Regex returns re.match)

This is the main heading

This is the sub-heading

test sub with callable that return str I want this in upcase: WHAT? WHAT? Raised expected exception: TypeError: cannot use sub() with a callable with Regex(asMatch=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) verify behavior with repeated tokens when packrat parsing is enabled skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization ['bam', 'boo'] ['boo', 'bam'] BD -> Expected {'A' | {'B' 'C'} | 'E'}, found 'D' (at char 1), (line:1, col:2) [1, 2, 3, 4, 6, 8, 9, 10, 16] [1, 2, 3, 4, 6, 8, 9, 10, 16] [11] [11] 1/2 eval: 0.5 1/0 [1, '/', 0] - denominator: 0 - numerator: 1 eval_fraction failed: ZeroDivisionError: division by zero True ['129.6.15.28', '129.6.15.29', '132.163.4.101', '132.163.4.102', '132.163.4.103'] [(ParseResults([], {}), 5, 6)] Before parsing with setBreak: False After parsing with setBreak: True a | b | c d | e | f {a | b | c | d | e | f} Forward: + | - term + | - term Forward: ?: term ?: term Forward: {a | b | c [{d | e | f : ...}]...} int [, int]... (len) int... nested () expression (, ) (, ) common HTML entity lsdjkf &'"&xyzzy; Raised expected exception: TypeError: parse actions must be callable ['A'] - Achar: 'A' verify behavior of setResultsName with OneOrMore and ZeroOrMore ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] Received expected exception: just one arg (at char 0), (line:1, col:1) ['some text /* comment with ; in */', ';', 'working'] ['some text /* comment with ; in */some other stuff', ';', 'working'] ['some text /* comment with ; in */', ';', 'working'] Raised expected exception: ParseException: Expected ';', found ' ' (at char 37), (line:1, col:38) Raised expected exception: Exception: use of `...` expression without following SkipTo target expression verify proper streamline logic {{{'A' 'B'} 'C'} 'D'} {'A' 'B' 'C' 'D'} ['123'] ['123'] ['123'] ['123'] ['123'] ['123'] Raised expected exception: ParseException: Expected W:(0-9), found ' ' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected '123', found ' ' (at char 0), (line:1, col:1) {StringStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\naaa' ['aaa'] {LineStart W:(a-e) StringEnd} ' aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\n aaa' ['aaa'] {AtLineStart:(W:(a-e)) StringEnd} ' aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 3), (line:1, col:4) {AtLineStart:(W:(a-e)) StringEnd} '\n aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 4), (line:2, col:4) garbage;DOB 10-10-2010;more garbage ID PARI12345678;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' ['ID', 'PARI12345678'] - id: 'PARI12345678' garbage;ID PARI12345678;more garbage DOB 10-10-2010;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['ID', 'PARI12345678'] - id: 'PARI12345678' ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;DOB 10-10-2010 ID: DOB:10-10-2010 INFO: ID: DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' garbage;ID PARI12345678;more garbage- I am cool ID:PARI12345678 DOB: INFO: I am cool ID:PARI12345678 DOB: INFO: I am cool ['ID', 'PARI12345678'] - id: 'PARI12345678' ['-', ' I am cool'] - info: ' I am cool' 00 11 22 aa FF 0a 0d 1a [0, 17, 34, 170, 255, 10, 13, 26] I wish to buy 12345 shares of Acme Industries (as a gift to my (ex)wife) I 12,345 Acme Industries asagifttomyexwife 1 1234567890 1:| 2:| 3:check aaa| 1 1234567890 1:| 2:| 3:CHECK aaa| 1 2 12345678901234567890 1: check aaa| 1 2 12345678901234567890 1: CHECK aaa| [['rint'], ['a100']] 1 1234567890 1: check| 1 1234567890 1: CHECK| Original: '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' Should match: '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' '\r\nSTRINGTABLE\r\nBEGIN\r\n// Comment\r\nIDS_1 "Copied"\r\nEND\r\n' aaa 333 ['aaa', '333'] b 1 ['b', '1'] ababab 32123 ['ababab', '32123'] 123 [123] 456 [456] abc abc ^ ParseException: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.Or - {{integer}} FAIL: Expected {{integer}}, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 921, in _parseCache value = self._parseNoCache(instring, loc, doActions, callPreParse) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4025, in parseImpl raise maxException 101222 101222 ['Καλημέρα', ',', 'κόσμε', '!'] .................[['şehir', 'İzmir'], ['ülke', 'Türkiye'], ['nüfus', 4279677]] - nüfus: 4279677 - ülke: 'Türkiye' - şehir: 'İzmir' [0]: ['şehir', 'İzmir'] [1]: ['ülke', 'Türkiye'] [2]: ['nüfus', 4279677] 螨jὒכֿ꣭푞?眗ꚞݡว傎¯Ϻ֨ॹ햎T媳ꙺݠฝ齦Ŋὑאָ꣬긝_媏ᲆیพ菭żᾋ֑ऻ낒S顨Ѿۢล髄Ãῧסּ꣭뺌Ö㵌ыڏร遱ñἴאּल㈑a醑Уݩ๖久ąῒﬣ।뽶9㇣ԓݍฤ溕Ģῦװ्컬ü淯ᲄܸร� ['螨jὒכֿ꣭푞?眗ꚞݡว傎¯Ϻ֨ॹ햎T媳ꙺݠฝ齦Ŋὑאָ꣬긝_媏ᲆیพ菭żᾋ֑ऻ낒S顨Ѿۢล髄Ãῧסּ꣭뺌Ö㵌ыڏร遱ñἴאּल㈑a醑Уݩ๖久ąῒﬣ।뽶9㇣ԓݍฤ溕Ģῦװ्컬ü淯ᲄܸร�'] [[10, 'print', 123, ';'], [20, 'print', 234, ';', 567, ';'], [30, 'print', 890]] [0]: [10, 'print', 123, ';'] [1]: [20, 'print', 234, ';', 567, ';'] [2]: [30, 'print', 890] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] [['abc', '\n'], ['abc', '\n'], ['abc']] [0]: ['abc', '\n'] [1]: ['abc', '\n'] [2]: ['abc'] [["'def'", '\n'], ["'def'", '\n'], ["'def'"]] [0]: ["'def'", '\n'] [1]: ["'def'", '\n'] [2]: ["'def'"] [[123, '\n'], [123, '\n'], [123]] [0]: [123, '\n'] [1]: [123, '\n'] [2]: [123] [[4.56, '\n'], [4.56, '\n'], [4.56]] [0]: [4.56, '\n'] [1]: [4.56, '\n'] [2]: [4.56] [['a_bc', '\n'], ['a_bc', '\n'], ['a_bc']] [0]: ['a_bc', '\n'] [1]: ['a_bc', '\n'] [2]: ['a_bc'] [['abc', 'abc', 'abc']] [0]: ['abc', 'abc', 'abc'] [["'def'", "'def'", "'def'"]] [0]: ["'def'", "'def'", "'def'"] [[123, 123, 123]] [0]: [123, 123, 123] [[4.56, 4.56, 4.56]] [0]: [4.56, 4.56, 4.56] [['a_bc', 'a_bc', 'a_bc']] [0]: ['a_bc', 'a_bc', 'a_bc'] verify behavior of validate() Forward: Group:({'A' | : ...}) RecursiveGrammarException: [Forward: Group:({'A' | : ...}), Group:({'A' | : ...}), {'A' | Forward: Group:({'A' | : ...})}, Forward: Group:({'A' | : ...})] Forward: {['A'] : ...} RecursiveGrammarException: [Forward: {['A'] : ...}, {['A'] Forward: {['A'] : ...}}, Forward: {['A'] : ...}] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] ('VUTSRQPONMLKJIHGFEDCBA', 5, ParseResults(['Q'], {})) make a ClassAsPAStarNew ('VUTSRQPONMLKJIHGFEDCBA', 17, ParseResults(['E'], {})) making a ClassAsPA1 ['V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'] verify that using '<<' operator with a Forward raises a warning if there is a dangling '|' operator unsafe << and |, but diag not enabled, should not warn unsafe << and |, should warn unsafe << and |, should warn safe <<= and |, should not warn safe << and (|), should not warn [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['class', 'boo'], False, '8', '']] [0]: ['a', ['class', 'boo'], False, '8', ''] - class: 'boo' - empty: False - endA: '' - tag: 'a' - value: '8' [0]: a [1]: ['class', 'boo'] [2]: False [3]: 8 [4]: ABC DEF GHI [['D', 'G'], ['A'], ['C', 'F'], ['I'], ['E'], ['A', 'I']] JKL MNO PQR [['J', 'M', 'P'], [], ['L', 'R'], ['O'], [], ['O']] STU VWX YZ [['S', 'V'], ['Y'], ['X', 'Z'], ['U'], [], ['U', 'Y']] ABC DEF GHI JKL MNO PQR STU VWX YZ [['D', 'G', 'J', 'M', 'P', 'S', 'V'], ['A', 'Y'], ['C', 'F', 'L', 'R', 'X', 'Z'], ['I', 'O', 'U'], ['E'], ['A', 'I', 'O', 'U', 'Y']] [['Hello'], ['Mr'], ['Ed'], ["it's"], ['Wilbur']] ['ABCDEMNXYZABCDEMNXYZABCDEMNXYZ'] Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match '\]]\]]]]\\]\\\\\' -> True Testing escape char: \ -> W:([\) re: '[\[\\]+') Match '\[\[[\\\[[\\\[\[' -> True Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match ']\\]]]\\]]]\\\]\' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\LRZXERKYPWCXDPQG' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\ROEZXDIVSHWRFACB' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '___^^___^^^___^_' -> True Testing escape char: ^ -> W:(]^) re: '[\]\^]+') Match ']^^]]^]^^^]^]^^^' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '___^_^____^^^^^^' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^BIWILATYSBVDRGCG' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^IRSNJTMRYMBYTWOX' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '-.--...--.----.-' -> True Testing escape char: - -> W:(,-) re: '[,\-]+') Match '---,---,-,,-,,,,' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '.--.-...........' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-AVOLYOREHNXUDGLG' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-IGNUJWGDDOUAGCIO' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']^^]]^]^^^]]]^]]' -> True Testing escape char: ] -> W:(\]) re: '[\\\]]+') Match ']\]]]]]\]]]]\]\\' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']]]^^]^]^^]]]]]]' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']MDMFSBNFQEVUPGEM' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']CPYLUPHXHUTTYERN' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '[\[[\\\[\\[[\\[\' -> True Testing escape char: [ -> W:(Z[) re: '[Z\[]+') Match 'ZZZ[[Z[[Z[Z[[Z[Z' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '\\\[\[\[[[\\[\[[' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[ONAAJOXFCCYYMWNK' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[OVWPACRIJDACVMIC' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '+*+++*+**+*++++*' -> True Testing escape char: * -> W:()*) re: '[)*]+') Match '********)*****))' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '****+**++**++*++' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*FWSANVWAPVCEBIIZ' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*ZXJWYMQCEFDFKYBR' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match ',,++++,,,+,++,+,' -> True Testing escape char: + -> W:(*+) re: '[*+]+') Match '++*++++*****+*++' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match ',,,+,,,+++,,+,,,' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+JALNBNDFMTSTADET' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+SYITBZWSAUKMLEPH' -> True Testing escape char: . -> W:(./) re: '[./]+') Match './//...////.//./' -> True Testing escape char: . -> W:(-.) re: '[\-.]+') Match '....-.-....--.--' -> True Testing escape char: . -> W:(./) re: '[./]+') Match './..//....//../.' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.RKDNMWALKEWRQTYN' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.QVXMPXWBWJTIXVPM' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '???@??@?@?@@???@' -> True Testing escape char: ? -> W:(>?) re: '[>?]+') Match '>??>?>>>>>???>??' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') ....Match '@??@??@??@@@?@??' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?FMTUDDBEAFCVNUOD' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?REFCNQTGFNFJEIPI' -> True ['p', 'q', 'r', 'False'] Raised expected exception: ParseException: Expected {(A-Za-z) | True | False}, found 'abc' (at char 0), (line:1, col:1) {'A' W:(0-9)} ... {'A' W:(0-9)} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9)} ... {'A' W:(0-9){2,...}} ... {'A' W:(0-9){2,6}} ... W:(A, 0-9) A[0-9]* W:(A, 0-9) A[0-9]* W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9) A[0-9]* W:(A, 0-9){2,...} ... W:(A, 0-9){2,6} ... W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){2,...} ... W:(A-Za-z, 0-9){2,6} ... .................... Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(Word()) if zero-length word is permitted Left-Recursion enabled: True [[7], [9]] [[1, 4], [2, 4], [4, 3]] [[1, 4], [2, 4]] detected fatal condition ['balloon', '25'] - item: 'balloon' - qty: '25' ['rucksack', 49] - item: 'rucksack' - qty: 49 ['AAA', ' this line'] ['AAA', ' and this line'] [] [] d | aA | a | b | c d | Aa | a | b | c ['aA', 'aA', 'aA', 'aA'] ['Aa', 'Aa', 'Aa', 'Aa'] [[1, '?', 1, ':', 0, '?', 1, ':', 0]] [0]: [1, '?', 1, ':', 0, '?', 1, ':', 0] [[1, '?', 1, ':', [0, '?', 1, ':', 0]]] [0]: [1, '?', 1, ':', [0, '?', 1, ':', 0]] [0]: 1 [1]: ? [2]: 1 [3]: : [4]: [0, '?', 1, ':', 0] ['B', 'B', 'C', 'A', 'D'] ['B'] ['bcdfghjklmnpqrstvwxyz'] Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(CharsNotIn()) if zero-length char group is permitted ['bcdfg'] ['bcdfghjklm'] Raised expected exception: ParseException: Expected !W:(AEIOU), found end of text (at char 21), (line:1, col:22) ATCATCGAATGGA ['ATCATCGAATGGA'] - mismatches: [] - original: 'ATCATCGAATGGA' XTCATCGAATGGX ['XTCATCGAATGGX'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' ATCATCGAAXGGA ['ATCATCGAAXGGA'] - mismatches: [9] - original: 'ATCATCGAATGGA' ATCAXXGAATGGA ['ATCAXXGAATGGA'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' ATCAXXGAATGXA ATCAXXGAATGXA ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCAXXGAATGG ATCAXXGAATGG ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCATCGAATGGA match XTCATCGAATGGX match ATCATCGAAXGGA match ATCAXXGAATGGA match ATCAXXGAATGXA exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) ATCAXXGAATGG exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) atcatcgaatgga ['atcatcgaatgga'] - mismatches: [] - original: 'ATCATCGAATGGA' xtcatcgaatggx ['xtcatcgaatggx'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' atcatcgaaxgga ['atcatcgaaxgga'] - mismatches: [9] - original: 'ATCATCGAATGGA' atcaxxgaatgga ['atcaxxgaatgga'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' atcaxxgaatgxa atcaxxgaatgxa ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcaxxgaatgg atcaxxgaatgg ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcatcgaatgga match xtcatcgaatggx match atcatcgaaxgga match atcaxxgaatgga match atcaxxgaatgxa exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) atcaxxgaatgg exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) ['*', '*', '*', '*'] [' ', 'test'] - indent: ' ' - word: 'test' [' ', 'test'] - word: 'test' verify processing of C and HTML comments AA:BB:CC:DD:EE:FF ['AA:BB:CC:DD:EE:FF'] AA.BB.CC.DD.EE.FF ['AA.BB.CC.DD.EE.FF'] AA-BB-CC-DD-EE-FF ['AA-BB-CC-DD-EE-FF'] # mixed delimiters AA.BB:CC:DD:EE:FF AA.BB:CC:DD:EE:FF ^ ParseException: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) pyparsing.core.Regex - MAC address FAIL: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 0.0.0.0 ['0.0.0.0'] 1.1.1.1 ['1.1.1.1'] 127.0.0.1 ['127.0.0.1'] 1.10.100.199 ['1.10.100.199'] 255.255.255.255 ['255.255.255.255'] # out of range value 256.255.255.255 256.255.255.255 ^ ParseException: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) pyparsing.core.Regex - IPv4 address FAIL: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ['2001:0db8:85a3:0000:0000:8a2e:0370:7334'] 2134::1234:4567:2468:1236:2444:2106 ['2134::1234:4567:2468:1236:2444:2106'] 0:0:0:0:0:0:A00:1 ['0:0:0:0:0:0:A00:1'] . 1080::8:800:200C:417A ['1080::8:800:200C:417A'] ::A00:1 ['::A00:1'] # loopback address ::1 ['::1'] # the null address :: ['::'] # ipv4 compatibility form ::ffff:192.168.0.1 ['::ffff:192.168.0.1'] # too few values 1080:0:0:0:8:800:200C 1080:0:0:0:8:800:200C ^ ParseException: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) pyparsing.core.Combine - IPv6 address pyparsing.core.MatchFirst - IPv6 address pyparsing.core.And - full IPv6 address pyparsing.core.And - {':' hex_integer} pyparsing.core._SingleCharLiteral - ':' FAIL: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4136, in parseImpl raise maxException File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 819, in _parseNoCache raise ParseException(instring, len_instring, self.errmsg, self) # too many ::'s, only 1 allowed 2134::1234:4567::2444:2106 2134::1234:4567::2444:2106 ^ ParseException: Expected end of text, found ':' (at char 15), (line:1, col:16) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found ':' (at char 15), (line:1, col:16) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 100 [100] -100 [-100] +100 [100] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1e12 [1000000000000.0] -1e12 [-1000000000000.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 100 [100.0] -100 [-100.0] +100 [100.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1997 ['1997'] - day: None - month: None - year: '1997' 1997-07 ['1997-07'] - day: None - month: '07' - year: '1997' 1997-07-16 ['1997-07-16'] - day: '16' - month: '07' - year: '1997' 1997-07-16 [datetime.date(1997, 7, 16)] 1997-07-16T19:20+01:00 ['1997-07-16T19:20+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: None - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30+01:00 ['1997-07-16T19:20:30+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30' - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30.45Z ['1997-07-16T19:20:30.45Z'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: 'Z' - year: '1997' 1997-07-16 19:20:30.45 ['1997-07-16 19:20:30.45'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: None - year: '1997' 1997-07-16T19:20:30.45 [datetime.datetime(1997, 7, 16, 19, 20, 30, 450000)] 123e4567-e89b-12d3-a456-426655440000 ['123e4567-e89b-12d3-a456-426655440000'] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1 1/2 [1.5] 2 -15/16 [2.9375] 0 -3/-4 [-0.75] 12 [12] 100 [100] -3 [-3] 1.732 [1.732] -3.14159 [-3.14159] 6.02e23 [6.02e+23] http://foo.com/blah_blah ['http://foo.com/blah_blah'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah/ ['http://foo.com/blah_blah/'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah/' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia) ['http://foo.com/blah_blah_(wikipedia)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia)_(again) ['http://foo.com/blah_blah_(wikipedia)_(again)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)_(again)' - port: None - query: None - scheme: 'http' http://www.example.com/wpstyle/?p=364 ['http://www.example.com/wpstyle/?p=364'] - auth: None - fragment: None - host: 'www.example.com' - path: '/wpstyle/' - port: None - query: 'p=364' - scheme: 'http' https://www.example.com/foo/?bar=baz&inga=42&quux ['https://www.example.com/foo/?bar=baz&inga=42&quux'] - auth: None - fragment: None - host: 'www.example.com' - path: '/foo/' - port: None - query: 'bar=baz&inga=42&quux' - scheme: 'https' http://✪df.ws/123 ['http://✪df.ws/123'] - auth: None - fragment: None - host: '✪df.ws' - path: '/123' - port: None - query: None - scheme: 'http' http://userid:password@example.com:8080 ['http://userid:password@example.com:8080'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com:8080/ ['http://userid:password@example.com:8080/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid@example.com ['http://userid@example.com'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid@example.com/ ['http://userid@example.com/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://userid@example.com:8080 ['http://userid@example.com:8080'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid@example.com:8080/ ['http://userid@example.com:8080/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com ['http://userid:password@example.com'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid:password@example.com/ ['http://userid:password@example.com/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1/ ['http://142.42.1.1/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1:8080/ ['http://142.42.1.1:8080/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: '8080' - query: None - scheme: 'http' http://➡.ws/䨹 ['http://➡.ws/䨹'] - auth: None - fragment: None - host: '➡.ws' - path: '/䨹' - port: None - query: None - scheme: 'http' http://⌘.ws ['http://⌘.ws'] - auth: None - fragment: None - host: '⌘.ws' - path: None - port: None - query: None - scheme: 'http' http://⌘.ws/ ['http://⌘.ws/'] - auth: None - fragment: None - host: '⌘.ws' - path: '/' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)#cite-1 ['http://foo.com/blah_(wikipedia)#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)_blah#cite-1 ['http://foo.com/blah_(wikipedia)_blah#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)_blah' - port: None - query: None - scheme: 'http' http://foo.com/unicode_(✪)_in_parens ['http://foo.com/unicode_(✪)_in_parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/unicode_(✪)_in_parens' - port: None - query: None - scheme: 'http' http://foo.com/(something)?after=parens ['http://foo.com/(something)?after=parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/(something)' - port: None - query: 'after=parens' - scheme: 'http' http://☺.damowmow.com/ ['http://☺.damowmow.com/'] - auth: None - fragment: None - host: '☺.damowmow.com' - path: '/' - port: None - query: None - scheme: 'http' http://code.google.com/events/#&product=browser ['http://code.google.com/events/#&product=browser'] - auth: None - fragment: '&product=browser' - host: 'code.google.com' - path: '/events/' - port: None - query: None - scheme: 'http' http://j.mp ['http://j.mp'] - auth: None - fragment: None - host: 'j.mp' - path: None - port: None - query: None - scheme: 'http' ftp://foo.bar/baz ['ftp://foo.bar/baz'] - auth: None - fragment: None - host: 'foo.bar' - path: '/baz' - port: None - query: None - scheme: 'ftp' http://foo.bar/?q=Test%20URL-encoded%20stuff ['http://foo.bar/?q=Test%20URL-encoded%20stuff'] - auth: None - fragment: None - host: 'foo.bar' - path: '/' - port: None - query: 'q=Test%20URL-encoded%20stuff' - scheme: 'http' http://مثال.إختبار ['http://مثال.إختبار'] - auth: None - fragment: None - host: 'مثال.إختبار' - path: None - port: None - query: None - scheme: 'http' http:// http:// ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://. http://. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.. http://.. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://../ http://../ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://? http://? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://?? http://?? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://??/ http://??/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://# http://# ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://## http://## ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://##/ http://##/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://foo.bar?q=Spaces should be encoded // // ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) //a //a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ///a ///a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) /// /// ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:///a http:///a ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) foo.com foo.com ^ ParseException: Expected url, found 'foo' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'foo' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) rdar://1234 rdar://1234 ^ ParseException: Expected url, found 'rdar' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'rdar' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) h://test h://test ^ ParseException: Expected url, found 'h' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'h' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:// shouldfail.com http:// shouldfail.com ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) :// should fail :// should fail ^ ParseException: Expected url, found ':' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found ':' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://foo.bar/foo(bar)baz quux http://foo.bar/foo(bar)baz quux ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ftps://foo.bar/ ftps://foo.bar/ ^ ParseException: Expected url, found 'ftps' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'ftps' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://-error-.invalid/ http://-error-.invalid/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://a.b--c.de/ http://-a.b.co http://-a.b.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://a.b-.co http://a.b-.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://0.0.0.0 http://0.0.0.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.0 http://10.1.1.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ......... http://10.1.1.255 http://10.1.1.255 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://224.1.1.1 http://224.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://1.1.1.1.1 http://1.1.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://123.123.123 http://123.123.123 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://3628126748 http://3628126748 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.www.foo.bar/ http://.www.foo.bar/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://www.foo.bar./ http://.www.foo.bar./ http://.www.foo.bar./ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.1 http://10.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ['https://bob:secret@www.example.com:8080/path/to/resource?filter=int#book-mark'] - auth: 'bob:secret' - fragment: 'book-mark' - host: 'www.example.com' - path: '/path/to/resource' - port: '8080' - query: 'filter=int' - scheme: 'https' Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%d', found '1997' (at char 0), (line:1, col:1) Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%dT%H:%M:%S.%f', found '1997' (at char 0), (line:1, col:1) 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] B 5 7 F 0 1 2 3 4 5 _ C 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 5 string input item1 item2 item3 item4 item5 0 int user 2 int file 3 8 [['item1', 'item2', 'item3', 'item4', 'item5'], [], ['3', '8']] [0]: ['item1', 'item2', 'item3', 'item4', 'item5'] - count: 5 - items: ['item1', 'item2', 'item3', 'item4', 'item5'] - source: 'input' - type: 'string' [1]: [] - count: 0 - items: [] - source: 'user' - type: 'int' [2]: ['3', '8'] - count: 2 - items: ['3', '8'] - source: 'file' - type: 'int' type = '' source = '' ['True', 'True', 'False'] - items: ['True', 'True', 'False'] - type: 'bool' verify non-fatal usage of Literal("") Raised expected exception: ValueError: null string passed to Literal; use Empty() instead sdlfjs :sdf\:jls::djf: sl:kfsjf sdlfjs -sdf\:jls::--djf: sl-kfsjf sdlfjs -sdf\:::jls::--djf: sl:::-kfsjf sdlfjs ^sdf\:jls^^--djf^ sl-kfsjf sdlfjs ^^^==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf^^^ colonQuotes :(?:(?:::)|(?:\\.)|(?:[^:\n\r\\]))*: [['sdf:jls:djf'], ['jls:--djf'], [':jls:--djf'], [''], ['j=lz:--djf'], ['j=ls:--djf']] sdf:jls:djf sdf:jls:djf dashQuotes ..........\-(?:(?:\-\-)|(?:\\.)|(?:[^\-\n\r\\]))*\- [['sdf:jls::-djf: sl'], ['sdf:::jls::-djf: sl:::'], [''], [''], ['']] sdf:jls::-djf: sl sdf:jls::-djf: sl hatQuotes \^(?:(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls'], ['--djf'], [''], ['==sdf:j=lz::--djf: sl='], ['']] sdf:jls sdf:jls hatQuotes1 \^(?:(?:\^\^)|(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls^--djf'], ['^==sdf:j=lz::--djf: sl='], ['']] sdf:jls^--djf sdf:jls^--djf dblEqQuotes ==(?:(?:\\.)|(?:(?:=(?!=)))|(?:[^=\n\r\\]))*== [['sdf:j=ls::--djf: sl']] sdf:j=ls::--djf: sl sdf:j=ls::--djf: sl ::: quotes :::(?:(?:(?:::(?!:))|(?::(?!::)))|(?:[^:\n\r]))*::: [['jls::--djf: sl']] jls::--djf: sl jls::--djf: sl ==-- quotes ==(?:(?:(?:\-(?!\-)))|(?:[^\-\n\r]))*\-\- [['sdf\\:j=lz::'], ['sdf\\:j=ls::']] sdf\:j=lz:: sdf\:j=lz:: ^^^ multiline quotes \^\^\^(?:(?:(?:\^\^(?!\^))|(?:\^(?!\^\^)))|(?:[^\^]))*\^\^\^ [['==sdf\\:j=lz::--djf: sl=^^=kfsjf\n sdlfjs ==sdf\\:j=ls::--djf: sl==kfsjf']] ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf Raised expected exception: ValueError: quote_char cannot be the empty string \.\[(?:(?:(?:\](?!\.)))|(?:[^\]\n\r]))*\]\. ['...'] [''] [']'] [']]'] \+\*(?:(?:(?:\*(?!\+)))|(?:[^*\n\r]))*\*\+ ['...'] [''] ['*'] ['**'] \*/(?:(?:(?:/(?!\*)))|(?:[^/\n\r]))*/\* ['...'] [''] ['/'] ['//'] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ValueError: min must be greater than 0 Raised expected exception: ValueError: max must be greater than, or equal to min Raised expected exception: ParseException: Expected ',', found end of text (at char 12), (line:1, col:13) 'ABC' [, 'ABC']... ['ABC', 'ABC'] 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] {'True' | 'true' | 'False' | 'false'} [, {'True' | 'true' | 'False' | 'false'}]... bool bool bool bool bool [, bool]... 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] ['bar', 'foo'] - one: 'foo' - two: 'bar' options(100) step(A) options(100) step(A) ^ ParseSyntaxException: Expected integer, found 'A' (at char 18), (line:1, col:19) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 18), (line:1, col:19) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal step(A) options(100) step(A) options(100) ^ ParseSyntaxException: Expected integer, found 'A' (at char 5), (line:1, col:6) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(100A) options(100) step(100A) ^ ParseSyntaxException: Expected 'Z', found 'A' (at char 21), (line:1, col:22) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected 'Z', found 'A' (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(22) step(100ZA) options(100) step(22) step(100ZA) ^ ParseSyntaxException: Expected ')', found 'A' (at char 31), (line:1, col:32) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected ')', found 'A' (at char 31), (line:1, col:32) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {{word}... num} pyparsing.core.OneOrMore - {word}... pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] . dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 9), (line:1, col:10) pyparsing.core.And - {[word [word [word]]] num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 9), (line:1, col:10) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) cc dd 123 ['cc', 'dd', '123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'cc' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'cc' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] .......... a 1,1 ['a', [1, 1]] - label: 'a' - points: [[1, 1]] [0]: [1, 1] - x: 1 - y: 1 [0]: a [1]: [1, 1] - x: 1 - y: 1 b 1,1 2,2 3,3 ['b', [1, 1], [2, 2], [3, 3]] - label: 'b' - points: [[1, 1], [2, 2], [3, 3]] [0]: [1, 1] - x: 1 - y: 1 [1]: [2, 2] - x: 2 - y: 2 [2]: [3, 3] - x: 3 - y: 3 [0]: b [1]: [1, 1] - x: 1 - y: 1 [2]: [2, 2] - x: 2 - y: 2 [3]: [3, 3] - x: 3 - y: 3 c ['c'] - label: 'c' - points: [] [['a', '10'], ['b', '20']] - a: '10' - b: '20' [0]: ['a', '10'] [1]: ['b', '20'] ^ ParseException: Expected W:(A-Za-z) (at char 0), (line:1, col:1) tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core.Dict - Dict:({Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}...) pyparsing.core.OneOrMore - {Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}... pyparsing.core.Group - Group:({W:(A-Za-z) Suppress:('=') W:(0-9)}) pyparsing.core.And - {W:(A-Za-z) Suppress:('=') W:(0-9)} pyparsing.core._WordRegex - W:(A-Za-z) testing empty And testing empty Or testing empty MatchFirst testing empty Each Match [{integer | W:(0-9A-Za-z)}]... at loc 0(1,1) 123 A100 ^ Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Matched [{integer | W:(0-9A-Za-z)}]... -> [123, 'A100'] Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Match integer at loc 0(1,1) 1 2 3 ^ Matched integer -> ['1'] Match integer at loc 2(1,3) 1 2 3 ^ Matched integer -> ['2'] Match integer at loc 4(1,5) 1 2 3 ^ Matched integer -> ['3'] Match integer at loc 5(1,6) 1 2 3 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 5), (line:1, col:6) Packrat status: disabled Match Z at loc 0(1,1) aba ^ Match Z failed, ParseException raised: Expected Z, found 'aba' (at char 0), (line:1, col:1) Match leading_a at loc 0(1,1) aba ^ Match A at loc 0(1,1) aba ^ Matched A -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Matched leading_a -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match leading_a at loc 1(1,2) aba ^ Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match leading_a failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Match Z at loc 2(1,3) aba ^ Match Z failed, ParseException raised: Expected Z, found 'a' (at char 2), (line:1, col:3) Match leading_a at loc 2(1,3) aba ^ Match A at loc 2(1,3) aba ^ Matched A -> ['a'] Match Z at loc 3(1,4) aba ^ Match Z failed, ParseException raised: Expected Z, found end of text (at char 3), (line:1, col:4) Match A at loc 3(1,4) aba ^ Match A failed, ParseException raised: Expected A, found end of text (at char 3), (line:1, col:4) Match B at loc 3(1,4) aba ^ Match B failed, ParseException raised: Expected B, found end of text (at char 3), (line:1, col:4) Match leading_a failed, ParseException raised: Expected {Z | A | B}, found end of text (at char 3), (line:1, col:4) Match B at loc 2(1,3) aba ^ Match B failed, ParseException raised: Expected B, found 'a' (at char 2), (line:1, col:3) {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': False, 'warn_name_set_on_empty_Forward': False, 'warn_on_assignment_to_Forward': False, 'warn_on_match_first_with_lshift_operator': False, 'warn_on_multiple_string_args_to_oneof': False, 'warn_on_parse_using_empty_Forward': False, 'warn_ungrouped_named_tokens_in_collection': False} {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': True, 'warn_name_set_on_empty_Forward': True, 'warn_on_assignment_to_Forward': True, 'warn_on_match_first_with_lshift_operator': True, 'warn_on_multiple_string_args_to_oneof': True, 'warn_on_parse_using_empty_Forward': True, 'warn_ungrouped_named_tokens_in_collection': True} TypeError: descriptor 'upper' for 'str' objects doesn't apply to a 'int' object tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core._WordRegex - integer tests.test_unit.Modifier pyparsing.results.ParseResults 123 355 ^ ParseException: Expected word, found '355' (at char 4), (line:1, col:5) 123 355 (test using ErrorStop) ^ ParseSyntaxException: Expected word, found '355' (at char 4), (line:1, col:5) tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core.And - {int - word} A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int test does local memoization enable/disable during test [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [' z=1000', 'b("; in quotes")', 'c=200', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', '', '', 'y += x', 'return y'], [' this_semi_does_nothing()', ';', ''], [' neither_does_this_but_there_are_spaces_afterward()', ';', ''], [' a = "a;b"', ';', 'return a # this is a comment; it has a semicolon!'], [' z=1000', ';', 'b("; in quotes")', ';', 'c=200', ';', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', ';', 'b = 11', ';', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', ';', 'return x # so; does; this; one'], [' x = 15', ';', '', ';', '', ';', 'y += x', ';', 'return y'], [''], [' def main():'], [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [''], [' def b():'], [' if False:'], [' z=1000', 'b("; in quotes"); c=200;return z'], [" return ';'"], [''], [' class Foo(object):'], [' def bar(self):'], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11; c = 12'], [''], [' # this comment; has several; semicolons'], [' if self.spam:'], .............[' x = 12', 'return x # so; does; this; one'], [' x = 15', ';; y += x; return y'], [''], [' def baz(self):'], [' return self.bar'], [' '], W:(0-9) W:(0-9){3} W:(0-9){2,...} W:(0-9){1,3} W:(0-9){2,3} (0-9) ['balloon'] - item: 'balloon' - qty: 99 verify behavior of getName() ['XXX', ['b'], ['bb'], ['a'], ['bbb'], ['bbbb'], ['aa'], ['bbbbb'], [':', 'c'], ['bbbbbb'], ['aaa']] [0]: XXX [1]: ['b'] - B: 'b' [2]: ['bb'] - B: 'bb' [3]: ['a'] - A: 'a' [4]: ['bbb'] - B: 'bbb' [5]: ['bbbb'] - B: 'bbbb' [6]: ['aa'] - A: 'aa' [7]: ['bbbbb'] - B: 'bbbbb' [8]: [':', 'c'] - C: 'c' [9]: ['bbbbbb'] - B: 'bbbbbb' [10]: ['aaa'] - A: 'aaa' XXX 'XXX' ['b'] ParseResults(['b'], {'B': 'b'}) ['bb'] ParseResults(['bb'], {'B': 'bb'}) ['a'] ParseResults(['a'], {'A': 'a'}) ['bbb'] ParseResults(['bbb'], {'B': 'bbb'}) ['bbbb'] ParseResults(['bbbb'], {'B': 'bbbb'}) ['aa'] ParseResults(['aa'], {'A': 'aa'}) ['bbbbb'] ParseResults(['bbbbb'], {'B': 'bbbbb'}) [':', 'c'] ParseResults([':', 'c'], {'C': 'c'}) ['bbbbbb'] ParseResults(['bbbbbb'], {'B': 'bbbbbb'}) ['aaa'] ParseResults(['aaa'], {'A': 'aaa'}) XXX b bb a bbb bbbb aa bbbbb :c bbbbbb aaa [None, 'B', 'B', 'A', 'B', 'B', 'A', 'B', None, 'B', 'A'] ['lsjd'] non-key ['sldkjf'] non-key ['IF'] non-key ['Saslkj'] non-key ['AND'] non-key ['lsdjf'] non-key verify behavior of ParseResults.get() ['b', 'bb', 'a', 'bbb', 'bbbb', 'aa', 'bbbbb', ':', 'c', 'bbbbbb', 'aaa'] - A: 'aaa' - B: 'bbbbbb' - C: 'c' aaa !D ['11.11.13', 'useless . useless,21 useless 2 | ', 14.21, ' | asmdakldm'] ['21.12.12', 'fmpaosmfpoamsp 4 | ', 41, ' | ajfa9si90'] Raised expected exception: ParseException: Expected number, found 'useless' (at char 32), (line:1, col:33) Raised expected exception: ParseException: Expected number, found 'fmpaosmfpoamsp' (at char 32), (line:1, col:33) [["'string1'", "'string2'"]] [['string1', 'strin""g2']] [['"string1"', '"strin""g2"'], ["'string1'", "'string2'"]] [['string1', 'strin"g2']] [['string1', 'string2']] [['string1', 'string2']] [['string1', 'string2']] ["'ms1'", '1', '0', "'2009-12-22'", "'2009-12-22 10:41:22'"] This & that 2 > 1 0 < 1 Don't get excited! I said "Don't get excited!" Copyright © 2021 Dot ⟶ ˙ ['I', 'totally', 'love', 'pickles'] a = 100 b = 101 c = c1 = 200 c2 = c21 = 999 c3 = 'A horse, a horse, my kingdom for a horse' d = 505 [['a', 100], ['b', 101], ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']], ['d', 505]] - a: 100 - b: 101 - c: [['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: ['c1', 200] [1]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [2]: ['c3', 'A horse, a horse, my kingdom for a horse'] - d: 505 [0]: ['a', 100] [1]: ['b', 101] [2]: ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: c [1]: ['c1', 200] [2]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [3]: ['c3', 'A horse, a horse, my kingdom for a horse'] [3]: ['d', 505] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [200, 201]] [0]: B [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 3 123456789012345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] using searchString [[['A', [100, 101, 102]]], [['B', [['b', [200, 201]]]]], [['C', [300]]]] [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] using parseString [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] test good indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.1.2| 5: 2.| [['1.', ['1.1', ['1.1.1', '1.1.2']], '2.']] test bad indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 78), (line:4, col:18) 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 76), (line:4, col:16) ...[['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], 'B', ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], 'C', 'D', ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] [0]: ['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]] [0]: def [1]: A [2]: ['(', 'z', ')'] [3]: : [4]: [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']] [0]: ['A1'] [1]: [['B', '=', '100']] [0]: ['B', '=', '100'] [2]: [['G', '=', 'A2']] [0]: ['G', '=', 'A2'] [3]: ['A2'] [4]: ['A3'] [1]: B [2]: ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]] [0]: def [1]: BB [2]: ['(', 'a', 'b', 'c', ')'] [3]: : [4]: [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]] [0]: ['BB1'] [1]: [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]] [0]: ['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]] [0]: def [1]: BBA [2]: ['(', ')'] [3]: : [4]: [['bba1'], ['bba2'], ['bba3']] [0]: ['bba1'] [1]: ['bba2'] [2]: ['bba3'] [3]: C [4]: D [5]: ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]] [0]: def [1]: spam [2]: ['(', 'x', 'y', ')'] [3]: : [4]: [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]] [0]: [['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]] [0]: ['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]] [0]: def [1]: eggs [2]: ['(', 'z', ')'] [3]: : [4]: [['pass']] [0]: ['pass'] Parsing 'one0'... Parsing 'four0'... Parsing 'extra'... Parsing 'one1'... Parsing 'four1'... extra: [test] one0: two (three) four0: five (seven) extra: [test] one1: two (three) four1: five (seven) ['extra', [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]], 'extra', [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]]] [0]: extra [1]: [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]] [0]: ['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]] [0]: test [1]: [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]] [0]: ['one0', [['two', 'three']]] [0]: one0 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four0', [['five', 'seven']]] [0]: four0 [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]] [0]: ['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]] [0]: test [1]: [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]] [0]: ['one1', [['two', 'three']]] [0]: one1 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four1', [['five', 'seven']]] [0]: four1 [1]: [['five', 'seven']] [0]: ['five', 'seven'] Parsing 'one'... Parsing 'four'... Parsing 'extra'... Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'eight'... Parsing 'eleven'... Parsing 'fourteen'... Parsing 'seventeen'... extra: [test] one: two (three) four: five (seven) extra: [test] one: two (three) four: five (seven) [test] one: two (three) four: five (seven) [test] eight: nine (ten) eleven: twelve (thirteen) fourteen: fifteen (sixteen) seventeen: eighteen (nineteen) ['extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]], 'extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]]] [0]: extra [1]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [1]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]] [0]: test [1]: [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]] [0]: ['eight', [['nine', 'ten']]] [0]: eight [1]: [['nine', 'ten']] [0]: ['nine', 'ten'] [1]: ['eleven', [['twelve', 'thirteen']]] [0]: eleven [1]: [['twelve', 'thirteen']] [0]: ['twelve', 'thirteen'] [2]: ['fourteen', [['fifteen', 'sixteen']]] [0]: fourteen [1]: [['fifteen', 'sixteen']] [0]: ['fifteen', 'sixteen'] [3]: ['seventeen', [['eighteen', 'nineteen']]] [0]: seventeen [1]: [['eighteen', 'nineteen']] [0]: ['eighteen', 'nineteen'] [[9, '+', 2, '+', 3]] [0]: [9, '+', 2, '+', 3] [[9, '+', [2, '*', 3]]] [0]: [9, '+', [2, '*', 3]] [0]: 9 [1]: + [2]: [2, '*', 3] [[[9, '+', 2], '*', 3]] [0]: [[9, '+', 2], '*', 3] [0]: [9, '+', 2] [1]: * [2]: 3 ..............[[[9, '+', ['-', 2]], '*', 3]] [0]: [[9, '+', ['-', 2]], '*', 3] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', ['-', 2]]], '*', 3]] [0]: [[9, '+', ['-', ['-', 2]]], '*', 3] [0]: [9, '+', ['-', ['-', 2]]] [0]: 9 [1]: + [2]: ['-', ['-', 2]] [0]: - [1]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [[9, '!'], '+', ['-', 2]] [0]: [9, '!'] [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[['M', '*', 'X'], '+', 'B']] [0]: [['M', '*', 'X'], '+', 'B'] [0]: ['M', '*', 'X'] [1]: + [2]: B [['M', '*', ['X', '+', 'B']]] [0]: ['M', '*', ['X', '+', 'B']] [0]: M [1]: * [2]: ['X', '+', 'B'] [[1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]]] [0]: [1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]] [0]: 1 [1]: + [2]: [2, '*', ['-', [3, '^', 4]], '*', 5] [0]: 2 [1]: * [2]: ['-', [3, '^', 4]] [0]: - [1]: [3, '^', 4] [3]: * [4]: 5 [3]: + [4]: ['-', ['+', ['-', 6]]] [0]: - [1]: ['+', ['-', 6]] [0]: + [1]: ['-', 6] [[3, '!', '!']] [0]: [3, '!', '!'] p = True q = False r = True p and not q (p & ~q) = True not not p ~~p = True not(p and q) ~(p & q) = True q or not p and r (q | (~p & r)) = False q or not p or not r (q | ~p | ~r) = False q or not (p and r) (q | ~(p & r)) = False p or q or r (p | q | r) = True p or q or r and False (p | q | (r & False)) = True (p or q or r) and False ((p | q | r) & False) = False Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must indicate right or left associativity evaluate_int 9 '9' => [9] (count=1) [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', ['<', [2, '+', 11], '>']]] [0]: [3, '+', ['<', [2, '+', 11], '>']] [0]: 3 [1]: + [2]: ['<', [2, '+', 11], '>'] [0]: < [1]: [2, '+', 11] [2]: > [[3, '+', ['<<', [2, '+', 11], '>>']]] [0]: [3, '+', ['<<', [2, '+', 11], '>>']] [0]: 3 [1]: + [2]: ['<<', [2, '+', 11], '>>'] [0]: << [1]: [2, '+', 11] [2]: >> [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 bar = foo [['bar', '=', 'foo']] bar = foo & baz = fee ['&', [['bar', '=', 'foo'], ['baz', '=', 'fee']]] ['SELECT', 'color', 'FROM', 'colors'] ['SELECT', 'color', 'FROM', 'colors'] ['1999', '/', '12', '/', '31'] - day: '31' - month: '12' - year: '1999' ['1999', '12', '31'] - day: '31' - month: '12' - year: '1999' Raised expected exception: ValueError: no such diagnostic 'xyzzy' ['testA', 'testB', 'testC'] =? ['testA', 'testB', 'testC'] ['testC'] =? ['testC'] 'testB\ntestC\n' =? 'testB\ntestC\n' ['testD', 'testE', 'testF'] =? ['testD', 'testE', 'testF'] ['testF'] =? ['testF'] 'testE\ntestF' =? 'testE\ntestF' ['a'] =? ['a'] ['a'] =? ['a'] '' =? '' 0 'aaa' 1 '\naaa' Raised expected exception: ParseException: Expected Re:('a+'), found '\' (at char 0), (line:1, col:1) 2 'a\naa' Raised expected exception: ParseException: Expected end of text, found '\' (at char 1), (line:1, col:2) 3 'aaa\n' Raised expected exception: ParseException: Expected end of text, found '\' (at char 3), (line:1, col:4) verify correct line() behavior when first line is empty string {W:(A) - LineStart W:(B)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) no \n in default whitespace chars {W:(A) - LineStart W:(B)} AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 3), (line:1, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) ............ AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) 1 1234567890 1:AAA 1| 2:AAA 2| 3:| 4: AAA| 5:| 6:B AAA| 7:| normal parsing 0 3 1 AAA 1 ParseResults(['AAA'], {}) 6 9 2 AAA 2 ParseResults(['AAA'], {}) 12 18 3 ParseResults(['AAA'], {}) parsing without \n in whitespace chars 0 3 1 AAA 1 'A' 6 9 2 AAA 2 'A' 13 18 4 AAA ' ' 1 1234567890 1:| 2:a| 3: b| 4: c| 5:d| 6:e| 7: f| 8: g| [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [[['a']], [['b']], [['c']], [['d']], [['e']], [['f']], [['g']]] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] Literal Expected 'xyz', found end of text (at char 1), (line:1, col:2) CaselessLiteral Expected 'XYZ', found end of text (at char 1), (line:1, col:2) Keyword Expected Keyword 'xyz', found end of text (at char 1), (line:1, col:2) CaselessKeyword Expected CaselessKeyword 'xyz', found end of text (at char 1), (line:1, col:2) Word Expected W:(xyz), found end of text (at char 1), (line:1, col:2) Regex Expected Re:('xyz'), found end of text (at char 1), (line:1, col:2) 1 start 2 {integer 'start' integer} [1, 'start', 2] {integer 'start' integer} [1, 'start', 2] {integer 'START' integer} [1, 'START', 2] {integer word integer} [1, 'start', 2] 3 start4 {integer 'start' integer} [3, 'start', 4] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected word, found 'start4' (at char 2), (line:1, col:3) 5start 6 [5, 'start', 6] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected CaselessKeyword 'START', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected word, found 'start' (at char 1), (line:1, col:2) [28, 'ID', 'PARI12345678', 43] - id: 'PARI12345678' - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [[28, ['ID', 'PARI12345678'], 43]] - loc: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0]: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0, ['ljsdf'], 5] ['ljsdf'] [8, ['lksdjjf'], 15] ['lksdjjf'] [18, ['lkkjj'], 23] ['lkkjj'] ['body', False, 'Hello', ''] - contents: 'Hello' - empty: False - endBody: '' - startBody: ['body', False] - empty: False - tag: 'body' - tag: 'body' DOB >!<100-10-2010;more garbage verify MatchFirst iterates properly ['A', 'A', '3', 'A'] Raised expected exception: ParseException: matched token not at column 1, found '3' (at char 4), (line:1, col:5) ..........................ABC ^ ParseException: Expected W:(0-9), found 'ABC' (at char 0), (line:1, col:1) tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core._WordRegex - W:(0-9) ['A'] - Achar: 'A' Raised expected exception: ValueError: cannot multiply ParserElement by negative value {'username': 'goat', 'errors': {'username': ['already taken', 'too short']}, 'empty_field': ''} Test defaults: [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default opener [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Literal expressions for opener and closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Use ignore expression (1) [['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello,', 'world!"']] [0]: ['greeting', '"Hello,', 'world!"'] [2]: ;;(foo bar [3]: ['display', 'greeting'] Use ignore expression (2) [['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello, )world!"']] [0]: ['greeting', '"Hello, )world!"'] [2]: ;; [3]: (foo bar [4]: ['display', 'greeting'] Raised expected exception: ValueError: opening and closing strings cannot be the same Raised expected exception: ValueError: opening and closing arguments must be strings if no content expression is given ['aName', ['outer', ["'inner with opener {{ and closer }} in quoted string'"]]] [0]: aName [1]: ['outer', ["'inner with opener {{ and closer }} in quoted string'"]] [0]: outer [1]: ["'inner with opener {{ and closer }} in quoted string'"] ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' 9413 tests produced real number PASS valid tests (321) real number with scientific notation PASS valid tests (2319) signed integer PASS valid tests (153) real number PASS invalid tests (2213) real number with scientific notation PASS invalid tests (6587) signed integer PASS invalid tests (9260) # literal oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] abc ['a', 'b', 'c'] # keyword oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] # keyword oneOf failure tests abc abc ^ ParseException: Expected end of text, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) verify oneOf handles duplicate symbols verify oneOf handles generator input verify oneOf handles list input verify oneOf handles set input Raised expected exception: TypeError: Invalid argument to one_of, expected string or iterable ['XXX Y/123', '1,234.567890'] - data: '1,234.567890' - id: 'XXX Y/123' ['0', '123', '321', 444] Raised expected exception: ParseException: OnlyOnce obj called multiple times w/out reset, found '1' (at char 0), (line:1, col:1) ['100', '200', '300', 600] verify handling of Optional's beyond the end of string Tal Weiss Major Tal Major Weiss Major Major Major Tal Major Weiss Major Tal Weiss ['foo'] - foo: ['foo'] ['bar', 'foo', 'bar', 'foo', 'bar', 'foo'] - bar: ['bar', 'bar', 'bar'] - foo: ['foo', 'foo', 'foo'] Raised expected exception: ParseException: Missing one or more required elements ('foo'), found 'bar' (at char 1), (line:1, col:2) 1999-12-31 100 2001-01-01 [['1999-12-31'], 100, ['2001-01-01']] - date: [['1999-12-31'], ['2001-01-01']] [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' - id: 100 [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: 100 [2]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' 42 [42] - id: 42 verify Optional's do not cause match failure if have results name _images/cal.png:77_ ['alt', 'empty', 'height', 'src', 'startImg', 'tag', 'width'] ['int', 'f', '(', ')', '{}'] ['DO', ['Z']] [244, 23, 13, 2343] - int_values: [244, 23, 13, 2343] - total: 2623 ### before parse action is added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' ### after parse action was added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])]] [0]: ['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])] 'AAAAA' parseAll=False (shouldSucceed=True) 'AAAAA' parseAll=True (shouldSucceed=True) 'AAABB' parseAll=False (shouldSucceed=True) 'AAABB' parseAll=True (shouldSucceed=False) AAABB ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd 'AAAAA //blah' parseAll=False (shouldSucceed=True) 'AAAAA //blah' parseAll=True (shouldSucceed=True) 'AAABB //blah' parseAll=False (shouldSucceed=True) 'AAABB //blah' parseAll=True (shouldSucceed=False) AAABB //blah ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd '00aab' parseAll=False (shouldSucceed=True) '00aab' parseAll=True (shouldSucceed=True) '00aaf' parseAll=False (shouldSucceed=True) '00aaf' parseAll=True (shouldSucceed=False) 00aaf ^ ParseException: Expected end of text, found 'f' (at char 4), (line:1, col:5) tests.test_unit.Test09_WithLeftRecursionParsing pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd Parsing: 'a,b,c,100.2,,3' -> ['a', 'b', 'c', '100.2', '', '3'] Parsing: 'd, e, j k , m ' -> ['d', 'e', 'j k', 'm'] Parsing: "'Hello, World', f, g , , 5.1,x" -> ["'Hello, World'", 'f', 'g', '', '5.1', 'x'] ............Parsing: 'John Doe, 123 Main St., Cleveland, Ohio' -> ['John Doe', '123 Main St.', 'Cleveland', 'Ohio'] Parsing: 'Jane Doe, 456 St. James St., Los Angeles , California ' -> ['Jane Doe', '456 St. James St.', 'Los Angeles', 'California'] Parsing tests/karthik.ini ... 23 ['users'] users.K 8 8 users.mod_scheme 'QPSK' 'QPSK' users.Na K+2 K+2 OK Parsing examples/Setup.ini ... 125 ['Startup', 'Languages', 'test'] Startup.audioinf M3i M3i Languages.key1 0x0003 0x0003 test.foo bar bar OK Constructing EBNF parser with pyparsing... Parsing EBNF grammar with EBNF parser... - terminal_string - meta_identifier - integer - syntax - syntax_rule - definitions_list - single_definition - syntactic_term - syntactic_factor - syntactic_primary - optional_sequence - repeated_sequence - grouped_sequence Parsing EBNF grammar with generated EBNF parser... [['syntax', '=', '(', 'syntax_rule', ')', ',', '{', '(', 'syntax_rule', ')', '}', ';'], ['syntax_rule', '=', 'meta_identifier', ',', "'='", ',', 'definitions_list', ',', "';'", ';'], ['definitions_list', '=', 'single_definition', ',', '{', "'|'", ',', 'single_definition', '}', ';'], ['single_definition', '=', 'syntactic_term', ',', '{', "','", ',', 'syntactic_term', '}', ';'], ['syntactic_term', '=', 'syntactic_factor', ',', '[', "'-'", ',', 'syntactic_factor', ']', ';'], ['syntactic_factor', '=', '[', 'integer', ',', "'*'", ']', ',', 'syntactic_primary', ';'], ['syntactic_primary', '=', 'optional_sequence', '|', 'repeated_sequence', '|', 'grouped_sequence', '|', 'meta_identifier', '|', 'terminal_string', ';'], ['optional_sequence', '=', "'['", ',', 'definitions_list', ',', "']'", ';'], ['repeated_sequence', '=', "'{'", ',', 'definitions_list', ',', "'}'", ';'], ['grouped_sequence', '=', "'('", ',', 'definitions_list', ',', "')'", ';']] [['xavier', 'yeti'], ['alpha', 'beta', 'charlie'], ['will', 'beaver']] ['xavier', 'yeti'] ['alpha', 'beta', 'charlie'] ['will', 'beaver'] ['1', '0x2', '3', '0x4', 'aaa'] - base10: ['1', '3'] - hex: ['0x2', '0x4'] - word: ['aaa'] [[['Q', ['x', 'y', 'z']]], ':-', ['Bloo', ['x', 'Mitsis', 'y']], ['Foo', ['y', 'z', '1243']], ['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] - Bloo: ['x', 'Mitsis', 'y'] - Foo: ['y', 'z', '1243'] - head: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] - pred: [['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] [0]: ['y', '>', '28'] [1]: ['x', '<', '12'] [2]: ['x', '>', '3'] [0]: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] [1]: :- [2]: ['Bloo', ['x', 'Mitsis', 'y']] [0]: Bloo [1]: ['x', 'Mitsis', 'y'] [3]: ['Foo', ['y', 'z', '1243']] [0]: Foo [1]: ['y', 'z', '1243'] [4]: ['y', '>', '28'] [5]: ['x', '<', '12'] [6]: ['x', '>', '3'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] {Re:('[a-z]+') | Re:('[a-z]+')} ['abc'] {Re:('[a-z]+') ^ Re:('[a-z]+')} ['abc'] {Re:('[a-z]*') | Re:('[a-z]*')} ['abc'] {Re:('[a-z]*') ^ Re:('[a-z]*')} ['abc'] Raised expected exception: ParseSyntaxException: Expected W:(0-9), found 'bad' (at char 4), (line:1, col:5) Raised expected exception: ParseSyntaxException: should raise here (at char 0), (line:1, col:1) Raised expected exception: ParseSyntaxException: Expected identifier, found end of text (at char 1), (line:1, col:2) [123, 456, 789] [123, 456, 789] 9 -> 9 -9 -> -9 --9 -> 9 -E -> -2.718281828459045 9 + 3 + 5 -> 17 9 + 3 / 11 -> 9.272727272727273 (9 + 3) -> 12 (9+3) / 11 -> 1.0909090909090908 9 - 12 - 6 -> -9 9 - (12 - 6) -> 3 2*3.14159 -> 6.28318 3.1415926535*3.1415926535 / 10 -> 0.9869604400525172 PI * PI / 10 -> 0.9869604401089358 PI*PI/10 -> 0.9869604401089358 PI^2 -> 9.869604401089358 round(PI^2) -> 10 6.02E23 * 8.048 -> 4.844896e+24 e / 3 -> 0.9060939428196817 sin(PI/2) -> 1.0 10+sin(PI/4)^2 -> 10.5 trunc(E) -> 2 trunc(-E) -> -2 round(E) -> 3 round(-E) -> -3 E^PI -> 23.140692632779263 exp(0) -> 1.0 exp(1) -> 2.718281828459045 2^3^2 -> 512 (2^3)^2 -> 64 2^3+2 -> 10 2^3+5 -> 13 2^9 -> 512 sgn(-2) -> -1 sgn(0) -> 0 sgn(0.1) -> 1 round(E, 3) -> 2.718 round(PI^2, 3) -> 9.87 sgn(cos(PI/4)) -> 1 sgn(cos(PI/2)) -> 0 sgn(cos(PI*3/4)) -> -1 +(sgn(cos(PI/4))) -> 1 -(sgn(cos(PI/4))) -> -1 -> ['BODY', False] ['BODY', False] - empty: False - startBody: ['BODY', False] - empty: False - tag: 'BODY' - tag: 'BODY' -> ['BODY', ['bgcolor', '#00FFCC'], False] ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - startBody: ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False -> ['BODY', ['bgcolor', '#00FFAA'], True] ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - startBody: ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True -> ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False -> ['BODY', True] ['BODY', True] - empty: True - startBody: ['BODY', True] - empty: True - tag: 'BODY' - tag: 'BODY' -> [''] [''] - endBody: '' end tag /* * a block comment * */ typedef string[10] tenStrings; typedef sequence stringSeq; typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 /* * a block comment * */ typedef string[10] tenStrings; typedef /** ** *** **** * * a block comment * */ sequence /*comment inside an And */ stringSeq; /* */ /**/ /***/ /****/ typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], [..................'typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 const string test="Test String\n"; const long a = 0; const long b = -100; const float c = 3.14159; const long d = 0x007f7f7f; exception TestException { string msg; sequence dataStrings; }; interface TestInterface { void method1(in string arg1, inout long arg2); }; tokens = [['const', 'string', 'test', '=', '"Test String\\n"', ';'], ['const', 'long', 'a', '=', '0', ';'], ['const', 'long', 'b', '=', '-100', ';'], ['const', 'float', 'c', '=', '3.14159', ';'], ['const', 'long', 'd', '=', '0x007f7f7f', ';'], 'exception', 'TestException', '{', ['string', 'msg', ';'], [['sequence', '<', 'string', '>'], 'dataStrings', ';'], '}', ';', ['interface', 'TestInterface', '{', 'void', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', '}', ';']] 60 module Test1 { exception TestException { string msg; ]; interface TestInterface { void method1(in string arg1, inout long arg2) raises (TestException); }; }; exception TestException ^ Expected {moduleDef | {moduleItem}...}, found 'exception' (at char 56), (line:4, col:15) module Test1 { exception TestException { string msg; }; }; tokens = ['module', 'Test1', '{', 'exception', 'TestException', '{', ['string', 'msg', ';'], '}', ';', '}', ';'] 13 Test ifOnlyIfOnly Match Literal ['if'] Match Keyword failed Test if(OnlyIfOnly) Match Literal ['if'] Match Keyword ['if'] Test if (OnlyIf Only) Match Literal ['if'] Match Keyword ['if'] Test IFOnlyIfOnly Match Literal failed Match Keyword failed Test If(OnlyIfOnly) Match Literal failed Match Keyword ['if'] Test iF (OnlyIf Only) Match Literal failed Match Keyword ['if'] Raised expected exception: ValueError: null string passed to Keyword; use Empty() instead ['0', '123', '321', 444] ['spam', 'eggs'] - first: 'spam' - second: 'eggs' [] ['123', '456', 'ABC', 'DEF'] - ints: ['123', '456'] - words: ['ABC', 'DEF'] ['123', 'ABC', 'DEF'] - ints: ['123', '456'] ['List', '__add__', '__annotations__', '__bool__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_all_names', '_asStringList', '_modal', '_name', '_null_values', '_parent', '_tokdict', '_toklist', 'append', 'asDict', 'asList', 'as_dict', 'as_list', 'clear', 'copy', 'dump', 'extend', 'from_dict', 'get', 'getName', 'get_name', 'haskeys', 'insert', 'items', 'keys', 'pop', 'pprint', 'trios', 'values'] ['spam', 'eggs', 'foo', 'bar'] ['abc', 'def', 'ghi', 'ihg', 'fed', 'cba'] [['123', 456, ['789', 789]]] - trios: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['j', 'h', 'A', 'f', 'b', 'i', 'B', 'd', 'g', 'a', 'C', 'D', 'E', 'c', 'e', 'F', 'G', 'H', 'I', 'J'] ['j', 'h', 'A', 'f', 'b', 'i', 'B', 'd', 'g', 'a', 'C', 'D', 'E', 'c', 'e', 'F', 'G', 'H', 'I', 'J'] Pre-insert [[1, 2, 3], 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: dice [2]: ['rolled', 'first', 'try'] Post-insert [[1, 2, 3], 6, 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: 6 [2]: dice [3]: ['rolled', 'first', 'try'] [ 1,2,3,4,5,6 ] [['[', '1', '2', '3', '4', '5', '6', ']']] - LIST: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' [0]: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' "Golden Gate Bridge" 37.819722 -122.478611 height=746 span=4200 ['Golden Gate Bridge', [37.819722, -122.478611, ['height', 746], ['span', 4200]]] - data: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] - name: 'Golden Gate Bridge' [0]: Golden Gate Bridge [1]: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - startA: ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False [] [] [1, 2, 3, 4, 5] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 0 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 1 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 2 ................['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 3 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 4 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 5 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 1 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 2 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 3 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 4 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 5 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 1 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 2 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 3 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 4 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 5 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 1 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 2 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 3 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 4 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 5 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 0 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] - name: ['BABBAB'] ParseResults(['test', 'blub'], {'word': 'blub'}) blub {'word': 'blub'} ParseResults(['test', 'blub'], {'word': ['test', 'blub']}) ['test', 'blub'] {'word': ['test', 'blub']} ['abc'] - A: 'abc' Raised expected exception: AttributeError: __xyz__ ['5', '4', '3', '2', '1'] {'spam', 'eggs'} not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] ParseResults([('A', 'Z')], {'Achar': ('A', 'Z')}) ('A', 'Z') ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) Re:('[-+][0-9]+') correctly failed to match '1234 foo' Re:('[-+][0-9]+') correctly failed to match ' +foo' Re:('[0-9]+') correctly failed to match 'abc' Re:('[0-9]+') correctly failed to match '+123 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match 'foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '"foo bar\'' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '\'foo bar"' Re:('[-+][0-9]+') correctly matched ' +123' Re:('[-+][0-9]+') correctly matched '+123' Re:('[-+][0-9]+') correctly matched '+123 foo' Re:('[-+][0-9]+') correctly matched '-0 foo' Re:('[0-9]+') correctly matched '123 foo' Re:('[0-9]+') correctly matched '0 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched '"foo"' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched "'foo bar' baz" Re:('[A-Z]+') correctly failed to match 'blah' Re:('[A-Z]+') correctly matched 'BLAH' Re:('("(?P[^\"]*)")') correctly matched '"foo bar" baz' ['"zork"'] [('content', 'zork')] zork lets try an invalid RE successfully rejected an invalid RE: invalid pattern ('("[^"]*")|(\'[^\']*\'') passed to Regex Raised expected exception: ValueError: null string passed to Regex; use Empty() instead ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ..........................................Raised expected exception: ParseException: Missing one or more required elements ('and'), found ' ' (at char 4), (line:1, col:5) ['spam', 'and', 'eggs'] - first: 'spam' - second: 'eggs' Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['spam', 'eggs'] ['pre', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['abd', 'def', 'ghi', 'jkl'] ['abd', 'def', 'ghi', 'jkl'] Raised expected exception: TypeError: cannot multiply ParserElement and str objects Raised expected exception: TypeError: cannot multiply ParserElement and str objects ['spam', '11', '22'] - first: 'spam' - second: ['11', '22'] ['spam', '111', '222'] - first: 'spam' - second: ['111', '222'] ['spam'] - first: 'spam' ['spam', '12', '23', '34'] - first: 'spam' - second: ['12', '23', '34'] ['spam', '45'] - first: 'spam' - second: ['45'] ['spam', '100'] - first: 'spam' - second: ['100'] ['spam', '100', '200', '300'] - first: 'spam' - second: ['100', '200', '300'] ['spam', '1', '2'] - first: 'spam' - second: ['1', '2'] ['spam', '1', '2', '3'] - first: 'spam' - second: ['1', '2', '3'] Raised expected exception: ValueError: second tuple value must be greater or equal to first tuple value Raised expected exception: TypeError: cannot multiply ParserElement and (str,str) objects Raised expected exception: TypeError: cannot multiply ParserElement and (str,NoneType) objects Raised expected exception: TypeError: only 1 or 2 index arguments supported ((2, 3, 4)) ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement {{word {{word_1 word} ^ word}} ^ {word word word}} foo bar temp -> ['foo', 'bar', 'temp'] EXP: AAA ['123', '456', '789', '234'] GOT: AAA ['123', '456', '789', '234'] AAA ['123', '456', '789', '234'] EXP: 234 ['123', '456', '789'] GOT: 234 ['123', '456', '789'] 234 ['123', '456', '789'] EXP: AAA ['123', '456', '789'] GOT: AAA ['123', '456', '789'] AAA ['123', '456', '789'] EXP: 789 ['123', '456'] GOT: 789 ['123', '456'] 789 ['123', '456'] noname ['123', '456'] ['AAA', '123', '456', '789', '234'] - name: 'AAA' Raised expected exception: TypeError: pop() got an unexpected keyword argument 'notDefault' c384 b8324 _9293874 _293 404 $%^$^%$2939 [384, 8324] - prefix: ['c', 'b'] [9293874, 293] [404] [2939] - prefix: ['^%$'] [2939] [404] [['working']] [0]: ['working'] - main: ['working'] - negs_lb: 'not' got maximum excursion limit exception ['like "SQL"'] ['aaayaaa'] 'a valid single quoted string' 'an invalid single quoted string because it spans lines' "a valid double quoted string" "an invalid double quoted string because it spans lines" [("'a valid single quoted string'", 17, 47)] [('a valid double quoted string', 154, 184)] [("'a valid single quoted string'", 17, 47), ('"a valid double quoted string"', 154, 184)] [("'This string has an escaped (\\') quote character'", 17, 66)] [('This string has an escaped (\\") quote character', 83, 132)] [("'This string has an escaped (\\') quote character'", 17, 66), ('"This string has an escaped (\\") quote character"', 83, 132)] [("'This string has an doubled ('') quote character'", 17, 66)] [('This string has an doubled ("") quote character', 83, 132)] [("'This string has an doubled ('') quote character'", 17, 66), ('"This string has an doubled ("") quote character"', 83, 132)] testing catastrophic RE backtracking in implementation of dblQuotedString Raised expected exception: ValueError: endQuoteChar cannot be the empty string ['myc(114)r(11)dd'] ['myc(114)r(11)dd'] return as list of match groups [('123', '456', 'lsdfkj')] [('123', '456', 'lsdfkj')] return as re.match instance [] ('123', '456', 'lsdfkj') [('123', '456', 'lsdfkj')] Raised expected exception: TypeError: Regex may only be constructed with a string or a compiled RE object test sub with string This is the title: 'Richard III' test sub with re string

This is the main heading

This is the sub-heading

test sub with re string (Regex returns re.match)

This is the main heading

This is the sub-heading

test sub with callable that return str I want this in upcase: WHAT? WHAT? Raised expected exception: TypeError: cannot use sub() with a callable with Regex(asMatch=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) verify behavior with repeated tokens when packrat parsing is enabled skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization ['bam', 'boo'] ['boo', 'bam'] BD -> Expected {'A' | {'B' 'C'} | 'E'}, found 'D' (at char 1), (line:1, col:2) [1, 2, 3, 4, 6, 8, 9, 10, 16] [1, 2, 3, 4, 6, 8, 9, 10, 16] [11] [11] 1/2 eval: 0.5 1/0 [1, '/', 0] - denominator: 0 - numerator: 1 eval_fraction failed: ZeroDivisionError: division by zero True ['129.6.15.28', '129.6.15.29', '132.163.4.101', '132.163.4.102', '132.163.4.103'] [(ParseResults([], {}), 5, 6)] Before parsing with setBreak: False After parsing with setBreak: True a | b | c d | e | f {a | b | c | d | e | f} Forward: + | - term + | - term Forward: ?: term ?: term Forward: {a | b | c [{d | e | f : ...}]...} int [, int]... (len) int... nested () expression (, ) (, ) common HTML entity lsdjkf &'"&xyzzy; Raised expected exception: TypeError: parse actions must be callable ['A'] - Achar: 'A' verify behavior of setResultsName with OneOrMore and ZeroOrMore ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] Received expected exception: just one arg (at char 0), (line:1, col:1) ['some text /* comment with ; in */', ';', 'working'] ['some text /* comment with ; in */some other stuff', ';', 'working'] ['some text /* comment with ; in */', ';', 'working'] Raised expected exception: ParseException: Expected ';', found ' ' (at char 37), (line:1, col:38) Raised expected exception: Exception: use of `...` expression without following SkipTo target expression verify proper streamline logic {{{'A' 'B'} 'C'} 'D'} {'A' 'B' 'C' 'D'} ['123'] ['123'] ['123'] ['123'] ['123'] ['123'] Raised expected exception: ParseException: Expected W:(0-9), found ' ' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected '123', found ' ' (at char 0), (line:1, col:1) {StringStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\naaa' ['aaa'] {LineStart W:(a-e) StringEnd} ' aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\n aaa' ['aaa'] {AtLineStart:(W:(a-e)) StringEnd} ' aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 3), (line:1, col:4) {AtLineStart:(W:(a-e)) StringEnd} '\n aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 4), (line:2, col:4) garbage;DOB 10-10-2010;more garbage ID PARI12345678;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' ['ID', 'PARI12345678'] - id: 'PARI12345678' garbage;ID PARI12345678;more garbage DOB 10-10-2010;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['ID', 'PARI12345678'] - id: 'PARI12345678' ..>>entering convert_to_int(line: '132', 0, ParseResults(['132'], {})) <>entering (line: '132', 0, ParseResults([132], {})) < (ret: 1320) >>entering Z(line: '132', 0, ParseResults([1320], {})) <'], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['class', 'boo'], False, '8', '']] [0]: ['a', ['class', 'boo'], False, '8', ''] - class: 'boo' - empty: False - endA: '' - tag: 'a' - value: '8' [0]: a [1]: ['class', 'boo'] [2]: False [3]: 8 [4]: ABC DEF GHI [['D', 'G'], ['A'], ['C', 'F'], ['I'], ['E'], ['A', 'I']] JKL MNO PQR [['J', 'M', 'P'], [], ['L', 'R'], ['O'], [], ['O']] STU VWX YZ [['S', 'V'], ['Y'], ['X', 'Z'], ['U'], [], ['U', 'Y']] ABC DEF GHI JKL MNO PQR STU VWX YZ [['D', 'G', 'J', 'M', 'P', 'S', 'V'], ['A', 'Y'], ['C', 'F', 'L', 'R', 'X', 'Z'], ['I', 'O', 'U'], ['E'], ['A', 'I', 'O', 'U', 'Y']] [['Hello'], ['Mr'], ['Ed'], ["it's"], ['Wilbur']] ['ABCDEMNXYZABCDEMNXYZABCDEMNXYZ'] Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match ']\\]\\]]\]]]]]]]' -> True Testing escape char: \ -> W:([\) re: '[\[\\]+') Match '\\[[[\\[[\\\[\\[' -> True Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match ']]\]\\]\]]]\\\\\' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\BDPVKXHVOPPZSBMG' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\AVEIHGRIAMFDVVCL' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '__^_^^__^__^___^' -> True Testing escape char: ^ -> W:(]^) re: '[\]\^]+') Match '^^^^^^^^^]]]^^^^' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '_^_^^^^_______^_' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^TXHOUNFYVYUMKBFB' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^QOJOAQTXDLBXBYWC' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '....-..-.-...-..' -> True Testing escape char: - -> W:(,-) re: '[,\-]+') Match ',,-,--,,,--,,,-,' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '--.-.-..-..-----' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-RLFQJEIYEGXLCXZH' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-EMTTYGCGUSZAWGKX' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match '^]]^^^^]^^^^^^]^' -> True Testing escape char: ] -> W:(\]) re: '[\\\]]+') Match ']]\]]]]]\\\]]\]]' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match ']]]^^^^]^]^^^^^]' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') ....Match ']VVYVOGNKJXONUHXL' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']OOLZTDNBQYJHWTVX' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '\\[[\\\[[[\[\\[[' -> True Testing escape char: [ -> W:(Z[) re: '[Z\[]+') Match '[ZZ[[ZZ[[Z[Z[[[[' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '[\[\[\\[\[[\\[\[' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[XFYFYRWZIVXEKXTJ' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[TYTZRDVHVKVAJKLY' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '+**+*+*+*++*+**+' -> True Testing escape char: * -> W:()*) re: '[)*]+') Match ')*)***)*)*))*))*' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '*++**++*+*++++**' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*CKUYJLQRHPPXISVV' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*TVXLZNULAOXENMUN' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match '+,++,+,,++,+,,,,' -> True Testing escape char: + -> W:(*+) re: '[*+]+') Match '+*++**+*++*+****' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match ',,,,++++,+,++,++' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+FZEANZXTBLTGMMSQ' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+IGIGZHPIXRLJVHNC' -> True Testing escape char: . -> W:(./) re: '[./]+') Match '/..///.//..////.' -> True Testing escape char: . -> W:(-.) re: '[\-.]+') Match '..--.--.-.---..-' -> True Testing escape char: . -> W:(./) re: '[./]+') Match './///....//.////' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.GZELKSNSMZUCHTOA' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.NGYAKYLDKSSPFPED' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '@??@????@?@?@@@@' -> True Testing escape char: ? -> W:(>?) re: '[>?]+') Match '>?>?>>>>>>?>??>?' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '?????@@?@??@?@@@' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?GKVJQZIMTCCJKSNF' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?MAQBTCISIDEXJJPS' -> True ['p', 'q', 'r', 'False'] Raised expected exception: ParseException: Expected {(A-Za-z) | True | False}, found 'abc' (at char 0), (line:1, col:1) {'A' W:(0-9)} ... {'A' W:(0-9)} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9)} ... {'A' W:(0-9){2,...}} ... {'A' W:(0-9){2,6}} ... W:(A, 0-9) A[0-9]* W:(A, 0-9) A[0-9]* W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9) A[0-9]* W:(A, 0-9){2,...} ... W:(A, 0-9){2,6} ... W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){2,...} ... W:(A-Za-z, 0-9){2,6} ... .................... Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(Word()) if zero-length word is permitted Left-Recursion enabled: True [[7], [9]] [[1, 4], [2, 4], [4, 3]] [[1, 4], [2, 4]] detected fatal condition ['balloon', '25'] - item: 'balloon' - qty: '25' ['rucksack', 49] - item: 'rucksack' - qty: 49 ['AAA', ' this line'] ['AAA', ' and this line'] [] [] d | aA | a | b | c d | Aa | a | b | c ['aA', 'aA', 'aA', 'aA'] ['Aa', 'Aa', 'Aa', 'Aa'] [[1, '?', 1, ':', 0, '?', 1, ':', 0]] [0]: [1, '?', 1, ':', 0, '?', 1, ':', 0] [[1, '?', 1, ':', [0, '?', 1, ':', 0]]] [0]: [1, '?', 1, ':', [0, '?', 1, ':', 0]] [0]: 1 [1]: ? [2]: 1 [3]: : [4]: [0, '?', 1, ':', 0] ['B', 'B', 'C', 'A', 'D'] ['B'] ['bcdfghjklmnpqrstvwxyz'] Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(CharsNotIn()) if zero-length char group is permitted ['bcdfg'] ['bcdfghjklm'] Raised expected exception: ParseException: Expected !W:(AEIOU), found end of text (at char 21), (line:1, col:22) ATCATCGAATGGA ['ATCATCGAATGGA'] - mismatches: [] - original: 'ATCATCGAATGGA' XTCATCGAATGGX ['XTCATCGAATGGX'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' ATCATCGAAXGGA ['ATCATCGAAXGGA'] - mismatches: [9] - original: 'ATCATCGAATGGA' ATCAXXGAATGGA ['ATCAXXGAATGGA'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' ATCAXXGAATGXA ATCAXXGAATGXA ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCAXXGAATGG ATCAXXGAATGG ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ATCATCGAATGGA match XTCATCGAATGGX match ATCATCGAAXGGA match ATCAXXGAATGGA match ATCAXXGAATGXA exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGXA' (at char 0), (line:1, col:1) ATCAXXGAATGG exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'ATCAXXGAATGG' (at char 0), (line:1, col:1) atcatcgaatgga ['atcatcgaatgga'] - mismatches: [] - original: 'ATCATCGAATGGA' xtcatcgaatggx ['xtcatcgaatggx'] - mismatches: [0, 12] - original: 'ATCATCGAATGGA' atcatcgaaxgga ['atcatcgaaxgga'] - mismatches: [9] - original: 'ATCATCGAATGGA' atcaxxgaatgga ['atcaxxgaatgga'] - mismatches: [4, 5] - original: 'ATCATCGAATGGA' atcaxxgaatgxa atcaxxgaatgxa ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcaxxgaatgg atcaxxgaatgg ^ ParseException: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) pyparsing.core.CloseMatch - CloseMatch:'ATCATCGAATGGA' FAIL: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2610, in parseImpl raise ParseException(instring, loc, self.errmsg, self) atcatcgaatgga match xtcatcgaatggx match atcatcgaaxgga match atcaxxgaatgga match atcaxxgaatgxa exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgxa' (at char 0), (line:1, col:1) atcaxxgaatgg exc: Expected 'ATCATCGAATGGA' (with up to 2 mismatches), found 'atcaxxgaatgg' (at char 0), (line:1, col:1) ['*', '*', '*', '*'] [' ', 'test'] - indent: ' ' - word: 'test' [' ', 'test'] - word: 'test' verify processing of C and HTML comments AA:BB:CC:DD:EE:FF ['AA:BB:CC:DD:EE:FF'] AA.BB.CC.DD.EE.FF ['AA.BB.CC.DD.EE.FF'] AA-BB-CC-DD-EE-FF ['AA-BB-CC-DD-EE-FF'] # mixed delimiters AA.BB:CC:DD:EE:FF AA.BB:CC:DD:EE:FF ^ ParseException: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) pyparsing.core.Regex - MAC address FAIL: Expected MAC address, found 'AA' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 0.0.0.0 ['0.0.0.0'] 1.1.1.1 ['1.1.1.1'] 127.0.0.1 ['127.0.0.1'] 1.10.100.199 ['1.10.100.199'] 255.255.255.255 ['255.255.255.255'] # out of range value 256.255.255.255 256.255.255.255 ^ ParseException: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) pyparsing.core.Regex - IPv4 address FAIL: Expected IPv4 address, found '256' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 ['2001:0db8:85a3:0000:0000:8a2e:0370:7334'] 2134::1234:4567:2468:1236:2444:2106 ['2134::1234:4567:2468:1236:2444:2106'] 0:0:0:0:0:0:A00:1 ['0:0:0:0:0:0:A00:1'] . 1080::8:800:200C:417A ['1080::8:800:200C:417A'] ::A00:1 ['::A00:1'] # loopback address ::1 ['::1'] # the null address :: ['::'] # ipv4 compatibility form ::ffff:192.168.0.1 ['::ffff:192.168.0.1'] # too few values 1080:0:0:0:8:800:200C 1080:0:0:0:8:800:200C ^ ParseException: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) pyparsing.core.Combine - IPv6 address pyparsing.core.MatchFirst - IPv6 address pyparsing.core.And - full IPv6 address pyparsing.core.And - {':' hex_integer} pyparsing.core._SingleCharLiteral - ':' FAIL: Expected IPv6 address, found end of text (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4375, in parseImpl return self.expr._parse(instring, loc, doActions, callPreParse=False) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4136, in parseImpl raise maxException File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4114, in parseImpl return e._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 819, in _parseNoCache raise ParseException(instring, len_instring, self.errmsg, self) # too many ::'s, only 1 allowed 2134::1234:4567::2444:2106 2134::1234:4567::2444:2106 ^ ParseException: Expected end of text, found ':' (at char 15), (line:1, col:16) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found ':' (at char 15), (line:1, col:16) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 100 [100] -100 [-100] +100 [100] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1e12 [1000000000000.0] -1e12 [-1000000000000.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 100 [100.0] -100 [-100.0] +100 [100.0] 3.14159 [3.14159] 6.02e23 [6.02e+23] 1e-12 [1e-12] 1997 ['1997'] - day: None - month: None - year: '1997' 1997-07 ['1997-07'] - day: None - month: '07' - year: '1997' 1997-07-16 ['1997-07-16'] - day: '16' - month: '07' - year: '1997' 1997-07-16 [datetime.date(1997, 7, 16)] 1997-07-16T19:20+01:00 ['1997-07-16T19:20+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: None - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30+01:00 ['1997-07-16T19:20:30+01:00'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30' - tz: '+01:00' - year: '1997' 1997-07-16T19:20:30.45Z ['1997-07-16T19:20:30.45Z'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: 'Z' - year: '1997' 1997-07-16 19:20:30.45 ['1997-07-16 19:20:30.45'] - day: '16' - hour: '19' - minute: '20' - month: '07' - second: '30.45' - tz: None - year: '1997' 1997-07-16T19:20:30.45 [datetime.datetime(1997, 7, 16, 19, 20, 30, 450000)] 123e4567-e89b-12d3-a456-426655440000 ['123e4567-e89b-12d3-a456-426655440000'] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1/2 [0.5] -15/16 [-0.9375] -3/-4 [0.75] 1 1/2 [1.5] 2 -15/16 [2.9375] 0 -3/-4 [-0.75] 12 [12] 100 [100] -3 [-3] 1.732 [1.732] -3.14159 [-3.14159] 6.02e23 [6.02e+23] http://foo.com/blah_blah ['http://foo.com/blah_blah'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah/ ['http://foo.com/blah_blah/'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah/' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia) ['http://foo.com/blah_blah_(wikipedia)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_blah_(wikipedia)_(again) ['http://foo.com/blah_blah_(wikipedia)_(again)'] - auth: None - fragment: None - host: 'foo.com' - path: '/blah_blah_(wikipedia)_(again)' - port: None - query: None - scheme: 'http' http://www.example.com/wpstyle/?p=364 ['http://www.example.com/wpstyle/?p=364'] - auth: None - fragment: None - host: 'www.example.com' - path: '/wpstyle/' - port: None - query: 'p=364' - scheme: 'http' https://www.example.com/foo/?bar=baz&inga=42&quux ['https://www.example.com/foo/?bar=baz&inga=42&quux'] - auth: None - fragment: None - host: 'www.example.com' - path: '/foo/' - port: None - query: 'bar=baz&inga=42&quux' - scheme: 'https' http://✪df.ws/123 ['http://✪df.ws/123'] - auth: None - fragment: None - host: '✪df.ws' - path: '/123' - port: None - query: None - scheme: 'http' http://userid:password@example.com:8080 ['http://userid:password@example.com:8080'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com:8080/ ['http://userid:password@example.com:8080/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid@example.com ['http://userid@example.com'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid@example.com/ ['http://userid@example.com/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://userid@example.com:8080 ['http://userid@example.com:8080'] - auth: 'userid' - fragment: None - host: 'example.com' - path: None - port: '8080' - query: None - scheme: 'http' http://userid@example.com:8080/ ['http://userid@example.com:8080/'] - auth: 'userid' - fragment: None - host: 'example.com' - path: '/' - port: '8080' - query: None - scheme: 'http' http://userid:password@example.com ['http://userid:password@example.com'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: None - port: None - query: None - scheme: 'http' http://userid:password@example.com/ ['http://userid:password@example.com/'] - auth: 'userid:password' - fragment: None - host: 'example.com' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1/ ['http://142.42.1.1/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: None - query: None - scheme: 'http' http://142.42.1.1:8080/ ['http://142.42.1.1:8080/'] - auth: None - fragment: None - host: '142.42.1.1' - path: '/' - port: '8080' - query: None - scheme: 'http' http://➡.ws/䨹 ['http://➡.ws/䨹'] - auth: None - fragment: None - host: '➡.ws' - path: '/䨹' - port: None - query: None - scheme: 'http' http://⌘.ws ['http://⌘.ws'] - auth: None - fragment: None - host: '⌘.ws' - path: None - port: None - query: None - scheme: 'http' http://⌘.ws/ ['http://⌘.ws/'] - auth: None - fragment: None - host: '⌘.ws' - path: '/' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)#cite-1 ['http://foo.com/blah_(wikipedia)#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)' - port: None - query: None - scheme: 'http' http://foo.com/blah_(wikipedia)_blah#cite-1 ['http://foo.com/blah_(wikipedia)_blah#cite-1'] - auth: None - fragment: 'cite-1' - host: 'foo.com' - path: '/blah_(wikipedia)_blah' - port: None - query: None - scheme: 'http' http://foo.com/unicode_(✪)_in_parens ['http://foo.com/unicode_(✪)_in_parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/unicode_(✪)_in_parens' - port: None - query: None - scheme: 'http' http://foo.com/(something)?after=parens ['http://foo.com/(something)?after=parens'] - auth: None - fragment: None - host: 'foo.com' - path: '/(something)' - port: None - query: 'after=parens' - scheme: 'http' http://☺.damowmow.com/ ['http://☺.damowmow.com/'] - auth: None - fragment: None - host: '☺.damowmow.com' - path: '/' - port: None - query: None - scheme: 'http' http://code.google.com/events/#&product=browser ['http://code.google.com/events/#&product=browser'] - auth: None - fragment: '&product=browser' - host: 'code.google.com' - path: '/events/' - port: None - query: None - scheme: 'http' http://j.mp ['http://j.mp'] - auth: None - fragment: None - host: 'j.mp' - path: None - port: None - query: None - scheme: 'http' ftp://foo.bar/baz ['ftp://foo.bar/baz'] - auth: None - fragment: None - host: 'foo.bar' - path: '/baz' - port: None - query: None - scheme: 'ftp' http://foo.bar/?q=Test%20URL-encoded%20stuff ['http://foo.bar/?q=Test%20URL-encoded%20stuff'] - auth: None - fragment: None - host: 'foo.bar' - path: '/' - port: None - query: 'q=Test%20URL-encoded%20stuff' - scheme: 'http' http://مثال.إختبار ['http://مثال.إختبار'] - auth: None - fragment: None - host: 'مثال.إختبار' - path: None - port: None - query: None - scheme: 'http' http:// http:// ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://. http://. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.. http://.. ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://../ http://../ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://? http://? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://?? http://?? ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://??/ http://??/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://# http://# ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://## http://## ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://##/ http://##/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://foo.bar?q=Spaces should be encoded // // ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) //a //a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ///a ///a ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) /// /// ^ ParseException: Expected url, found '/' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found '/' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:///a http:///a ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) foo.com foo.com ^ ParseException: Expected url, found 'foo' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'foo' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) rdar://1234 rdar://1234 ^ ParseException: Expected url, found 'rdar' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'rdar' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) h://test h://test ^ ParseException: Expected url, found 'h' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'h' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http:// shouldfail.com http:// shouldfail.com ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) :// should fail :// should fail ^ ParseException: Expected url, found ':' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found ':' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://foo.bar/foo(bar)baz quux http://foo.bar/foo(bar)baz quux ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ftps://foo.bar/ ftps://foo.bar/ ^ ParseException: Expected url, found 'ftps' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'ftps' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://-error-.invalid/ http://-error-.invalid/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://a.b--c.de/ http://-a.b.co http://-a.b.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://a.b-.co http://a.b-.co ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://0.0.0.0 http://0.0.0.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.0 http://10.1.1.0 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ......... http://10.1.1.255 http://10.1.1.255 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://224.1.1.1 http://224.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://1.1.1.1.1 http://1.1.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://123.123.123 http://123.123.123 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://3628126748 http://3628126748 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://.www.foo.bar/ http://.www.foo.bar/ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) # skip: http://www.foo.bar./ http://.www.foo.bar./ http://.www.foo.bar./ ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) http://10.1.1.1 http://10.1.1.1 ^ ParseException: Expected url, found 'http' (at char 0), (line:1, col:1) pyparsing.core.Regex - url FAIL: Expected url, found 'http' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2987, in parseImpl raise ParseException(instring, loc, self.errmsg, self) ['https://bob:secret@www.example.com:8080/path/to/resource?filter=int#book-mark'] - auth: 'bob:secret' - fragment: 'book-mark' - host: 'www.example.com' - path: '/path/to/resource' - port: '8080' - query: 'filter=int' - scheme: 'https' Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%d', found '1997' (at char 0), (line:1, col:1) Raised expected exception: ParseException: time data '1997-07-error' does not match format '%Y-%m-%dT%H:%M:%S.%f', found '1997' (at char 0), (line:1, col:1) 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 2 5 7 6 0 1 2 3 4 5 0 3 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] B 5 7 F 0 1 2 3 4 5 _ C 5 4 3 [[5, 7], [0, 1, 2, 3, 4, 5], [], [5, 4, 3]] 5 string input item1 item2 item3 item4 item5 0 int user 2 int file 3 8 [['item1', 'item2', 'item3', 'item4', 'item5'], [], ['3', '8']] [0]: ['item1', 'item2', 'item3', 'item4', 'item5'] - count: 5 - items: ['item1', 'item2', 'item3', 'item4', 'item5'] - source: 'input' - type: 'string' [1]: [] - count: 0 - items: [] - source: 'user' - type: 'int' [2]: ['3', '8'] - count: 2 - items: ['3', '8'] - source: 'file' - type: 'int' type = '' source = '' ['True', 'True', 'False'] - items: ['True', 'True', 'False'] - type: 'bool' verify non-fatal usage of Literal("") Raised expected exception: ValueError: null string passed to Literal; use Empty() instead sdlfjs :sdf\:jls::djf: sl:kfsjf sdlfjs -sdf\:jls::--djf: sl-kfsjf sdlfjs -sdf\:::jls::--djf: sl:::-kfsjf sdlfjs ^sdf\:jls^^--djf^ sl-kfsjf sdlfjs ^^^==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf^^^ colonQuotes :(?:(?:::)|(?:\\.)|(?:[^:\n\r\\]))*: [['sdf:jls:djf'], ['jls:--djf'], [':jls:--djf'], [''], ['j=lz:--djf'], ['j=ls:--djf']] sdf:jls:djf sdf:jls:djf dashQuotes ..........\-(?:(?:\-\-)|(?:\\.)|(?:[^\-\n\r\\]))*\- [['sdf:jls::-djf: sl'], ['sdf:::jls::-djf: sl:::'], [''], [''], ['']] sdf:jls::-djf: sl sdf:jls::-djf: sl hatQuotes \^(?:(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls'], ['--djf'], [''], ['==sdf:j=lz::--djf: sl='], ['']] sdf:jls sdf:jls hatQuotes1 \^(?:(?:\^\^)|(?:\\.)|(?:[^\^\n\r\\]))*\^ [['sdf:jls^--djf'], ['^==sdf:j=lz::--djf: sl='], ['']] sdf:jls^--djf sdf:jls^--djf dblEqQuotes ==(?:(?:\\.)|(?:(?:=(?!=)))|(?:[^=\n\r\\]))*== [['sdf:j=ls::--djf: sl']] sdf:j=ls::--djf: sl sdf:j=ls::--djf: sl ::: quotes :::(?:(?:(?:::(?!:))|(?::(?!::)))|(?:[^:\n\r]))*::: [['jls::--djf: sl']] jls::--djf: sl jls::--djf: sl ==-- quotes ==(?:(?:(?:\-(?!\-)))|(?:[^\-\n\r]))*\-\- [['sdf\\:j=lz::'], ['sdf\\:j=ls::']] sdf\:j=lz:: sdf\:j=lz:: ^^^ multiline quotes \^\^\^(?:(?:(?:\^\^(?!\^))|(?:\^(?!\^\^)))|(?:[^\^]))*\^\^\^ [['==sdf\\:j=lz::--djf: sl=^^=kfsjf\n sdlfjs ==sdf\\:j=ls::--djf: sl==kfsjf']] ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf ==sdf\:j=lz::--djf: sl=^^=kfsjf sdlfjs ==sdf\:j=ls::--djf: sl==kfsjf Raised expected exception: ValueError: quote_char cannot be the empty string \.\[(?:(?:(?:\](?!\.)))|(?:[^\]\n\r]))*\]\. ['...'] [''] [']'] [']]'] \+\*(?:(?:(?:\*(?!\+)))|(?:[^*\n\r]))*\*\+ ['...'] [''] ['*'] ['**'] \*/(?:(?:(?:/(?!\*)))|(?:[^/\n\r]))*/\* ['...'] [''] ['/'] ['//'] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '1000' (at char 5), (line:1, col:6) Raised expected exception: ValueError: min must be greater than 0 Raised expected exception: ValueError: max must be greater than, or equal to min Raised expected exception: ParseException: Expected ',', found end of text (at char 12), (line:1, col:13) 'ABC' [, 'ABC']... ['ABC', 'ABC'] 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] {'True' | 'true' | 'False' | 'false'} [, {'True' | 'true' | 'False' | 'false'}]... bool bool bool bool bool [, bool]... 'ABC' [, 'ABC']... ['ABC', 'ABC', 'ABC'] ['bar', 'foo'] - one: 'foo' - two: 'bar' options(100) step(A) options(100) step(A) ^ ParseSyntaxException: Expected integer, found 'A' (at char 18), (line:1, col:19) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 18), (line:1, col:19) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal step(A) options(100) step(A) options(100) ^ ParseSyntaxException: Expected integer, found 'A' (at char 5), (line:1, col:6) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected integer, found 'A' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(100A) options(100) step(100A) ^ ParseSyntaxException: Expected 'Z', found 'A' (at char 21), (line:1, col:22) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected 'Z', found 'A' (at char 21), (line:1, col:22) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal options(100) step(22) step(100ZA) options(100) step(22) step(100ZA) ^ ParseSyntaxException: Expected ')', found 'A' (at char 31), (line:1, col:32) pyparsing.core.Each - {{'options' - '(' integer ')'} & [{{'step' - '(' integer ')'} ^ {'step' - '(' integer 'Z' ')'}}]...} FAIL: Expected ')', found 'A' (at char 31), (line:1, col:32) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4320, in parseImpl raise max_fatal aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {{word}... num} pyparsing.core.OneOrMore - {word}... pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 4790, in parseImpl loc, tokens = self_expr_parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) aa bb cc dd 123 ['aa', 'bb', 'cc', 'dd', '123'] bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] . dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word [word]... num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 ['bb', 'cc', 'dd', '123'] cc dd 123 ['cc', 'dd', '123'] dd 123 ['dd', '123'] 123 ['123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 9), (line:1, col:10) pyparsing.core.And - {[word [word [word]]] num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 9), (line:1, col:10) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) cc dd 123 ['cc', 'dd', '123'] aa bb cc dd 123 aa bb cc dd 123 ^ ParseException: Expected num, found 'cc' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'cc' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) bb cc dd 123 bb cc dd 123 ^ ParseException: Expected num, found 'dd' (at char 6), (line:1, col:7) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - num FAIL: Expected num, found 'dd' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) dd 123 dd 123 ^ ParseException: Expected word, found '123' (at char 3), (line:1, col:4) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) 123 123 ^ ParseException: Expected word, found '123' (at char 0), (line:1, col:1) pyparsing.core.And - {word word num} pyparsing.core._WordRegex - word FAIL: Expected word, found '123' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3864, in parseImpl loc, resultlist = self.exprs[0]._parse( File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2857, in parseImpl raise ParseException(instring, loc, self.errmsg, self) a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] a 1 ['a', 1] - label: 'a' - values: [1] b 1 2 3 ['b', 1, 2, 3] - label: 'b' - values: [1, 2, 3] c ['c'] - label: 'c' - values: [] .......... a 1,1 ['a', [1, 1]] - label: 'a' - points: [[1, 1]] [0]: [1, 1] - x: 1 - y: 1 [0]: a [1]: [1, 1] - x: 1 - y: 1 b 1,1 2,2 3,3 ['b', [1, 1], [2, 2], [3, 3]] - label: 'b' - points: [[1, 1], [2, 2], [3, 3]] [0]: [1, 1] - x: 1 - y: 1 [1]: [2, 2] - x: 2 - y: 2 [2]: [3, 3] - x: 3 - y: 3 [0]: b [1]: [1, 1] - x: 1 - y: 1 [2]: [2, 2] - x: 2 - y: 2 [3]: [3, 3] - x: 3 - y: 3 c ['c'] - label: 'c' - points: [] [['a', '10'], ['b', '20']] - a: '10' - b: '20' [0]: ['a', '10'] [1]: ['b', '20'] ^ ParseException: Expected W:(A-Za-z) (at char 0), (line:1, col:1) tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core.Dict - Dict:({Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}...) pyparsing.core.OneOrMore - {Group:({W:(A-Za-z) Suppress:('=') W:(0-9)})}... pyparsing.core.Group - Group:({W:(A-Za-z) Suppress:('=') W:(0-9)}) pyparsing.core.And - {W:(A-Za-z) Suppress:('=') W:(0-9)} pyparsing.core._WordRegex - W:(A-Za-z) testing empty And testing empty Or testing empty MatchFirst testing empty Each Match [{integer | W:(0-9A-Za-z)}]... at loc 0(1,1) 123 A100 ^ Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Matched [{integer | W:(0-9A-Za-z)}]... -> [123, 'A100'] Match integer at loc 0(1,1) 123 A100 ^ Matched integer -> [123] Match integer at loc 4(1,5) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found 'A100' (at char 4), (line:1, col:5) Match W:(0-9A-Za-z) at loc 4(1,5) 123 A100 ^ Matched W:(0-9A-Za-z) -> ['A100'] Match integer at loc 8(1,9) 123 A100 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 8), (line:1, col:9) Match W:(0-9A-Za-z) at loc 8(1,9) 123 A100 ^ Match W:(0-9A-Za-z) failed, ParseException raised: Expected W:(0-9A-Za-z), found end of text (at char 8), (line:1, col:9) Match integer at loc 0(1,1) 1 2 3 ^ Matched integer -> ['1'] Match integer at loc 2(1,3) 1 2 3 ^ Matched integer -> ['2'] Match integer at loc 4(1,5) 1 2 3 ^ Matched integer -> ['3'] Match integer at loc 5(1,6) 1 2 3 ^ Match integer failed, ParseException raised: Expected integer, found end of text (at char 5), (line:1, col:6) Packrat status: disabled Match Z at loc 0(1,1) aba ^ Match Z failed, ParseException raised: Expected Z, found 'aba' (at char 0), (line:1, col:1) Match leading_a at loc 0(1,1) aba ^ Match A at loc 0(1,1) aba ^ Matched A -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Matched leading_a -> ['a'] Match Z at loc 1(1,2) aba ^ Match Z failed, ParseException raised: Expected Z, found 'ba' (at char 1), (line:1, col:2) Match leading_a at loc 1(1,2) aba ^ Match A at loc 1(1,2) aba ^ Match A failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match leading_a failed, ParseException raised: Expected A, found 'ba' (at char 1), (line:1, col:2) Match B at loc 1(1,2) aba ^ Matched B -> ['b'] Match Z at loc 2(1,3) aba ^ Match Z failed, ParseException raised: Expected Z, found 'a' (at char 2), (line:1, col:3) Match leading_a at loc 2(1,3) aba ^ Match A at loc 2(1,3) aba ^ Matched A -> ['a'] Match Z at loc 3(1,4) aba ^ Match Z failed, ParseException raised: Expected Z, found end of text (at char 3), (line:1, col:4) Match A at loc 3(1,4) aba ^ Match A failed, ParseException raised: Expected A, found end of text (at char 3), (line:1, col:4) Match B at loc 3(1,4) aba ^ Match B failed, ParseException raised: Expected B, found end of text (at char 3), (line:1, col:4) Match leading_a failed, ParseException raised: Expected {Z | A | B}, found end of text (at char 3), (line:1, col:4) Match B at loc 2(1,3) aba ^ Match B failed, ParseException raised: Expected B, found 'a' (at char 2), (line:1, col:3) {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': False, 'warn_name_set_on_empty_Forward': False, 'warn_on_assignment_to_Forward': False, 'warn_on_match_first_with_lshift_operator': False, 'warn_on_multiple_string_args_to_oneof': False, 'warn_on_parse_using_empty_Forward': False, 'warn_ungrouped_named_tokens_in_collection': False} {'enable_debug_on_named_expressions': False, 'warn_multiple_tokens_in_named_alternation': True, 'warn_name_set_on_empty_Forward': True, 'warn_on_assignment_to_Forward': True, 'warn_on_match_first_with_lshift_operator': True, 'warn_on_multiple_string_args_to_oneof': True, 'warn_on_parse_using_empty_Forward': True, 'warn_ungrouped_named_tokens_in_collection': True} TypeError: descriptor 'upper' for 'str' objects doesn't apply to a 'int' object tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core._WordRegex - integer tests.test_unit.Modifier pyparsing.results.ParseResults 123 355 ^ ParseException: Expected word, found '355' (at char 4), (line:1, col:5) 123 355 (test using ErrorStop) ^ ParseSyntaxException: Expected word, found '355' (at char 4), (line:1, col:5) tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core.And - {int - word} A ^ ParseException: Expected int, found 'A' (at char 0), (line:1, col:1) tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core.And - {int int} divide_args pyparsing.core._WordRegex - int test does local memoization enable/disable during test [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [' z=1000', 'b("; in quotes")', 'c=200', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', '', '', 'y += x', 'return y'], [' this_semi_does_nothing()', ';', ''], [' neither_does_this_but_there_are_spaces_afterward()', ';', ''], [' a = "a;b"', ';', 'return a # this is a comment; it has a semicolon!'], [' z=1000', ';', 'b("; in quotes")', ';', 'c=200', ';', 'return z'], [" return ';'"], [" '''a docstring; with a semicolon'''"], [' a = 10', ';', 'b = 11', ';', 'c = 12'], [' # this comment; has several; semicolons'], [' x = 12', ';', 'return x # so; does; this; one'], [' x = 15', ';', '', ';', '', ';', 'y += x', ';', 'return y'], [''], [' def main():'], [' this_semi_does_nothing()', ''], [' neither_does_this_but_there_are_spaces_afterward()', ''], [' a = "a;b"', 'return a # this is a comment; it has a semicolon!'], [''], [' def b():'], [' if False:'], [' z=1000', 'b("; in quotes"); c=200;return z'], [" return ';'"], [''], [' class Foo(object):'], [' def bar(self):'], [" '''a docstring; with a semicolon'''"], [' a = 10', 'b = 11; c = 12'], [''], [' # this comment; has several; semicolons'], .............[' if self.spam:'], [' x = 12', 'return x # so; does; this; one'], [' x = 15', ';; y += x; return y'], [''], [' def baz(self):'], [' return self.bar'], [' '], W:(0-9) W:(0-9){3} W:(0-9){2,...} W:(0-9){1,3} W:(0-9){2,3} (0-9) ['balloon'] - item: 'balloon' - qty: 99 verify behavior of getName() ['XXX', ['b'], ['bb'], ['a'], ['bbb'], ['bbbb'], ['aa'], ['bbbbb'], [':', 'c'], ['bbbbbb'], ['aaa']] [0]: XXX [1]: ['b'] - B: 'b' [2]: ['bb'] - B: 'bb' [3]: ['a'] - A: 'a' [4]: ['bbb'] - B: 'bbb' [5]: ['bbbb'] - B: 'bbbb' [6]: ['aa'] - A: 'aa' [7]: ['bbbbb'] - B: 'bbbbb' [8]: [':', 'c'] - C: 'c' [9]: ['bbbbbb'] - B: 'bbbbbb' [10]: ['aaa'] - A: 'aaa' XXX 'XXX' ['b'] ParseResults(['b'], {'B': 'b'}) ['bb'] ParseResults(['bb'], {'B': 'bb'}) ['a'] ParseResults(['a'], {'A': 'a'}) ['bbb'] ParseResults(['bbb'], {'B': 'bbb'}) ['bbbb'] ParseResults(['bbbb'], {'B': 'bbbb'}) ['aa'] ParseResults(['aa'], {'A': 'aa'}) ['bbbbb'] ParseResults(['bbbbb'], {'B': 'bbbbb'}) [':', 'c'] ParseResults([':', 'c'], {'C': 'c'}) ['bbbbbb'] ParseResults(['bbbbbb'], {'B': 'bbbbbb'}) ['aaa'] ParseResults(['aaa'], {'A': 'aaa'}) XXX b bb a bbb bbbb aa bbbbb :c bbbbbb aaa [None, 'B', 'B', 'A', 'B', 'B', 'A', 'B', None, 'B', 'A'] ['lsjd'] non-key ['sldkjf'] non-key ['IF'] non-key ['Saslkj'] non-key ['AND'] non-key ['lsdjf'] non-key verify behavior of ParseResults.get() ['b', 'bb', 'a', 'bbb', 'bbbb', 'aa', 'bbbbb', ':', 'c', 'bbbbbb', 'aaa'] - A: 'aaa' - B: 'bbbbbb' - C: 'c' aaa !D ['11.11.13', 'useless . useless,21 useless 2 | ', 14.21, ' | asmdakldm'] ['21.12.12', 'fmpaosmfpoamsp 4 | ', 41, ' | ajfa9si90'] Raised expected exception: ParseException: Expected number, found 'useless' (at char 32), (line:1, col:33) Raised expected exception: ParseException: Expected number, found 'fmpaosmfpoamsp' (at char 32), (line:1, col:33) [["'string1'", "'string2'"]] [['string1', 'strin""g2']] [['"string1"', '"strin""g2"'], ["'string1'", "'string2'"]] [['string1', 'strin"g2']] [['string1', 'string2']] [['string1', 'string2']] [['string1', 'string2']] ["'ms1'", '1', '0', "'2009-12-22'", "'2009-12-22 10:41:22'"] This & that 2 > 1 0 < 1 Don't get excited! I said "Don't get excited!" Copyright © 2021 Dot ⟶ ˙ ['I', 'totally', 'love', 'pickles'] a = 100 b = 101 c = c1 = 200 c2 = c21 = 999 c3 = 'A horse, a horse, my kingdom for a horse' d = 505 [['a', 100], ['b', 101], ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']], ['d', 505]] - a: 100 - b: 101 - c: [['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: ['c1', 200] [1]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [2]: ['c3', 'A horse, a horse, my kingdom for a horse'] - d: 505 [0]: ['a', 100] [1]: ['b', 101] [2]: ['c', ['c1', 200], ['c2', ['c21', 999]], ['c3', 'A horse, a horse, my kingdom for a horse']] - c1: 200 - c2: [['c21', 999]] - c21: 999 [0]: ['c21', 999] - c3: 'A horse, a horse, my kingdom for a horse' [0]: c [1]: ['c1', 200] [2]: ['c2', ['c21', 999]] - c21: 999 [0]: c2 [1]: ['c21', 999] [3]: ['c3', 'A horse, a horse, my kingdom for a horse'] [3]: ['d', 505] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [['A', [100, 101, 102]], ['B', [200, 201]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [200, 201]] [0]: B [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 12345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] 1 2 3 123456789012345678901234567890 1: A| 2: 100| 3: B| 4: 200| 5: 201| 6: | [['A', [100]], ['B', [200]]] [['A', [100]], ['B', [200]]] using searchString [[['A', [100, 101, 102]]], [['B', [['b', [200, 201]]]]], [['C', [300]]]] [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] using parseString [['A', [100, 101, 102]], ['B', [['b', [200, 201]]]], ['C', [300]]] [0]: ['A', [100, 101, 102]] [0]: A [1]: [100, 101, 102] [1]: ['B', [['b', [200, 201]]]] [0]: B [1]: [['b', [200, 201]]] [0]: ['b', [200, 201]] [0]: b [1]: [200, 201] [2]: ['C', [300]] [0]: C [1]: [300] test good indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.1.2| 5: 2.| [['1.', ['1.1', ['1.1.1', '1.1.2']], '2.']] test bad indentation 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 78), (line:4, col:18) 1 2 3 123456789012345678901234567890 1: 1.| 2: 1.1| 3: 1.1.1| 4: 1.2| 5: 2.| Raised expected exception: ParseException: Expected end of text, found '1' (at char 76), (line:4, col:16) ...[['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]], 'B', ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]], 'C', 'D', ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]]] [0]: ['def', 'A', ['(', 'z', ')'], ':', [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']]] [0]: def [1]: A [2]: ['(', 'z', ')'] [3]: : [4]: [['A1'], [['B', '=', '100']], [['G', '=', 'A2']], ['A2'], ['A3']] [0]: ['A1'] [1]: [['B', '=', '100']] [0]: ['B', '=', '100'] [2]: [['G', '=', 'A2']] [0]: ['G', '=', 'A2'] [3]: ['A2'] [4]: ['A3'] [1]: B [2]: ['def', 'BB', ['(', 'a', 'b', 'c', ')'], ':', [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]]] [0]: def [1]: BB [2]: ['(', 'a', 'b', 'c', ')'] [3]: : [4]: [['BB1'], [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]]] [0]: ['BB1'] [1]: [['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]]] [0]: ['def', 'BBA', ['(', ')'], ':', [['bba1'], ['bba2'], ['bba3']]] [0]: def [1]: BBA [2]: ['(', ')'] [3]: : [4]: [['bba1'], ['bba2'], ['bba3']] [0]: ['bba1'] [1]: ['bba2'] [2]: ['bba3'] [3]: C [4]: D [5]: ['def', 'spam', ['(', 'x', 'y', ')'], ':', [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]]] [0]: def [1]: spam [2]: ['(', 'x', 'y', ')'] [3]: : [4]: [[['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]]] [0]: [['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]]] [0]: ['def', 'eggs', ['(', 'z', ')'], ':', [['pass']]] [0]: def [1]: eggs [2]: ['(', 'z', ')'] [3]: : [4]: [['pass']] [0]: ['pass'] Parsing 'one0'... Parsing 'four0'... Parsing 'extra'... Parsing 'one1'... Parsing 'four1'... extra: [test] one0: two (three) four0: five (seven) extra: [test] one1: two (three) four1: five (seven) ['extra', [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]], 'extra', [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]]] [0]: extra [1]: [['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]]] [0]: ['test', [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]]] [0]: test [1]: [['one0', [['two', 'three']]], ['four0', [['five', 'seven']]]] [0]: ['one0', [['two', 'three']]] [0]: one0 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four0', [['five', 'seven']]] [0]: four0 [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]]] [0]: ['test', [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]]] [0]: test [1]: [['one1', [['two', 'three']]], ['four1', [['five', 'seven']]]] [0]: ['one1', [['two', 'three']]] [0]: one1 [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four1', [['five', 'seven']]] [0]: four1 [1]: [['five', 'seven']] [0]: ['five', 'seven'] Parsing 'one'... Parsing 'four'... Parsing 'extra'... Parsing 'one'... Parsing 'four'... Parsing 'one'... Parsing 'four'... Parsing 'eight'... Parsing 'eleven'... Parsing 'fourteen'... Parsing 'seventeen'... extra: [test] one: two (three) four: five (seven) extra: [test] one: two (three) four: five (seven) [test] one: two (three) four: five (seven) [test] eight: nine (ten) eleven: twelve (thirteen) fourteen: fifteen (sixteen) seventeen: eighteen (nineteen) ['extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]], 'extra', [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]]] [0]: extra [1]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: extra [3]: [['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]], ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]]] [0]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [1]: ['test', [['one', [['two', 'three']]], ['four', [['five', 'seven']]]]] [0]: test [1]: [['one', [['two', 'three']]], ['four', [['five', 'seven']]]] [0]: ['one', [['two', 'three']]] [0]: one [1]: [['two', 'three']] [0]: ['two', 'three'] [1]: ['four', [['five', 'seven']]] [0]: four [1]: [['five', 'seven']] [0]: ['five', 'seven'] [2]: ['test', [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]]] [0]: test [1]: [['eight', [['nine', 'ten']]], ['eleven', [['twelve', 'thirteen']]], ['fourteen', [['fifteen', 'sixteen']]], ['seventeen', [['eighteen', 'nineteen']]]] [0]: ['eight', [['nine', 'ten']]] [0]: eight [1]: [['nine', 'ten']] [0]: ['nine', 'ten'] [1]: ['eleven', [['twelve', 'thirteen']]] [0]: eleven [1]: [['twelve', 'thirteen']] [0]: ['twelve', 'thirteen'] [2]: ['fourteen', [['fifteen', 'sixteen']]] [0]: fourteen [1]: [['fifteen', 'sixteen']] [0]: ['fifteen', 'sixteen'] [3]: ['seventeen', [['eighteen', 'nineteen']]] [0]: seventeen [1]: [['eighteen', 'nineteen']] [0]: ['eighteen', 'nineteen'] [[9, '+', 2, '+', 3]] [0]: [9, '+', 2, '+', 3] [[9, '+', [2, '*', 3]]] [0]: [9, '+', [2, '*', 3]] [0]: 9 [1]: + [2]: [2, '*', 3] [[[9, '+', 2], '*', 3]] [0]: [[9, '+', 2], '*', 3] [0]: [9, '+', 2] [1]: * [2]: 3 ..............[[[9, '+', ['-', 2]], '*', 3]] [0]: [[9, '+', ['-', 2]], '*', 3] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', ['-', 2]]], '*', 3]] [0]: [[9, '+', ['-', ['-', 2]]], '*', 3] [0]: [9, '+', ['-', ['-', 2]]] [0]: 9 [1]: + [2]: ['-', ['-', 2]] [0]: - [1]: ['-', 2] [1]: * [2]: 3 [[[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[9, '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [9, '+', ['-', 2]] [0]: 9 [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]]] [0]: [[[9, '!'], '+', ['-', 2]], '*', [3, '^', [2, '^', 2]]] [0]: [[9, '!'], '+', ['-', 2]] [0]: [9, '!'] [1]: + [2]: ['-', 2] [1]: * [2]: [3, '^', [2, '^', 2]] [0]: 3 [1]: ^ [2]: [2, '^', 2] [[['M', '*', 'X'], '+', 'B']] [0]: [['M', '*', 'X'], '+', 'B'] [0]: ['M', '*', 'X'] [1]: + [2]: B [['M', '*', ['X', '+', 'B']]] [0]: ['M', '*', ['X', '+', 'B']] [0]: M [1]: * [2]: ['X', '+', 'B'] [[1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]]] [0]: [1, '+', [2, '*', ['-', [3, '^', 4]], '*', 5], '+', ['-', ['+', ['-', 6]]]] [0]: 1 [1]: + [2]: [2, '*', ['-', [3, '^', 4]], '*', 5] [0]: 2 [1]: * [2]: ['-', [3, '^', 4]] [0]: - [1]: [3, '^', 4] [3]: * [4]: 5 [3]: + [4]: ['-', ['+', ['-', 6]]] [0]: - [1]: ['+', ['-', 6]] [0]: + [1]: ['-', 6] [[3, '!', '!']] [0]: [3, '!', '!'] p = True q = False r = True p and not q (p & ~q) = True not not p ~~p = True not(p and q) ~(p & q) = True q or not p and r (q | (~p & r)) = False q or not p or not r (q | ~p | ~r) = False q or not (p and r) (q | ~(p & r)) = False p or q or r (p | q | r) = True p or q or r and False (p | q | (r & False)) = True (p or q or r) and False ((p | q | r) & False) = False Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: if numterms=3, opExpr must be a tuple or list of two expressions Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must be unary (1), binary (2), or ternary (3) Raised expected exception: ValueError: operator must indicate right or left associativity evaluate_int 9 '9' => [9] (count=1) [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[[3, '+', 2], '?', 12, ':', 13]] [0]: [[3, '+', 2], '?', 12, ':', 13] [0]: [3, '+', 2] [1]: ? [2]: 12 [3]: : [4]: 13 [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', [2, '+', 11]]] [0]: [3, '+', [2, '+', 11]] [0]: 3 [1]: + [2]: [2, '+', 11] [[3, '+', ['<', [2, '+', 11], '>']]] [0]: [3, '+', ['<', [2, '+', 11], '>']] [0]: 3 [1]: + [2]: ['<', [2, '+', 11], '>'] [0]: < [1]: [2, '+', 11] [2]: > [[3, '+', ['<<', [2, '+', 11], '>>']]] [0]: [3, '+', ['<<', [2, '+', 11], '>>']] [0]: 3 [1]: + [2]: ['<<', [2, '+', 11], '>>'] [0]: << [1]: [2, '+', 11] [2]: >> [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 [[[3, 'x'], '+', 2]] [0]: [[3, 'x'], '+', 2] [0]: [3, 'x'] [1]: + [2]: 2 bar = foo [['bar', '=', 'foo']] bar = foo & baz = fee ['&', [['bar', '=', 'foo'], ['baz', '=', 'fee']]] ['SELECT', 'color', 'FROM', 'colors'] ['SELECT', 'color', 'FROM', 'colors'] ['1999', '/', '12', '/', '31'] - day: '31' - month: '12' - year: '1999' ['1999', '12', '31'] - day: '31' - month: '12' - year: '1999' Raised expected exception: ValueError: no such diagnostic 'xyzzy' ['testA', 'testB', 'testC'] =? ['testA', 'testB', 'testC'] ['testC'] =? ['testC'] 'testB\ntestC\n' =? 'testB\ntestC\n' ['testD', 'testE', 'testF'] =? ['testD', 'testE', 'testF'] ['testF'] =? ['testF'] 'testE\ntestF' =? 'testE\ntestF' ['a'] =? ['a'] ['a'] =? ['a'] '' =? '' 0 'aaa' 1 '\naaa' Raised expected exception: ParseException: Expected Re:('a+'), found '\' (at char 0), (line:1, col:1) 2 'a\naa' Raised expected exception: ParseException: Expected end of text, found '\' (at char 1), (line:1, col:2) 3 'aaa\n' Raised expected exception: ParseException: Expected end of text, found '\' (at char 3), (line:1, col:4) verify correct line() behavior when first line is empty string {W:(A) - LineStart W:(B)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) no \n in default whitespace chars {W:(A) - LineStart W:(B)} AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 3), (line:1, col:4) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 3), (line:1, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) ............ AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA ^ ParseSyntaxException: Expected start of line, found '\n' (at char 6), (line:1, col:7) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found '\n' (at char 6), (line:1, col:7) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - LineStart W:(B)} FAIL: Expected start of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} AAA BBB ['AAA', 'BBB'] AAA BBB ['AAA', 'BBB'] AAA BBB BBB ^ ParseSyntaxException: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected start of line, found 'BBB' (at char 10), (line:2, col:4) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) AAA BBB AAA BBB ^ ParseSyntaxException: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) pyparsing.core.And - {W:(A) - Suppress:(LineEnd) LineStart W:(B) Suppress:(LineEnd)} FAIL: Expected end of line, found 'BBB' (at char 5), (line:1, col:6) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1131, in parse_string loc, tokens = self._parse(instring, 0) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3880, in parseImpl raise ParseSyntaxException._from_exception(pe) 1 1234567890 1:AAA 1| 2:AAA 2| 3:| 4: AAA| 5:| 6:B AAA| 7:| normal parsing 0 3 1 AAA 1 ParseResults(['AAA'], {}) 6 9 2 AAA 2 ParseResults(['AAA'], {}) 12 18 3 ParseResults(['AAA'], {}) parsing without \n in whitespace chars 0 3 1 AAA 1 'A' 6 9 2 AAA 2 'A' 13 18 4 AAA ' ' 1 1234567890 1:| 2:a| 3: b| 4: c| 5:d| 6:e| 7: f| 8: g| [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [[['a']], [['b']], [['c']], [['d']], [['e']], [['f']], [['g']]] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] [['a'], ['b'], ['c'], ['d'], ['e'], ['f'], ['g']] Literal Expected 'xyz', found end of text (at char 1), (line:1, col:2) CaselessLiteral Expected 'XYZ', found end of text (at char 1), (line:1, col:2) Keyword Expected Keyword 'xyz', found end of text (at char 1), (line:1, col:2) CaselessKeyword Expected CaselessKeyword 'xyz', found end of text (at char 1), (line:1, col:2) Word Expected W:(xyz), found end of text (at char 1), (line:1, col:2) Regex Expected Re:('xyz'), found end of text (at char 1), (line:1, col:2) 1 start 2 {integer 'start' integer} [1, 'start', 2] {integer 'start' integer} [1, 'start', 2] {integer 'START' integer} [1, 'START', 2] {integer word integer} [1, 'start', 2] 3 start4 {integer 'start' integer} [3, 'start', 4] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected CaselessKeyword 'START', was immediately followed by keyword character, found '4' (at char 7), (line:1, col:8) Raised expected exception: ParseException: Expected word, found 'start4' (at char 2), (line:1, col:3) 5start 6 [5, 'start', 6] Raised expected exception: ParseException: Expected Keyword 'start', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected CaselessKeyword 'START', keyword was immediately preceded by keyword character, found '5start' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected word, found 'start' (at char 1), (line:1, col:2) [28, 'ID', 'PARI12345678', 43] - id: 'PARI12345678' - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [[28, ['ID', 'PARI12345678'], 43]] - loc: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0]: [28, ['ID', 'PARI12345678'], 43] - locn_end: 43 - locn_start: 28 - value: ['ID', 'PARI12345678'] - id: 'PARI12345678' [0]: 28 [1]: ['ID', 'PARI12345678'] - id: 'PARI12345678' [2]: 43 [0, ['ljsdf'], 5] ['ljsdf'] [8, ['lksdjjf'], 15] ['lksdjjf'] [18, ['lkkjj'], 23] ['lkkjj'] ['body', False, 'Hello', ''] - contents: 'Hello' - empty: False - endBody: '' - startBody: ['body', False] - empty: False - tag: 'body' - tag: 'body' DOB >!<100-10-2010;more garbage verify MatchFirst iterates properly ['A', 'A', '3', 'A'] Raised expected exception: ParseException: matched token not at column 1, found '3' (at char 4), (line:1, col:5) ..........................ABC ^ ParseException: Expected W:(0-9), found 'ABC' (at char 0), (line:1, col:1) tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core._WordRegex - W:(0-9) ['A'] - Achar: 'A' Raised expected exception: ValueError: cannot multiply ParserElement by negative value {'username': 'goat', 'errors': {'username': ['already taken', 'too short']}, 'empty_field': ''} Test defaults: [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default opener [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Non-default closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Literal expressions for opener and closer [[['ax', '+', 'by'], '*C']] [0]: [['ax', '+', 'by'], '*C'] [0]: ['ax', '+', 'by'] [1]: *C Use ignore expression (1) [['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello,', 'world!"']], ';;(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello,', 'world!"']] [0]: ['greeting', '"Hello,', 'world!"'] [2]: ;;(foo bar [3]: ['display', 'greeting'] Use ignore expression (2) [['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']]] [0]: ['let', [['greeting', '"Hello, )world!"']], ';;', '(foo bar', ['display', 'greeting']] [0]: let [1]: [['greeting', '"Hello, )world!"']] [0]: ['greeting', '"Hello, )world!"'] [2]: ;; [3]: (foo bar [4]: ['display', 'greeting'] Raised expected exception: ValueError: opening and closing strings cannot be the same Raised expected exception: ValueError: opening and closing arguments must be strings if no content expression is given ['aName', ['outer', ["'inner with opener {{ and closer }} in quoted string'"]]] [0]: aName [1]: ['outer', ["'inner with opener {{ and closer }} in quoted string'"]] [0]: outer [1]: ["'inner with opener {{ and closer }} in quoted string'"] ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' ['aName', ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]]] [0]: aName [1]: ['outer', ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"]] [0]: outer [1]: ["'inner", 'with', 'opener', ['and', 'closer'], 'in', 'quoted', "string'"] [0]: 'inner [1]: with [2]: opener [3]: ['and', 'closer'] [4]: in [5]: quoted [6]: string' 9413 tests produced real number PASS valid tests (321) real number with scientific notation PASS valid tests (2319) signed integer PASS valid tests (153) real number PASS invalid tests (2213) real number with scientific notation PASS invalid tests (6587) signed integer PASS invalid tests (9260) # literal oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] abc ['a', 'b', 'c'] # keyword oneOf tests a b c ['a', 'b', 'c'] a a a ['a', 'a', 'a'] # keyword oneOf failure tests abc abc ^ ParseException: Expected end of text, found 'abc' (at char 0), (line:1, col:1) pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd FAIL: Expected end of text, found 'abc' (at char 0), (line:1, col:1) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 2100, in run_tests result = self.parse_string(t, parse_all=parseAll) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 1135, in parse_string se._parse(instring, loc) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 817, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3886, in parseImpl loc, exprtokens = e._parse(instring, loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 821, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, doActions) File "/usr/src/RPM/BUILD/pyparsing-3.0.9/pyparsing/core.py", line 3534, in parseImpl raise ParseException(instring, loc, self.errmsg, self) verify oneOf handles duplicate symbols verify oneOf handles generator input verify oneOf handles list input verify oneOf handles set input Raised expected exception: TypeError: Invalid argument to one_of, expected string or iterable ['XXX Y/123', '1,234.567890'] - data: '1,234.567890' - id: 'XXX Y/123' ['0', '123', '321', 444] Raised expected exception: ParseException: OnlyOnce obj called multiple times w/out reset, found '1' (at char 0), (line:1, col:1) ['100', '200', '300', 600] verify handling of Optional's beyond the end of string Tal Weiss Major Tal Major Weiss Major Major Major Tal Major Weiss Major Tal Weiss ['foo'] - foo: ['foo'] ['bar', 'foo', 'bar', 'foo', 'bar', 'foo'] - bar: ['bar', 'bar', 'bar'] - foo: ['foo', 'foo', 'foo'] Raised expected exception: ParseException: Missing one or more required elements ('foo'), found 'bar' (at char 1), (line:1, col:2) 1999-12-31 100 2001-01-01 [['1999-12-31'], 100, ['2001-01-01']] - date: [['1999-12-31'], ['2001-01-01']] [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' - id: 100 [0]: ['1999-12-31'] - day: '31' - month: '12' - year: '1999' [1]: 100 [2]: ['2001-01-01'] - day: '01' - month: '01' - year: '2001' 42 [42] - id: 42 verify Optional's do not cause match failure if have results name _images/cal.png:77_ ['alt', 'empty', 'height', 'src', 'startImg', 'tag', 'width'] ['int', 'f', '(', ')', '{}'] ['DO', ['Z']] [244, 23, 13, 2343] - int_values: [244, 23, 13, 2343] - total: 2623 ### before parse action is added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' ### after parse action was added ### result1.dump(): [['Mauney', '46.5']] - Rider: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [0]: ['Mauney', '46.5'] - name: 'Mauney' - score: '46.5' [['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])]] [0]: ['x1', AnnotatedToken('val', ['1']), 'x2', AnnotatedToken('val', ['2'])] 'AAAAA' parseAll=False (shouldSucceed=True) 'AAAAA' parseAll=True (shouldSucceed=True) 'AAABB' parseAll=False (shouldSucceed=True) 'AAABB' parseAll=True (shouldSucceed=False) AAABB ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd 'AAAAA //blah' parseAll=False (shouldSucceed=True) 'AAAAA //blah' parseAll=True (shouldSucceed=True) 'AAABB //blah' parseAll=False (shouldSucceed=True) 'AAABB //blah' parseAll=True (shouldSucceed=False) AAABB //blah ^ ParseException: Expected end of text, found 'BB' (at char 3), (line:1, col:4) tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd '00aab' parseAll=False (shouldSucceed=True) '00aab' parseAll=True (shouldSucceed=True) '00aaf' parseAll=False (shouldSucceed=True) '00aaf' parseAll=True (shouldSucceed=False) 00aaf ^ ParseException: Expected end of text, found 'f' (at char 4), (line:1, col:5) tests.test_unit.Test10_WithLeftRecursionParsingBoundedMemo pyparsing.core.And - {Empty StringEnd} pyparsing.core.StringEnd - StringEnd Parsing: 'a,b,c,100.2,,3' -> ['a', 'b', 'c', '100.2', '', '3'] Parsing: 'd, e, j k , m ' -> ['d', 'e', 'j k', 'm'] Parsing: "'Hello, World', f, g , , 5.1,x" -> ............["'Hello, World'", 'f', 'g', '', '5.1', 'x'] Parsing: 'John Doe, 123 Main St., Cleveland, Ohio' -> ['John Doe', '123 Main St.', 'Cleveland', 'Ohio'] Parsing: 'Jane Doe, 456 St. James St., Los Angeles , California ' -> ['Jane Doe', '456 St. James St.', 'Los Angeles', 'California'] Parsing tests/karthik.ini ... 23 ['users'] users.K 8 8 users.mod_scheme 'QPSK' 'QPSK' users.Na K+2 K+2 OK Parsing examples/Setup.ini ... 125 ['Startup', 'Languages', 'test'] Startup.audioinf M3i M3i Languages.key1 0x0003 0x0003 test.foo bar bar OK Constructing EBNF parser with pyparsing... Parsing EBNF grammar with EBNF parser... - terminal_string - meta_identifier - integer - syntax - syntax_rule - definitions_list - single_definition - syntactic_term - syntactic_factor - syntactic_primary - optional_sequence - repeated_sequence - grouped_sequence Parsing EBNF grammar with generated EBNF parser... [['syntax', '=', '(', 'syntax_rule', ')', ',', '{', '(', 'syntax_rule', ')', '}', ';'], ['syntax_rule', '=', 'meta_identifier', ',', "'='", ',', 'definitions_list', ',', "';'", ';'], ['definitions_list', '=', 'single_definition', ',', '{', "'|'", ',', 'single_definition', '}', ';'], ['single_definition', '=', 'syntactic_term', ',', '{', "','", ',', 'syntactic_term', '}', ';'], ['syntactic_term', '=', 'syntactic_factor', ',', '[', "'-'", ',', 'syntactic_factor', ']', ';'], ['syntactic_factor', '=', '[', 'integer', ',', "'*'", ']', ',', 'syntactic_primary', ';'], ['syntactic_primary', '=', 'optional_sequence', '|', 'repeated_sequence', '|', 'grouped_sequence', '|', 'meta_identifier', '|', 'terminal_string', ';'], ['optional_sequence', '=', "'['", ',', 'definitions_list', ',', "']'", ';'], ['repeated_sequence', '=', "'{'", ',', 'definitions_list', ',', "'}'", ';'], ['grouped_sequence', '=', "'('", ',', 'definitions_list', ',', "')'", ';']] [['xavier', 'yeti'], ['alpha', 'beta', 'charlie'], ['will', 'beaver']] ['xavier', 'yeti'] ['alpha', 'beta', 'charlie'] ['will', 'beaver'] ['1', '0x2', '3', '0x4', 'aaa'] - base10: ['1', '3'] - hex: ['0x2', '0x4'] - word: ['aaa'] [[['Q', ['x', 'y', 'z']]], ':-', ['Bloo', ['x', 'Mitsis', 'y']], ['Foo', ['y', 'z', '1243']], ['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] - Bloo: ['x', 'Mitsis', 'y'] - Foo: ['y', 'z', '1243'] - head: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] - pred: [['y', '>', '28'], ['x', '<', '12'], ['x', '>', '3']] [0]: ['y', '>', '28'] [1]: ['x', '<', '12'] [2]: ['x', '>', '3'] [0]: [['Q', ['x', 'y', 'z']]] - Q: ['x', 'y', 'z'] [0]: ['Q', ['x', 'y', 'z']] [0]: Q [1]: ['x', 'y', 'z'] [1]: :- [2]: ['Bloo', ['x', 'Mitsis', 'y']] [0]: Bloo [1]: ['x', 'Mitsis', 'y'] [3]: ['Foo', ['y', 'z', '1243']] [0]: Foo [1]: ['y', 'z', '1243'] [4]: ['y', '>', '28'] [5]: ['x', '<', '12'] [6]: ['x', '>', '3'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]+') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] Re:('[a-z]*') ['abc'] {Re:('[a-z]+') | Re:('[a-z]+')} ['abc'] {Re:('[a-z]+') ^ Re:('[a-z]+')} ['abc'] {Re:('[a-z]*') | Re:('[a-z]*')} ['abc'] {Re:('[a-z]*') ^ Re:('[a-z]*')} ['abc'] Raised expected exception: ParseSyntaxException: Expected W:(0-9), found 'bad' (at char 4), (line:1, col:5) Raised expected exception: ParseSyntaxException: should raise here (at char 0), (line:1, col:1) Raised expected exception: ParseSyntaxException: Expected identifier, found end of text (at char 1), (line:1, col:2) [123, 456, 789] [123, 456, 789] 9 -> 9 -9 -> -9 --9 -> 9 -E -> -2.718281828459045 9 + 3 + 5 -> 17 9 + 3 / 11 -> 9.272727272727273 (9 + 3) -> 12 (9+3) / 11 -> 1.0909090909090908 9 - 12 - 6 -> -9 9 - (12 - 6) -> 3 2*3.14159 -> 6.28318 3.1415926535*3.1415926535 / 10 -> 0.9869604400525172 PI * PI / 10 -> 0.9869604401089358 PI*PI/10 -> 0.9869604401089358 PI^2 -> 9.869604401089358 round(PI^2) -> 10 6.02E23 * 8.048 -> 4.844896e+24 e / 3 -> 0.9060939428196817 sin(PI/2) -> 1.0 10+sin(PI/4)^2 -> 10.5 trunc(E) -> 2 trunc(-E) -> -2 round(E) -> 3 round(-E) -> -3 E^PI -> 23.140692632779263 exp(0) -> 1.0 exp(1) -> 2.718281828459045 2^3^2 -> 512 (2^3)^2 -> 64 2^3+2 -> 10 2^3+5 -> 13 2^9 -> 512 sgn(-2) -> -1 sgn(0) -> 0 sgn(0.1) -> 1 round(E, 3) -> 2.718 round(PI^2, 3) -> 9.87 sgn(cos(PI/4)) -> 1 sgn(cos(PI/2)) -> 0 sgn(cos(PI*3/4)) -> -1 +(sgn(cos(PI/4))) -> 1 -(sgn(cos(PI/4))) -> -1 -> ['BODY', False] ['BODY', False] - empty: False - startBody: ['BODY', False] - empty: False - tag: 'BODY' - tag: 'BODY' -> ['BODY', ['bgcolor', '#00FFCC'], False] ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - startBody: ['BODY', ['bgcolor', '#00FFCC'], False] - bgcolor: '#00FFCC' - empty: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFCC'] [2]: False -> ['BODY', ['bgcolor', '#00FFAA'], True] ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - startBody: ['BODY', ['bgcolor', '#00FFAA'], True] - bgcolor: '#00FFAA' - empty: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFAA'] [2]: True -> ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False -> ['BODY', True] ['BODY', True] - empty: True - startBody: ['BODY', True] - empty: True - tag: 'BODY' - tag: 'BODY' -> [''] [''] - endBody: '' end tag /* * a block comment * */ typedef string[10] tenStrings; typedef sequence stringSeq; typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 /* * a block comment * */ typedef string[10] tenStrings; typedef /** ** *** **** * * a block comment * */ sequence /*comment inside an And */ stringSeq; /* */ /**/ /***/ /****/ typedef sequence< sequence > stringSeqSeq; interface QoSAdmin { stringSeq method1(in string arg1, inout long arg2); stringSeqSeq method2(in string arg1, inout long arg2, inout long arg3); string method3(); }; tokens = [['typedef', 'string', '[', '10', ']', 'tenStrings', ';'], ..................['typedef', ['sequence', '<', 'string', '>'], 'stringSeq', ';'], ['typedef', ['sequence', '<', ['sequence', '<', 'string', '>'], '>'], 'stringSeqSeq', ';'], ['interface', 'QoSAdmin', '{', 'stringSeq', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', 'stringSeqSeq', 'method2', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ['inout', 'long', 'arg3'], ')', ';', 'string', 'method3', '(', ')', ';', '}', ';']] 59 const string test="Test String\n"; const long a = 0; const long b = -100; const float c = 3.14159; const long d = 0x007f7f7f; exception TestException { string msg; sequence dataStrings; }; interface TestInterface { void method1(in string arg1, inout long arg2); }; tokens = [['const', 'string', 'test', '=', '"Test String\\n"', ';'], ['const', 'long', 'a', '=', '0', ';'], ['const', 'long', 'b', '=', '-100', ';'], ['const', 'float', 'c', '=', '3.14159', ';'], ['const', 'long', 'd', '=', '0x007f7f7f', ';'], 'exception', 'TestException', '{', ['string', 'msg', ';'], [['sequence', '<', 'string', '>'], 'dataStrings', ';'], '}', ';', ['interface', 'TestInterface', '{', 'void', 'method1', '(', ['in', 'string', 'arg1'], ['inout', 'long', 'arg2'], ')', ';', '}', ';']] 60 module Test1 { exception TestException { string msg; ]; interface TestInterface { void method1(in string arg1, inout long arg2) raises (TestException); }; }; exception TestException ^ Expected {moduleDef | {moduleItem}...}, found 'exception' (at char 56), (line:4, col:15) module Test1 { exception TestException { string msg; }; }; tokens = ['module', 'Test1', '{', 'exception', 'TestException', '{', ['string', 'msg', ';'], '}', ';', '}', ';'] 13 Test ifOnlyIfOnly Match Literal ['if'] Match Keyword failed Test if(OnlyIfOnly) Match Literal ['if'] Match Keyword ['if'] Test if (OnlyIf Only) Match Literal ['if'] Match Keyword ['if'] Test IFOnlyIfOnly Match Literal failed Match Keyword failed Test If(OnlyIfOnly) Match Literal failed Match Keyword ['if'] Test iF (OnlyIf Only) Match Literal failed Match Keyword ['if'] Raised expected exception: ValueError: null string passed to Keyword; use Empty() instead ['0', '123', '321', 444] ['spam', 'eggs'] - first: 'spam' - second: 'eggs' [] ['123', '456', 'ABC', 'DEF'] - ints: ['123', '456'] - words: ['ABC', 'DEF'] ['123', 'ABC', 'DEF'] - ints: ['123', '456'] ['List', '__add__', '__annotations__', '__bool__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__slots__', '__str__', '__subclasshook__', '__weakref__', '_all_names', '_asStringList', '_modal', '_name', '_null_values', '_parent', '_tokdict', '_toklist', 'append', 'asDict', 'asList', 'as_dict', 'as_list', 'clear', 'copy', 'dump', 'extend', 'from_dict', 'get', 'getName', 'get_name', 'haskeys', 'insert', 'items', 'keys', 'pop', 'pprint', 'trios', 'values'] ['spam', 'eggs', 'foo', 'bar'] ['abc', 'def', 'ghi', 'ihg', 'fed', 'cba'] [['123', 456, ['789', 789]]] - trios: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: ['123', 456, ['789', 789]] - first: '123' - second: 456 - third: ['789', 789] - threeInt: 789 - threeStr: '789' [0]: 123 [1]: 456 [2]: ['789', 789] - threeInt: 789 - threeStr: '789' ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['j', 'A', 'b', 'e', 'f', 'c', 'g', 'd', 'B', 'C', 'D', 'a', 'E', 'F', 'G', 'H', 'i', 'I', 'h', 'J'] ['j', 'A', 'b', 'e', 'f', 'c', 'g', 'd', 'B', 'C', 'D', 'a', 'E', 'F', 'G', 'H', 'i', 'I', 'h', 'J'] Pre-insert [[1, 2, 3], 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: dice [2]: ['rolled', 'first', 'try'] Post-insert [[1, 2, 3], 6, 'dice', ['rolled', 'first', 'try']] - additional: ['rolled', 'first', 'try'] - label: 'dice' - nums: [1, 2, 3] [0]: [1, 2, 3] [1]: 6 [2]: dice [3]: ['rolled', 'first', 'try'] [ 1,2,3,4,5,6 ] [['[', '1', '2', '3', '4', '5', '6', ']']] - LIST: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' [0]: ['[', '1', '2', '3', '4', '5', '6', ']'] - END_LIST: ']' - LIST_VALUES: ['1', '2', '3', '4', '5', '6'] - LIT_NUM: ['1', '2', '3', '4', '5', '6'] - START_LIST: '[' "Golden Gate Bridge" 37.819722 -122.478611 height=746 span=4200 ['Golden Gate Bridge', [37.819722, -122.478611, ['height', 746], ['span', 4200]]] - data: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] - name: 'Golden Gate Bridge' [0]: Golden Gate Bridge [1]: [37.819722, -122.478611, ['height', 746], ['span', 4200]] - height: 746 - lat: 37.819722 - long: -122.478611 - span: 4200 [0]: 37.819722 [1]: -122.478611 [2]: ['height', 746] [3]: ['span', 4200] ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - startA: ['a', ['href', 'blah'], False] - empty: False - href: 'blah' - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False - tag: 'a' [0]: a [1]: ['href', 'blah'] [2]: False [] [] [1, 2, 3, 4, 5] ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 0 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 1 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 2 ................['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 3 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 4 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False Test pickle dump protocol 5 ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - startBody: ['BODY', ['bgcolor', '#00FFBB'], ['fgcolor', 'black'], False] - bgcolor: '#00FFBB' - empty: False - fgcolor: 'black' - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False - tag: 'BODY' [0]: BODY [1]: ['bgcolor', '#00FFBB'] [2]: ['fgcolor', 'black'] [3]: False ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 1 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 2 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 3 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 4 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 5 ['Good', 'morning', 'Miss', 'Crabtree', '!'] - greetee: ['Miss', 'Crabtree'] - greeting: ['Good', 'morning'] - punc: ['!'] Test pickle dump protocol 0 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 1 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 2 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 3 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 4 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 5 [['BABBAB']] [0]: ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] Test pickle dump protocol 0 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 1 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 2 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 3 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 4 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 5 ['BABBAB'] - name: 'BABBAB' Test pickle dump protocol 0 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 1 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 2 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 3 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 4 ['BABBAB'] - name: ['BABBAB'] Test pickle dump protocol 5 ['BABBAB'] - name: ['BABBAB'] ParseResults(['test', 'blub'], {'word': 'blub'}) blub {'word': 'blub'} ParseResults(['test', 'blub'], {'word': ['test', 'blub']}) ['test', 'blub'] {'word': ['test', 'blub']} ['abc'] - A: 'abc' Raised expected exception: AttributeError: __xyz__ ['5', '4', '3', '2', '1'] {'spam', 'eggs'} not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] not the bird ['not', 'the', 'bird'] - rexp: ['not', 'the', 'bird'] the bird ['the', 'bird'] - rexp: ['the', 'bird'] ParseResults([('A', 'Z')], {'Achar': ('A', 'Z')}) ('A', 'Z') ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) ['/', [['respectaccents']]] ('/respectaccents/ignoreaccents', 0) ['/', [['ignoreaccents']]] ('/respectaccents/ignoreaccents', 15) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 1)}, '_info_': ('/respectaccents/ignoreaccents', 1)}, '/': '', ParseResults(['respectaccents'], {'_info_': ('/respectaccents/ignoreaccents', 1)}): '', '_info_': ('/respectaccents/ignoreaccents', 0)} ('/respectaccents/ignoreaccents', 0) {'name': {'default': {'_info_': ('/respectaccents/ignoreaccents', 16)}, '_info_': ('/respectaccents/ignoreaccents', 16)}, '/': '', ParseResults(['ignoreaccents'], {'_info_': ('/respectaccents/ignoreaccents', 16)}): '', '_info_': ('/respectaccents/ignoreaccents', 15)} ('/respectaccents/ignoreaccents', 15) Re:('[-+][0-9]+') correctly failed to match '1234 foo' Re:('[-+][0-9]+') correctly failed to match ' +foo' Re:('[0-9]+') correctly failed to match 'abc' Re:('[0-9]+') correctly failed to match '+123 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match 'foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '"foo bar\'' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly failed to match '\'foo bar"' Re:('[-+][0-9]+') correctly matched ' +123' Re:('[-+][0-9]+') correctly matched '+123' Re:('[-+][0-9]+') correctly matched '+123 foo' Re:('[-+][0-9]+') correctly matched '-0 foo' Re:('[0-9]+') correctly matched '123 foo' Re:('[0-9]+') correctly matched '0 foo' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched '"foo"' Re:('("[^\"]*")|(\\'[^\\']*\\')') correctly matched "'foo bar' baz" Re:('[A-Z]+') correctly failed to match 'blah' Re:('[A-Z]+') correctly matched 'BLAH' Re:('("(?P[^\"]*)")') correctly matched '"foo bar" baz' ['"zork"'] [('content', 'zork')] zork lets try an invalid RE successfully rejected an invalid RE: invalid pattern ('("[^"]*")|(\'[^\']*\'') passed to Regex Raised expected exception: ValueError: null string passed to Regex; use Empty() instead ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ..........................................Raised expected exception: ParseException: Missing one or more required elements ('and'), found ' ' (at char 4), (line:1, col:5) ['spam', 'and', 'eggs'] - first: 'spam' - second: 'eggs' Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['spam', 'eggs'] ['pre', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement ['abd', 'def', 'ghi', 'jkl'] ['abd', 'def', 'ghi', 'jkl'] Raised expected exception: TypeError: cannot multiply ParserElement and str objects Raised expected exception: TypeError: cannot multiply ParserElement and str objects ['spam', '11', '22'] - first: 'spam' - second: ['11', '22'] ['spam', '111', '222'] - first: 'spam' - second: ['111', '222'] ['spam'] - first: 'spam' ['spam', '12', '23', '34'] - first: 'spam' - second: ['12', '23', '34'] ['spam', '45'] - first: 'spam' - second: ['45'] ['spam', '100'] - first: 'spam' - second: ['100'] ['spam', '100', '200', '300'] - first: 'spam' - second: ['100', '200', '300'] ['spam', '1', '2'] - first: 'spam' - second: ['1', '2'] ['spam', '1', '2', '3'] - first: 'spam' - second: ['1', '2', '3'] Raised expected exception: ValueError: second tuple value must be greater or equal to first tuple value Raised expected exception: TypeError: cannot multiply ParserElement and (str,str) objects Raised expected exception: TypeError: cannot multiply ParserElement and (str,NoneType) objects Raised expected exception: TypeError: only 1 or 2 index arguments supported ((2, 3, 4)) ['spam', 'eggs', 'suf'] ['pre', 'spam', 'eggs'] Raised expected exception: TypeError: Cannot combine element of type int with ParserElement Raised expected exception: TypeError: Cannot combine element of type int with ParserElement {{word {{word_1 word} ^ word}} ^ {word word word}} foo bar temp -> ['foo', 'bar', 'temp'] EXP: AAA ['123', '456', '789', '234'] GOT: AAA ['123', '456', '789', '234'] AAA ['123', '456', '789', '234'] EXP: 234 ['123', '456', '789'] GOT: 234 ['123', '456', '789'] 234 ['123', '456', '789'] EXP: AAA ['123', '456', '789'] GOT: AAA ['123', '456', '789'] AAA ['123', '456', '789'] EXP: 789 ['123', '456'] GOT: 789 ['123', '456'] 789 ['123', '456'] noname ['123', '456'] ['AAA', '123', '456', '789', '234'] - name: 'AAA' Raised expected exception: TypeError: pop() got an unexpected keyword argument 'notDefault' c384 b8324 _9293874 _293 404 $%^$^%$2939 [384, 8324] - prefix: ['c', 'b'] [9293874, 293] [404] [2939] - prefix: ['^%$'] [2939] [404] [['working']] [0]: ['working'] - main: ['working'] - negs_lb: 'not' got maximum excursion limit exception ['like "SQL"'] ['aaayaaa'] 'a valid single quoted string' 'an invalid single quoted string because it spans lines' "a valid double quoted string" "an invalid double quoted string because it spans lines" [("'a valid single quoted string'", 17, 47)] [('a valid double quoted string', 154, 184)] [("'a valid single quoted string'", 17, 47), ('"a valid double quoted string"', 154, 184)] [("'This string has an escaped (\\') quote character'", 17, 66)] [('This string has an escaped (\\") quote character', 83, 132)] [("'This string has an escaped (\\') quote character'", 17, 66), ('"This string has an escaped (\\") quote character"', 83, 132)] [("'This string has an doubled ('') quote character'", 17, 66)] [('This string has an doubled ("") quote character', 83, 132)] [("'This string has an doubled ('') quote character'", 17, 66), ('"This string has an doubled ("") quote character"', 83, 132)] testing catastrophic RE backtracking in implementation of dblQuotedString Raised expected exception: ValueError: endQuoteChar cannot be the empty string ['myc(114)r(11)dd'] ['myc(114)r(11)dd'] return as list of match groups [('123', '456', 'lsdfkj')] [('123', '456', 'lsdfkj')] return as re.match instance [] ('123', '456', 'lsdfkj') [('123', '456', 'lsdfkj')] Raised expected exception: TypeError: Regex may only be constructed with a string or a compiled RE object test sub with string This is the title: 'Richard III' test sub with re string

This is the main heading

This is the sub-heading

test sub with re string (Regex returns re.match)

This is the main heading

This is the sub-heading

test sub with callable that return str I want this in upcase: WHAT? WHAT? Raised expected exception: TypeError: cannot use sub() with a callable with Regex(asMatch=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) Raised expected exception: TypeError: cannot use sub() with Regex(asGroupList=True) verify behavior with repeated tokens when packrat parsing is enabled skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization skipping this test, not compatible with memoization ['bam', 'boo'] ['boo', 'bam'] BD -> Expected {'A' | {'B' 'C'} | 'E'}, found 'D' (at char 1), (line:1, col:2) [1, 2, 3, 4, 6, 8, 9, 10, 16] [1, 2, 3, 4, 6, 8, 9, 10, 16] [11] [11] 1/2 eval: 0.5 1/0 [1, '/', 0] - denominator: 0 - numerator: 1 eval_fraction failed: ZeroDivisionError: division by zero True ['129.6.15.28', '129.6.15.29', '132.163.4.101', '132.163.4.102', '132.163.4.103'] [(ParseResults([], {}), 5, 6)] Before parsing with setBreak: False After parsing with setBreak: True a | b | c d | e | f {a | b | c | d | e | f} Forward: + | - term + | - term Forward: ?: term ?: term Forward: {a | b | c [{d | e | f : ...}]...} int [, int]... (len) int... nested () expression (, ) (, ) common HTML entity lsdjkf &'"&xyzzy; Raised expected exception: TypeError: parse actions must be callable ['A'] - Achar: 'A' verify behavior of setResultsName with OneOrMore and ZeroOrMore ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] ['test', 'test'] Received expected exception: just one arg (at char 0), (line:1, col:1) ['some text /* comment with ; in */', ';', 'working'] ['some text /* comment with ; in */some other stuff', ';', 'working'] ['some text /* comment with ; in */', ';', 'working'] Raised expected exception: ParseException: Expected ';', found ' ' (at char 37), (line:1, col:38) Raised expected exception: Exception: use of `...` expression without following SkipTo target expression verify proper streamline logic {{{'A' 'B'} 'C'} 'D'} {'A' 'B' 'C' 'D'} ['123'] ['123'] ['123'] ['123'] ['123'] ['123'] Raised expected exception: ParseException: Expected W:(0-9), found ' ' (at char 0), (line:1, col:1) Raised expected exception: ParseException: Expected '123', found ' ' (at char 0), (line:1, col:1) {StringStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} 'aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\naaa' ['aaa'] {LineStart W:(a-e) StringEnd} ' aaa' ['aaa'] {LineStart W:(a-e) StringEnd} '\n aaa' ['aaa'] {AtLineStart:(W:(a-e)) StringEnd} ' aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 3), (line:1, col:4) {AtLineStart:(W:(a-e)) StringEnd} '\n aaa' Raised expected exception: ParseException: not found at line start, found 'aaa' (at char 4), (line:2, col:4) garbage;DOB 10-10-2010;more garbage ID PARI12345678;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['DOB', '10-10-2010'] - dob: '10-10-2010' ['ID', 'PARI12345678'] - id: 'PARI12345678' garbage;ID PARI12345678;more garbage DOB 10-10-2010;more garbage ID:PARI12345678 DOB:10-10-2010 INFO: ID:PARI12345678 DOB:10-10-2010 INFO: ['ID', 'PARI12345678'] - id: 'PARI12345678' ..>>entering convert_to_int(line: '132', 0, ParseResults(['132'], {})) <>entering (line: '132', 0, ParseResults([132], {})) < (ret: 1320) >>entering Z(line: '132', 0, ParseResults([1320], {})) <'], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['b', 'x'], False, '2', ''], ['a', ['b', 'x'], False, '3', '']] [0]: ['a', ['b', 'x'], False, '2', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '2' [0]: a [1]: ['b', 'x'] [2]: False [3]: 2 [4]: [1]: ['a', ['b', 'x'], False, '3', ''] - b: 'x' - empty: False - endA: '' - tag: 'a' - value: '3' [0]: a [1]: ['b', 'x'] [2]: False [3]: 3 [4]: [['a', ['class', 'boo'], False, '8', '']] [0]: ['a', ['class', 'boo'], False, '8', ''] - class: 'boo' - empty: False - endA: '' - tag: 'a' - value: '8' [0]: a [1]: ['class', 'boo'] [2]: False [3]: 8 [4]: ABC DEF GHI [['D', 'G'], ['A'], ['C', 'F'], ['I'], ['E'], ['A', 'I']] JKL MNO PQR [['J', 'M', 'P'], [], ['L', 'R'], ['O'], [], ['O']] STU VWX YZ [['S', 'V'], ['Y'], ['X', 'Z'], ['U'], [], ['U', 'Y']] ABC DEF GHI JKL MNO PQR STU VWX YZ [['D', 'G', 'J', 'M', 'P', 'S', 'V'], ['A', 'Y'], ['C', 'F', 'L', 'R', 'X', 'Z'], ['I', 'O', 'U'], ['E'], ['A', 'I', 'O', 'U', 'Y']] [['Hello'], ['Mr'], ['Ed'], ["it's"], ['Wilbur']] ['ABCDEMNXYZABCDEMNXYZABCDEMNXYZ'] Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match '\]]]]\]]]]]\\\\\' -> True Testing escape char: \ -> W:([\) re: '[\[\\]+') Match '\[[[\\[[[\\\\[\[' -> True Testing escape char: \ -> W:(\]) re: '[\\\]]+') Match ']\]]]]]]\\]]]]\\' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\GXKJBTCJGSYMIGYV' -> True Testing escape char: \ -> W:(\, A-Z) re: '\\[A-Z]*') Match '\KGLVJBWMYXGBQGYT' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '^_^^___^_____^^_' -> True Testing escape char: ^ -> W:(]^) re: '[\]\^]+') Match '^^]]]^]]]^]^^^]^' -> True Testing escape char: ^ -> W:(^_) re: '[\^_]+') Match '__^^_^___^^__^^_' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^KOSAMPWEBMRBFGFN' -> True Testing escape char: ^ -> W:(^, A-Z) re: '\^[A-Z]*') Match '^HMIAIBSHIZIIKMIH' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '--..-.---.-...-.' -> True Testing escape char: - -> W:(,-) re: '[,\-]+') Match '-,-----,,,--,,,-' -> True Testing escape char: - -> W:(-.) re: '[\-.]+') Match '.-..---..-..----' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-BVHRXXDWJQFGWPFJ' -> True Testing escape char: - -> W:(-, A-Z) re: '\-[A-Z]*') Match '-PPFXLQHCAJSENNLC' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match '^^]^]^]]]]]]^]^]' -> True Testing escape char: ] -> W:(\]) re: '[\\\]]+') Match '\]]\]\]\]]]]]]]]' -> True Testing escape char: ] -> W:(]^) re: '[\]\^]+') Match '^^^]^^]^^]]]^]^]' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') ....Match ']VLMBPKUKZQTKUOTF' -> True Testing escape char: ] -> W:(], A-Z) re: '\][A-Z]*') Match ']XCNDWMPIXKYSAUOS' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '[\[[\\[[\\[[\\\[' -> True Testing escape char: [ -> W:(Z[) re: '[Z\[]+') Match '[ZZ[Z[[[Z[[[[ZZZ' -> True Testing escape char: [ -> W:([\) re: '[\[\\]+') Match '[[\\[\[\\[[[[[[\' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[HXRBMSJPYZKOQIKK' -> True Testing escape char: [ -> W:([, A-Z) re: '\[[A-Z]*') Match '[HAHBSBJXHAMEUKHB' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '+++++++*+++****+' -> True Testing escape char: * -> W:()*) re: '[)*]+') Match '*)))**))****)))*' -> True Testing escape char: * -> W:(*+) re: '[*+]+') Match '++++*+***+++***+' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*QCDPDJRSWOFDJDKM' -> True Testing escape char: * -> W:(*, A-Z) re: '\*[A-Z]*') Match '*DZWXHYJLXREHZNSQ' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match ',+++++,,,,+,++,,' -> True Testing escape char: + -> W:(*+) re: '[*+]+') Match '+*+*+++****+++++' -> True Testing escape char: + -> W:(+,) re: '[+,]+') Match ',,+,,+,,++++,++,' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+RURWPJMGTZTXRMKE' -> True Testing escape char: + -> W:(+, A-Z) re: '\+[A-Z]*') Match '+LXLEPGNCWQBPLYRX' -> True Testing escape char: . -> W:(./) re: '[./]+') Match './/../../....///' -> True Testing escape char: . -> W:(-.) re: '[\-.]+') Match '...-.-..----.-.-' -> True Testing escape char: . -> W:(./) re: '[./]+') Match '../././/.././../' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.XISSBUVUVQCXDERO' -> True Testing escape char: . -> W:(., A-Z) re: '\.[A-Z]*') Match '.ONDGYOEGOPHWIGQP' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '???@?????@@@??@@' -> True Testing escape char: ? -> W:(>?) re: '[>?]+') Match '>?>?>>??>>>??>>?' -> True Testing escape char: ? -> W:(?@) re: '[?@]+') Match '?@?@???@@?@???@@' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?MCFKAUTJWLDUFWMC' -> True Testing escape char: ? -> W:(?, A-Z) re: '\?[A-Z]*') Match '?LHUHKHRWSARCIAHZ' -> True ['p', 'q', 'r', 'False'] Raised expected exception: ParseException: Expected {(A-Za-z) | True | False}, found 'abc' (at char 0), (line:1, col:1) {'A' W:(0-9)} ... {'A' W:(0-9)} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9){1,6}} ... {'A' W:(0-9)} ... {'A' W:(0-9){2,...}} ... {'A' W:(0-9){2,6}} ... W:(A, 0-9) A[0-9]* W:(A, 0-9) A[0-9]* W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9){1,6} A[0-9]{0,5} W:(A, 0-9) A[0-9]* W:(A, 0-9){2,...} ... W:(A, 0-9){2,6} ... W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9){1,6} [A-Za-z][0-9]{0,5} W:(A-Za-z, 0-9) [A-Za-z][0-9]* W:(A-Za-z, 0-9){2,...} ... W:(A-Za-z, 0-9){2,6} ... ........... ---------------------------------------------------------------------- Ran 1496 tests in 26.294s OK Raised expected exception: ValueError: cannot specify a minimum length < 1; use Opt(Word()) if zero-length word is permitted py3 finish: run-test after 26.62 seconds py3 start: run-test-post py3 finish: run-test-post after 0.00 seconds ___________________________________ summary ____________________________________ py3: commands succeeded congratulations :) cleanup /usr/src/RPM/BUILD/pyparsing-3.0.9/.tox/.tmp/package/1/pyparsing-3.0.9-py3-none-any.whl + exit 0 Processing files: python3-module-pyparsing-3.0.9-alt2 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.78220 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd pyparsing-3.0.9 + DOCDIR=/usr/src/tmp/python3-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-3.0.9 + export DOCDIR + rm -rf /usr/src/tmp/python3-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-3.0.9 + /bin/mkdir -p /usr/src/tmp/python3-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-3.0.9 + cp -prL CHANGES README.rst /usr/src/tmp/python3-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-3.0.9 + chmod -R go-w /usr/src/tmp/python3-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-3.0.9 + chmod -R a+rX /usr/src/tmp/python3-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-3.0.9 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.63kKxh find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.skKLWu find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.actions is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.common is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.core is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.exceptions is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.helpers is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.results is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.testing is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.unicode is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/__init__.py: pyparsing.util is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/actions.py: pyparsing.core is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/actions.py: pyparsing.exceptions is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/actions.py: pyparsing.util is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/common.py: pyparsing.core is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/common.py: pyparsing.helpers is possibly a self-providing dependency, skip it /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: Ignore for REQ=slight module=pdb python3.req: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: skipping sys /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: pyparsing.actions is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: pyparsing.diagram is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: pyparsing.exceptions is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: pyparsing.results is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: pyparsing.testing is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: pyparsing.unicode is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/core.py: pyparsing.util is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/diagram/__init__.py: pyparsing is possibly a self-providing dependency, skip it /usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py: Ignore for REQ=slight module=inspect python3.req: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py: skipping sys /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py: pyparsing.core is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py: pyparsing.unicode is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/exceptions.py: pyparsing.util is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/helpers.py: pyparsing is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/helpers.py: pyparsing.core is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/helpers.py: pyparsing.util is possibly a self-providing dependency, skip it /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/testing.py: pyparsing.core is possibly a self-providing dependency, skip it python3.req: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/unicode.py: skipping itertools python3.req: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/unicode.py: skipping sys python3.req: /usr/src/tmp/python3-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing/util.py: skipping itertools Provides: python3(pyparsing), python3(pyparsing.actions), python3(pyparsing.common), python3(pyparsing.core), python3(pyparsing.diagram), python3(pyparsing.exceptions), python3(pyparsing.helpers), python3(pyparsing.results), python3(pyparsing.testing), python3(pyparsing.unicode), python3(pyparsing.util) Requires: /usr/lib/python3/site-packages, python3(abc) < 0, python3(collections) < 0, python3(collections.abc) < 0, python3(contextlib) < 0, python3(copy) < 0, python3(datetime) < 0, python3(enum) < 0, python3(functools) < 0, python3(html.entities) < 0, python3(inspect) < 0, python3(io) < 0, python3(jinja2) < 0, python3(operator) < 0, python3(os) < 0, python3(pathlib) < 0, python3(pprint) < 0, python3(railroad) < 0, python3(re) < 0, python3(string) < 0, python3(threading) < 0, python3(traceback) < 0, python3(types) < 0, python3(typing) < 0, python3(warnings) < 0, python3(weakref) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python3-module-pyparsing-3.0.9-alt2.noarch.rpm (w2.lzdio) 28.83user 1.31system 0:31.58elapsed 95%CPU (0avgtext+0avgdata 136392maxresident)k 0inputs+0outputs (0major+484590minor)pagefaults 0swaps 3.03user 1.81system 0:40.62elapsed 11%CPU (0avgtext+0avgdata 107120maxresident)k 128inputs+0outputs (48272major+283734minor)pagefaults 0swaps --- python3-module-pyparsing-3.0.9-alt2.noarch.rpm.repo 2022-11-10 15:50:37.000000000 +0000 +++ python3-module-pyparsing-3.0.9-alt2.noarch.rpm.hasher 2022-12-17 10:15:03.437868391 +0000 @@ -107,5 +107,5 @@ File: /usr/lib/python3/site-packages/pyparsing/__pycache__/common.cpython-310.pyc 100644 root:root d5dd9a184ddc01ed200e5b44297893bd -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/core.cpython-310.opt-1.pyc 100644 root:root 70a0cf358779096c4dc04d5a174fc108 -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/core.cpython-310.opt-2.pyc 100644 root:root a748b6c693a935d22ff591acaa00865e -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/core.cpython-310.pyc 100644 root:root 70a0cf358779096c4dc04d5a174fc108 +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/core.cpython-310.opt-1.pyc 100644 root:root 2b70b429403ce4e784c31a58b304415a +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/core.cpython-310.opt-2.pyc 100644 root:root adaba898a30a15332b86185a55c4566c +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/core.cpython-310.pyc 100644 root:root 2989c661853d7a9e2d5d9380feff659c File: /usr/lib/python3/site-packages/pyparsing/__pycache__/exceptions.cpython-310.opt-1.pyc 100644 root:root fc8d577cace08b15fa49285edad690cf @@ -116,8 +116,8 @@ File: /usr/lib/python3/site-packages/pyparsing/__pycache__/helpers.cpython-310.pyc 100644 root:root c1a328d622f1f0980bad435071a576a4 -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.opt-1.pyc 100644 root:root 4046db09d22e3bb4b60063203ed4c61c -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.opt-2.pyc 100644 root:root 217fed064fe517a2f9c9cdf63adb18c7 -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.pyc 100644 root:root 4046db09d22e3bb4b60063203ed4c61c -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.opt-1.pyc 100644 root:root bbaf8f886ac3f9c90eb3a27a1327adb1 -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.opt-2.pyc 100644 root:root b4a04b35619facec1a9fcaaea73dbd7c -File: /usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.pyc 100644 root:root bbaf8f886ac3f9c90eb3a27a1327adb1 +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.opt-1.pyc 100644 root:root c3847d81862b99a9600bb73e40333b04 +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.opt-2.pyc 100644 root:root 6a2071be543c0c2c71580e1692b4517b +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/results.cpython-310.pyc 100644 root:root c3847d81862b99a9600bb73e40333b04 +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.opt-1.pyc 100644 root:root 9a6e930f69c83e5185f8ed79d87217f4 +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.opt-2.pyc 100644 root:root f84604b17b01df210dfdac3c1319b152 +File: /usr/lib/python3/site-packages/pyparsing/__pycache__/testing.cpython-310.pyc 100644 root:root 9a6e930f69c83e5185f8ed79d87217f4 File: /usr/lib/python3/site-packages/pyparsing/__pycache__/unicode.cpython-310.opt-1.pyc 100644 root:root 1faadb55d27b9c1a79b0bffc2e96ea07 @@ -134,5 +134,5 @@ File: /usr/lib/python3/site-packages/pyparsing/diagram/__pycache__ 40755 root:root -File: /usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.opt-1.pyc 100644 root:root 7a82299ca7907d8e30a7fd57b4b15f1a -File: /usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.opt-2.pyc 100644 root:root abdaa3f8117c3f57c0b3c0cc19265de1 -File: /usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.pyc 100644 root:root 7a82299ca7907d8e30a7fd57b4b15f1a +File: /usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.opt-1.pyc 100644 root:root 625a13f45de6f454da48e93f5bd5f1c5 +File: /usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.opt-2.pyc 100644 root:root 97db0efbf2cefc019f98b592358416cc +File: /usr/lib/python3/site-packages/pyparsing/diagram/__pycache__/__init__.cpython-310.pyc 100644 root:root 625a13f45de6f454da48e93f5bd5f1c5 File: /usr/lib/python3/site-packages/pyparsing/exceptions.py 100644 root:root f1f31bb05d818ebbc7cad0eac3c6364c @@ -147,2 +147,2 @@ File: /usr/share/doc/python3-module-pyparsing-3.0.9/README.rst 100644 root:root 928254b28fde6e8e4c5e366aa753f632 -RPMIdentity: c6f1ba4863ace5d4a689f3052ef317b969361a7614ab38a9a5fbefd1117bd044e1048f6e1a00977245fae4d54c74adf1ee42784248f7da468eeb1e82fee3fefe +RPMIdentity: 69d81e4758475d030fc815766337f2645565c4c7f3da8aa98d382d4d190b0b29153d3436dc46b7c4ea0b806ce65a5e81965b3380b9681c6d664ee15b804322b2