<86>Jul 25 09:54:19 userdel[2983851]: delete user 'rooter' <86>Jul 25 09:54:19 userdel[2983851]: removed group 'rooter' owned by 'rooter' <86>Jul 25 09:54:19 userdel[2983851]: removed shadow group 'rooter' owned by 'rooter' <86>Jul 25 09:54:19 groupadd[2983862]: group added to /etc/group: name=rooter, GID=555 <86>Jul 25 09:54:19 groupadd[2983862]: group added to /etc/gshadow: name=rooter <86>Jul 25 09:54:19 groupadd[2983862]: new group: name=rooter, GID=555 <86>Jul 25 09:54:19 useradd[2983867]: new user: name=rooter, UID=555, GID=555, home=/root, shell=/bin/bash <86>Jul 25 09:54:19 userdel[2983875]: delete user 'builder' <86>Jul 25 09:54:19 userdel[2983875]: removed group 'builder' owned by 'builder' <86>Jul 25 09:54:19 userdel[2983875]: removed shadow group 'builder' owned by 'builder' <86>Jul 25 09:54:19 groupadd[2983885]: group added to /etc/group: name=builder, GID=556 <86>Jul 25 09:54:19 groupadd[2983885]: group added to /etc/gshadow: name=builder <86>Jul 25 09:54:19 groupadd[2983885]: new group: name=builder, GID=556 <86>Jul 25 09:54:19 useradd[2983891]: new user: name=builder, UID=556, GID=556, home=/usr/src, shell=/bin/bash <13>Jul 25 09:54:21 rpmi: libgdbm-1.8.3-alt10 1454943334 installed <13>Jul 25 09:54:21 rpmi: libexpat-2.2.9-alt1 sisyphus+252464.200.2.1 1590958865 installed <13>Jul 25 09:54:21 rpmi: libp11-kit-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed <13>Jul 25 09:54:21 rpmi: libtasn1-4.16.0-alt1 sisyphus+245480.100.1.1 1580825062 installed <13>Jul 25 09:54:21 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Jul 25 09:54:21 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Jul 25 09:54:22 rpmi: ca-certificates-2020.06.29-alt1 sisyphus+254237.300.1.1 1593450881 installed <13>Jul 25 09:54:22 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed <13>Jul 25 09:54:22 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed <13>Jul 25 09:54:22 rpmi: libcrypto1.1-1.1.1g-alt1 sisyphus+249982.60.8.1 1587743711 installed <13>Jul 25 09:54:22 rpmi: libssl1.1-1.1.1g-alt1 sisyphus+249982.60.8.1 1587743711 installed <13>Jul 25 09:54:22 rpmi: python3-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed <13>Jul 25 09:54:23 rpmi: python3-base-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed <13>Jul 25 09:54:23 rpmi: libpython3-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed <13>Jul 25 09:54:23 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed <13>Jul 25 09:54:23 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed <13>Jul 25 09:54:27 rpmi: python3-module-pkg_resources-1:46.1.3-alt1 sisyphus+250566.200.3.1 1587973342 installed <13>Jul 25 09:54:27 rpmi: python3-module-six-1.14.0-alt1 sisyphus+251567.100.1.1 1589268039 installed <13>Jul 25 09:54:27 rpmi: python3-module-cryptography-3.0-alt1 sisyphus+255181.200.1.1 1595326646 installed <13>Jul 25 09:54:27 rpmi: python3-module-pluggy-0.13.1-alt2 sisyphus+250320.400.1.1 1588511673 installed <13>Jul 25 09:54:27 rpmi: python3-module-genshi-0.7-alt2 sisyphus+229363.100.1.1 1557847335 installed <13>Jul 25 09:54:27 rpmi: libsqlite3-3.32.3-alt1 sisyphus+253798.100.1.1 1592756163 installed <13>Jul 25 09:54:27 rpmi: libffi6-1:3.2.1-alt4 sisyphus+251953.300.2.1 1589891360 installed <13>Jul 25 09:54:27 rpmi: python3-modules-sqlite3-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed <13>Jul 25 09:54:27 rpmi: python3-module-ntlm-1.1.0-alt1.2 sisyphus+228512.100.1.1 1556654575 installed <13>Jul 25 09:54:28 rpmi: python3-module-virtualenv-16.7.9-alt1 sisyphus+250566.240.6.1 1588187871 installed <13>Jul 25 09:54:28 rpmi: python3-module-toml-0.10.0-alt4 sisyphus+250566.40.3.1 1587972436 installed <13>Jul 25 09:54:28 rpmi: python3-module-wcwidth-0.1.9-alt1 sisyphus+251222.500.3.1 1588843640 installed <13>Jul 25 09:54:28 rpmi: python3-module-pyparsing-2.4.2-alt1 sisyphus+236061.100.3.1 1565853577 installed <13>Jul 25 09:54:28 rpmi: python3-module-packaging-19.0-alt2 sisyphus+235493.3500.8.1 1565461874 installed <13>Jul 25 09:54:28 rpmi: python3-module-more-itertools-7.0.0-alt3 sisyphus+226536.100.1.1 1554329928 installed <13>Jul 25 09:54:28 rpmi: python3-module-iniconfig-1.0.0-alt2 sisyphus+235493.2400.6.1 1565442448 installed <13>Jul 25 09:54:28 rpmi: python3-module-filelock-3.0.10-alt1 sisyphus+228355.1000.1.1 1556554060 installed <13>Jul 25 09:54:28 rpmi: python3-module-attrs-19.3.0-alt1 sisyphus+240796.100.1.1 1573741715 installed <13>Jul 25 09:54:28 rpmi: python3-module-apipkg-1.5-alt1 sisyphus+227465.1100.1.2 1555756555 installed <13>Jul 25 09:54:28 rpmi: python3-module-py-1.8.0-alt6 sisyphus+252790.200.2.1 1591264310 installed <13>Jul 25 09:54:28 rpmi: python3-module-pytest-5.4.3-alt1 sisyphus+252705.100.3.1 1591287910 installed <13>Jul 25 09:54:28 rpmi: python3-module-webencodings-0.5.1-alt2 sisyphus+245915.200.1.1 1581496105 installed <13>Jul 25 09:54:28 rpmi: python3-module-pycparser-2.19-alt2 sisyphus+245734.100.1.1 1581192421 installed <13>Jul 25 09:54:28 rpmi: python3-module-cffi-1.14.0-alt1 sisyphus+244999.200.3.1 1585219427 installed <13>Jul 25 09:54:28 rpmi: python3-module-OpenSSL-19.0.0-alt1 sisyphus+238757.100.1.1 1570339901 installed <13>Jul 25 09:54:28 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994919 installed <13>Jul 25 09:54:28 rpmi: liblmdb-0.9.23-alt1 sisyphus+225277.100.2.1 1553001679 installed <13>Jul 25 09:54:28 rpmi: libkeyutils-1.6-alt2 sisyphus+226520.100.2.1 1554512089 installed <13>Jul 25 09:54:28 rpmi: libgpg-error-1.36-alt1 sisyphus+225621.300.1.1 1553521082 installed <13>Jul 25 09:54:28 rpmi: libgcrypt20-1.8.5-alt3 sisyphus+239622.100.1.1 1571746654 installed <13>Jul 25 09:54:28 rpmi: libxslt-1.1.34-alt2 sisyphus+248264.100.1.1 1584829770 installed <13>Jul 25 09:54:28 rpmi: python3-module-cssselect-0.9.1-alt2 sisyphus+250566.2300.6.1 1588188959 installed <13>Jul 25 09:54:28 rpmi: python3-module-html5lib-1:1.0.1-alt1 sisyphus+238807.100.2.1 1570465973 installed <13>Jul 25 09:54:28 rpmi: python3-module-lxml-4.5.0-alt2 sisyphus+250566.2700.6.1 1588189778 installed <13>Jul 25 09:54:28 rpmi: python3-module-pip-20.1.1-alt1 sisyphus+252815.100.1.1 1591282348 installed <13>Jul 25 09:54:28 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091678 installed <86>Jul 25 09:54:28 groupadd[3001477]: group added to /etc/group: name=_keytab, GID=499 <86>Jul 25 09:54:28 groupadd[3001477]: group added to /etc/gshadow: name=_keytab <86>Jul 25 09:54:28 groupadd[3001477]: new group: name=_keytab, GID=499 <13>Jul 25 09:54:29 rpmi: libkrb5-1.18.2-alt2 sisyphus+254565.100.4.1 1594375666 installed <13>Jul 25 09:54:29 rpmi: libtirpc-1.2.6-alt1 sisyphus+250076.100.1.1 1587038270 installed <13>Jul 25 09:54:29 rpmi: libnsl2-1.1.0-alt1_1 1511548749 installed <13>Jul 25 09:54:29 rpmi: python-modules-encodings-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-compiler-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-email-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-unittest-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-nis-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-json-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-ctypes-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-multiprocessing-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-module-pkg_resources-1:42.0.0-alt2 sisyphus+250566.100.6.1 1588187716 installed <13>Jul 25 09:54:29 rpmi: python-modules-sqlite3-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-modules-xml-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:29 rpmi: python-module-coverage-5.2-alt1 sisyphus+254584.100.1.1 1594055760 installed <13>Jul 25 09:54:29 rpmi: python3-module-tox-3.15.0-alt1 sisyphus+251567.200.3.1 1589351870 installed <13>Jul 25 09:54:29 rpmi: python3-module-coverage-5.2-alt1 sisyphus+254584.100.1.1 1594055760 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python-module-pyparsing-2.4.2-alt1.nosrc.rpm <13>Jul 25 09:54:32 rpmi: python-modules-logging-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:32 rpmi: python-tools-2to3-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:32 rpmi: python-modules-bsddb-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:32 rpmi: python-modules-hotshot-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:32 rpmi: python-modules-curses-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:32 rpmi: python-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:33 rpmi: python-modules-distutils-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:33 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>Jul 25 09:54:33 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>Jul 25 09:54:33 rpmi: python3-dev-3.8.5-alt1 sisyphus+244405.100.3.1 1595544514 installed <13>Jul 25 09:54:33 rpmi: libnsl2-devel-1.1.0-alt1_1 1511548749 installed <13>Jul 25 09:54:33 rpmi: python-dev-2.7.18-alt1 sisyphus+250345.100.4.1 1588665080 installed <13>Jul 25 09:54:33 rpmi: python-module-setuptools-1:42.0.0-alt2 sisyphus+250566.100.6.1 1588187716 installed <13>Jul 25 09:54:33 rpmi: python3-module-setuptools-1:46.1.3-alt1 sisyphus+250566.200.3.1 1587973342 installed Installing python-module-pyparsing-2.4.2-alt1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.77533 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python-module-pyparsing-2.4.2 + echo 'Source #0 (python-module-pyparsing-2.4.2.tar):' Source #0 (python-module-pyparsing-2.4.2.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python-module-pyparsing-2.4.2.tar + cd python-module-pyparsing-2.4.2 + /bin/chmod -c -Rf u+rwX,go-w . + sed -i -e 's/==/>=/g' -e /tox/d requirements-dev.txt + cp -a . ../python3 + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.77533 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-pyparsing-2.4.2 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python2.7 setup.py build running build running build_py creating build creating build/lib copying pyparsing.py -> build/lib + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-pyparsing-2.4.2 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python3 setup.py build running build running build_py creating build creating build/lib copying pyparsing.py -> build/lib + popd ~/RPM/BUILD/python-module-pyparsing-2.4.2 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.96314 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python-module-pyparsing-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python-module-pyparsing-buildroot + cd python-module-pyparsing-2.4.2 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python2.7 setup.py install --skip-build --root=/usr/src/tmp/python-module-pyparsing-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-pyparsing-buildroot creating /usr/src/tmp/python-module-pyparsing-buildroot/usr creating /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib creating /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7 creating /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages copying build/lib/pyparsing.py -> /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages byte-compiling /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py to pyparsing.pyc running install_egg_info running egg_info creating pyparsing.egg-info writing pyparsing.egg-info/PKG-INFO writing top-level names to pyparsing.egg-info/top_level.txt writing dependency_links to pyparsing.egg-info/dependency_links.txt writing manifest file 'pyparsing.egg-info/SOURCES.txt' reading manifest file 'pyparsing.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'HowToUsePyparsing.rst' warning: no files found matching 'pyparsingClassDiagram.*' warning: no files found matching 'README.md' warning: no files found matching 'modules.rst' no previously-included directories found matching 'docs/_build/*' writing manifest file 'pyparsing.egg-info/SOURCES.txt' Copying pyparsing.egg-info to /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing-2.4.2-py2.7.egg-info running install_scripts + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-pyparsing-2.4.2 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python-module-pyparsing-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3 creating /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages copying build/lib/pyparsing.py -> /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages byte-compiling /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py to pyparsing.cpython-38.pyc running install_egg_info running egg_info creating pyparsing.egg-info writing pyparsing.egg-info/PKG-INFO writing dependency_links to pyparsing.egg-info/dependency_links.txt writing top-level names to pyparsing.egg-info/top_level.txt writing manifest file 'pyparsing.egg-info/SOURCES.txt' reading manifest file 'pyparsing.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'HowToUsePyparsing.rst' warning: no files found matching 'pyparsingClassDiagram.*' warning: no files found matching 'README.md' warning: no files found matching 'modules.rst' no previously-included directories found matching 'docs/_build/*' writing manifest file 'pyparsing.egg-info/SOURCES.txt' Copying pyparsing.egg-info to /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.8.egg-info running install_scripts + popd ~/RPM/BUILD/python-module-pyparsing-2.4.2 + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python-module-pyparsing-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python-module-pyparsing-buildroot (binconfig,pkgconfig,libtool,desktop) Checking contents of files in /usr/src/tmp/python-module-pyparsing-buildroot/ (default) Compressing files in /usr/src/tmp/python-module-pyparsing-buildroot (auto) Adjusting library links in /usr/src/tmp/python-module-pyparsing-buildroot ./usr/lib: Verifying ELF objects in /usr/src/tmp/python-module-pyparsing-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python modules in /usr/src/tmp/python-module-pyparsing-buildroot using /usr/bin/python2.7 unlink /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.pyc compile /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py Bytecompiling python modules with optimization in /usr/src/tmp/python-module-pyparsing-buildroot using /usr/bin/python2.7 -O compile /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py Bytecompiling python3 modules in /usr/src/tmp/python-module-pyparsing-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/__pycache__/pyparsing.cpython-38.pyc compile /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python-module-pyparsing-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python-module-pyparsing-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py Hardlinking identical .pyc and .opt-?.pyc files Hardlinking identical .pyc and .pyo files './usr/lib/python2.7/site-packages/pyparsing.pyo' => './usr/lib/python2.7/site-packages/pyparsing.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.92277 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-pyparsing-2.4.2 + sed -i '/^\[testenv\]$/a whitelist_externals =\ \/bin\/cp\ \/bin\/sed\ setenv =\ pyunknown: _COV_BIN=/usr/bin\/coverage\ py38: _COV_BIN=/usr/bin\/coverage3\ commands_pre =\ \/bin\/cp {env:_COV_BIN:} \{envbindir\}\/coverage\ \/bin\/sed -i \x271c #!\{envpython\}\x27 \{envbindir\}\/coverage' tox.ini + export PIP_NO_INDEX=YES + PIP_NO_INDEX=YES + export TOXENV=pyunknown,py38 + TOXENV=pyunknown,py38 + tox.py3 --sitepackages -p auto -o -v using tox.ini: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/tox.ini (pid 3030919) using tox-3.15.0 from /usr/lib/python3/site-packages/tox/__init__.py (pid 3030919) GLOB sdist-make: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/setup.py [3033389] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/bin/python3 setup.py sdist --formats=zip --dist-dir /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/dist >.tox/log/GLOB-0.log package .tmp/package/1/pyparsing-2.4.2.zip links to dist/pyparsing-2.4.2.zip (/usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox) [3035326] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/bin/python3 /usr/lib/python3/site-packages/tox/__main__.py --sitepackages -p auto -o -v --installpkg .tox/.tmp/package/1/pyparsing-2.4.2.zip [3035329] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/bin/python3 /usr/lib/python3/site-packages/tox/__main__.py --sitepackages -p auto -o -v --installpkg .tox/.tmp/package/1/pyparsing-2.4.2.zip using tox.ini: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/tox.ini (pid 3035329) using tox.ini: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/tox.ini (pid 3035326) using tox-3.15.0 from /usr/lib/python3/site-packages/tox/__init__.py (pid 3035329) package 2/pyparsing-2.4.2.zip links to 1/pyparsing-2.4.2.zip (/usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/.tmp/package) py38 cannot reuse: no previous config /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/.tox-config1 py38 create: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38 using tox-3.15.0 from /usr/lib/python3/site-packages/tox/__init__.py (pid 3035326) package 3/pyparsing-2.4.2.zip links to 1/pyparsing-2.4.2.zip (/usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/.tmp/package) pyunknown cannot reuse: no previous config /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/.tox-config1 pyunknown create: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown [3036642] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox$ /usr/bin/python3 -m virtualenv --system-site-packages --no-download --python /usr/bin/python3 pyunknown >pyunknown/log/pyunknown-0.log [3036651] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox$ /usr/bin/python3 -m virtualenv --system-site-packages --no-download --python /usr/bin/python3 py38 >py38/log/py38-0.log py38 installdeps: -rrequirements-dev.txt [3056176] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/python -m pip install -rrequirements-dev.txt >.tox/py38/log/py38-1.log pyunknown installdeps: -rrequirements-dev.txt [3058391] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/python -m pip install -rrequirements-dev.txt >.tox/pyunknown/log/pyunknown-1.log py38 inst: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/.tmp/package/2/pyparsing-2.4.2.zip write config to /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/.tox-config1 as '005efeac67c4bc0e41c65872d7f4352481a97daef7a5eb569f239927e1affa1a /usr/bin/python3\n3.15.0 1 0 0\n00000000000000000000000000000000 -rrequirements-dev.txt' [3061461] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/python -m pip install --exists-action w .tox/.tmp/package/2/pyparsing-2.4.2.zip >.tox/py38/log/py38-2.log pyunknown inst: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/.tmp/package/3/pyparsing-2.4.2.zip write config to /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/.tox-config1 as '005efeac67c4bc0e41c65872d7f4352481a97daef7a5eb569f239927e1affa1a /usr/bin/python3\n3.15.0 1 0 0\n00000000000000000000000000000000 -rrequirements-dev.txt' [3061472] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/python -m pip install --exists-action w .tox/.tmp/package/3/pyparsing-2.4.2.zip >.tox/pyunknown/log/pyunknown-2.log [3064702] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/python -m pip freeze >.tox/py38/log/py38-3.log [3064752] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/python -m pip freeze >.tox/pyunknown/log/pyunknown-3.log py38 installed: apipkg==1.5,attrs==19.3.0,cffi==1.14.0,coverage==5.2,cryptography==3.0,cssselect==0.9.1,filelock==3.0.10,Genshi==0.7,html5lib==1.0.1,iniconfig==1.0.0,lxml==4.5.0,more-itertools==7.0.0,packaging==19.0,pluggy==0.13.1,py==1.8.0,pycparser==2.19,pyOpenSSL==19.0.0,pyparsing==2.4.2,pytest==5.4.3,python-ntlm==1.1.0,six==1.14.0,toml==0.10.0,tox==3.15.0,virtualenv==16.7.9,wcwidth==0.1.9,webencodings==0.5.1 py38 run-test-pre: PYTHONHASHSEED='1848554445' py38 run-test-pre: commands[0] | /bin/cp /usr/bin/coverage3 /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/coverage [3066656] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /bin/cp /usr/bin/coverage3 /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/coverage py38 run-test-pre: commands[1] | /bin/sed -i '1c #!/usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/python' /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/coverage [3066664] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /bin/sed -i '1c #!/usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/python' .tox/py38/bin/coverage py38 run-test: commands[0] | coverage run --parallel --branch simple_unit_tests.py [3066671] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/coverage run --parallel --branch simple_unit_tests.py pyunknown installed: apipkg==1.5,attrs==19.3.0,cffi==1.14.0,coverage==5.2,cryptography==3.0,cssselect==0.9.1,filelock==3.0.10,Genshi==0.7,html5lib==1.0.1,iniconfig==1.0.0,lxml==4.5.0,more-itertools==7.0.0,packaging==19.0,pluggy==0.13.1,py==1.8.0,pycparser==2.19,pyOpenSSL==19.0.0,pyparsing==2.4.2,pytest==5.4.3,python-ntlm==1.1.0,six==1.14.0,toml==0.10.0,tox==3.15.0,virtualenv==16.7.9,wcwidth==0.1.9,webencodings==0.5.1 pyunknown run-test-pre: PYTHONHASHSEED='48146813' pyunknown run-test-pre: commands[0] | /bin/cp /usr/bin/coverage /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/coverage [3066725] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /bin/cp /usr/bin/coverage /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/coverage pyunknown run-test-pre: commands[1] | /bin/sed -i '1c #!/usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/python' /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/coverage [3066755] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /bin/sed -i '1c #!/usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/python' .tox/pyunknown/bin/coverage pyunknown run-test: commands[0] | coverage run --parallel --branch simple_unit_tests.py [3066777] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/coverage run --parallel --branch simple_unit_tests.py Coverage.py warning: Already imported a file that will be measured: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/lib/python3/site-packages/pkg_resources/_vendor/pyparsing.py (already-imported) ............Coverage.py warning: Already imported a file that will be measured: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/lib/python3/site-packages/pkg_resources/_vendor/pyparsing.py (already-imported) ............ ---------------------------------------------------------------------- Ran 13 tests in 0.083s OK 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) __main__.TestLiteral pyparsing.Literal - "xyz" Simple fail - parse a mismatching string - Literal("xyz") xyu ^ ParseException: Expected "xyz", found 'x' (at char 0), (line:1, col:1) __main__.TestLiteral pyparsing.Literal - "xyz" Simple fail - parse a partially matching string - Literal("xyz") xy ^ ParseException: Expected "xyz", found 'x' (at char 0), (line:1, col:1) __main__.TestLiteral pyparsing.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) __main__.TestLiteral pyparsing.And - {"x" "y" "z"} pyparsing._SingleCharLiteral - "z" Match colors, converting to consistent case - ZeroOrMore([{'RED' | 'GREEN' | 'BLUE'}]...) ['RED', 'GREEN', 'BLUE', 'BLUE', 'GREEN', 'GREEN', 'RED'] 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'] Parsing real numbers - fail, parsed numbers are in pieces - ZeroOrMore([{W:(0123...) "." W:(0123...)}]...) ['1', '.', '2', '2', '.', '3', '3', '.', '1416', '98', '.', '6'] Parsing real numbers - better, use Combine to combine multiple tokens into one - ZeroOrMore([Combine:({W:(0123...) "." W:(0123...)})]...) ['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:(ABCD...) | integer}]...) ['sdlfj', 23084, 'ksdfs', 8234, 'kjsdlfkjd', 934] - alpha: ['sdlfj', 'ksdfs', 'kjsdlfkjd'] - int: [23084, 8234, 934] Using delimitedList (comma is the default delimiter) - And(W:(ABCD...) [, W:(ABCD...)]...) ['xxyx', 'xy', 'y', 'xxyx', 'yxx', 'xy'] Using delimitedList, with ':' delimiter - Combine(W:(0123...) [: W:(0123...)]...) ['0A:4B:73:21:FE:76'] 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:(ABCD..., ABCD...) "=" integer}) ['range', '=', 5280] - key: 'range' - value: 5280 Define multiple results names in groups - ZeroOrMore([Group:({W:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer}})]...) [['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:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer}})]...)) [['range', 5280], ['long', -138.52], ['lat', 46.91]] - lat: 46.91 - long: -138.52 - range: 5280 Define multiple value types - Dict(Dict:([Group:({W:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer | True | False | quoted string, starting with ' ending with '}})]...)) [['long', -122.47], ['lat', 37.82], ['public', 'True'], ['name', 'Golden Gate Bridge']] - lat: 37.82 - long: -122.47 - name: 'Golden Gate Bridge' - public: 'True' Parsing real numbers - use parse action to convert to float at parse time - ZeroOrMore([Combine:({W:(0123...) "." W:(0123...)})]...) [1.2, 2.3, 3.1416, 98.6] Match with numeric string converted to int - _WordRegex(W:(0123...)) [12345] Use two parse actions to convert numeric string, then convert to datetime - _WordRegex(W:(0123...)) [datetime.datetime(2018, 9, 20, 3, 53, 48)] Use tokenMap for parse actions that operate on a single-length token - _WordRegex(W:(0123...)) [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:(0123...)]...) ['0A:4B:73:21:FE:76'] Using a built-in function that takes a sequence of strs as a parse action - ZeroOrMore([W:(0123...)]...) ['0A', '21', '4B', '73', '76', 'FE'] A parse action that adds new key-values - ZeroOrMore([integer]...) [27, 1, 14, 22, 89] - ave: 30.6 - max: 89 - min: 1 - sum: 153 Parsing real numbers - using Regex instead of Combine - ZeroOrMore([Re:('\\d+\\.\\d+')]...) [1.2, 2.3, 3.1416, 98.6] Define a condition to only match numeric values that are multiples of 7 - ZeroOrMore([W:(0123...)]...) ['14', '35', '77'] Separate conversion to int and condition into separate parse action/conditions - ZeroOrMore([W:(0123...)]...) [14, 35, 77] Use transformString to convert simple markup to HTML - And({* | _ | / "(" !W:()) ")"}) Show in bold, underscore, or italic type A comma-delimited list of words - And(W:(ABCD...) [, W:(ABCD...)]...) ['this', 'that', 'blah', 'foo', 'bar'] A counted array of words - ZeroOrMore([(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({{real number with scientific notation | real number | signed integer} 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 oneOf (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 .py38 run-test: commands[1] | coverage run --parallel --branch unitTests.py [3068441] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/bin/coverage run --parallel --branch unitTests.py . ---------------------------------------------------------------------- Ran 13 tests in 0.084s OK 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) __main__.TestLiteral pyparsing.Literal - "xyz" Simple fail - parse a mismatching string - Literal("xyz") xyu ^ ParseException: Expected "xyz", found 'x' (at char 0), (line:1, col:1) __main__.TestLiteral pyparsing.Literal - "xyz" Simple fail - parse a partially matching string - Literal("xyz") xy ^ ParseException: Expected "xyz", found 'x' (at char 0), (line:1, col:1) __main__.TestLiteral pyparsing.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) __main__.TestLiteral pyparsing.And - {"x" "y" "z"} pyparsing._SingleCharLiteral - "z" Match colors, converting to consistent case - ZeroOrMore([{'RED' | 'GREEN' | 'BLUE'}]...) ['RED', 'GREEN', 'BLUE', 'BLUE', 'GREEN', 'GREEN', 'RED'] 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'] Parsing real numbers - fail, parsed numbers are in pieces - ZeroOrMore([{W:(0123...) "." W:(0123...)}]...) ['1', '.', '2', '2', '.', '3', '3', '.', '1416', '98', '.', '6'] Parsing real numbers - better, use Combine to combine multiple tokens into one - ZeroOrMore([Combine:({W:(0123...) "." W:(0123...)})]...) ['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:(ABCD...) | integer}]...) ['sdlfj', 23084, 'ksdfs', 8234, 'kjsdlfkjd', 934] - alpha: ['sdlfj', 'ksdfs', 'kjsdlfkjd'] - int: [23084, 8234, 934] Using delimitedList (comma is the default delimiter) - And(W:(ABCD...) [, W:(ABCD...)]...) ['xxyx', 'xy', 'y', 'xxyx', 'yxx', 'xy'] Using delimitedList, with ':' delimiter - Combine(W:(0123...) [: W:(0123...)]...) ['0A:4B:73:21:FE:76'] 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:(ABCD..., ABCD...) "=" integer}) ['range', '=', 5280] - key: 'range' - value: 5280 Define multiple results names in groups - ZeroOrMore([Group:({W:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer}})]...) [['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:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer}})]...)) [['range', 5280], ['long', -138.52], ['lat', 46.91]] - lat: 46.91 - long: -138.52 - range: 5280 Define multiple value types - Dict(Dict:([Group:({W:(ABCD...) Suppress:("=") {real number with scientific notation | real number | signed integer | True | False | quoted string, starting with ' ending with '}})]...)) [['long', -122.47], ['lat', 37.82], ['public', 'True'], ['name', 'Golden Gate Bridge']] - lat: 37.82 - long: -122.47 - name: 'Golden Gate Bridge' - public: 'True' Parsing real numbers - use parse action to convert to float at parse time - ZeroOrMore([Combine:({W:(0123...) "." W:(0123...)})]...) [1.2, 2.3, 3.1416, 98.6] Match with numeric string converted to int - _WordRegex(W:(0123...)) [12345] Use two parse actions to convert numeric string, then convert to datetime - _WordRegex(W:(0123...)) [datetime.datetime(2018, 9, 20, 3, 53, 48)] Use tokenMap for parse actions that operate on a single-length token - _WordRegex(W:(0123...)) [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:(0123...)]...) ['0A:4B:73:21:FE:76'] Using a built-in function that takes a sequence of strs as a parse action - ZeroOrMore([W:(0123...)]...) ['0A', '21', '4B', '73', '76', 'FE'] A parse action that adds new key-values - ZeroOrMore([integer]...) [27, 1, 14, 22, 89] - ave: 30.6 - max: 89 - min: 1 - sum: 153 Parsing real numbers - using Regex instead of Combine - ZeroOrMore([Re:('\\d+\\.\\d+')]...) [1.2, 2.3, 3.1416, 98.6] Define a condition to only match numeric values that are multiples of 7 - ZeroOrMore([W:(0123...)]...) ['14', '35', '77'] Separate conversion to int and condition into separate parse action/conditions - ZeroOrMore([W:(0123...)]...) [14, 35, 77] Use transformString to convert simple markup to HTML - And({* | _ | / "(" !W:()) ")"}) Show in bold, underscore, or italic type A comma-delimited list of words - And(W:(ABCD...) [, W:(ABCD...)]...) ['this', 'that', 'blah', 'foo', 'bar'] A counted array of words - ZeroOrMore([(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({{real number with scientific notation | real number | signed integer} 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 oneOf (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 pyunknown run-test: commands[1] | coverage run --parallel --branch unitTests.py [3068542] /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2$ /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/bin/coverage run --parallel --branch unitTests.py Coverage.py warning: Already imported a file that will be measured: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/py38/lib/python3/site-packages/pkg_resources/_vendor/pyparsing.py (already-imported) ..Coverage.py warning: Already imported a file that will be measured: /usr/src/RPM/BUILD/python-module-pyparsing-2.4.2/.tox/pyunknown/lib/python3/site-packages/pkg_resources/_vendor/pyparsing.py (already-imported) .................................................................................................................................................................................................................................................................................................................................................................................................................. ---------------------------------------------------------------------- Ran 217 tests in 31.090s OK Beginning test of pyparsing, version 2.4.2 29 Jul 2019 02:58 UTC Python version 3.8.5 (default, Jul 22 2020, 15:04:01) [GCC 9.3.1 20200518 (ALT Sisyphus 9.3.1-alt1)] ✔ OK py38 in 44.225 seconds .............................. ---------------------------------------------------------------------- Ran 217 tests in 32.521s OK Beginning test of pyparsing, version 2.4.2 29 Jul 2019 02:58 UTC Python version 3.8.5 (default, Jul 22 2020, 15:04:01) [GCC 9.3.1 20200518 (ALT Sisyphus 9.3.1-alt1)] ✔ OK pyunknown in 45.761 seconds ___________________________________ summary ____________________________________ pyunknown: commands succeeded py38: commands succeeded congratulations :) + exit 0 Processing files: python-module-pyparsing-2.4.2-alt1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.59542 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-pyparsing-2.4.2 + DOCDIR=/usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python-module-pyparsing-2.4.2 + export DOCDIR + rm -rf /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python-module-pyparsing-2.4.2 + /bin/mkdir -p /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python-module-pyparsing-2.4.2 + cp -prL CHANGES README.rst /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python-module-pyparsing-2.4.2 + chmod -R go-w /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python-module-pyparsing-2.4.2 + chmod -R a+rX /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python-module-pyparsing-2.4.2 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.n51jXj 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.dbaVKm find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) python.req: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: skipping sys /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=120 IGNORE (for REQ=slight and deep=8) module=itertools /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=122 IGNORE (for REQ=slight and deep=8) module=itertools /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=125 IGNORE (for REQ=slight and deep=8) module=_thread /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=127 IGNORE (for REQ=slight and deep=8) module=threading /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=131 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=132 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=135 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=136 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=139 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=142 IGNORE (for REQ=slight and deep=12) module=ordereddict /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=147 IGNORE (for REQ=slight and deep=8) module=types /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=252 IGNORE (for REQ=slight and deep=8) module=__builtin__ /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=402 IGNORE (for REQ=slight and deep=12) module=inspect /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=1493 IGNORE (for REQ=slight and deep=19) module=pdb /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python2.7/site-packages/pyparsing.py: line=6890 IGNORE (for REQ=slight and deep=8) module=uuid Provides: python2.7(pyparsing) Requires: /usr/lib/python2.7/site-packages, python-modules Processing files: python3-module-pyparsing-2.4.2-alt1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.41975 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-pyparsing-2.4.2 + DOCDIR=/usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-2.4.2 + export DOCDIR + rm -rf /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-2.4.2 + /bin/mkdir -p /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-2.4.2 + cp -prL CHANGES README.rst /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-2.4.2 + chmod -R go-w /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-2.4.2 + chmod -R a+rX /usr/src/tmp/python-module-pyparsing-buildroot/usr/share/doc/python3-module-pyparsing-2.4.2 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.KamU4m 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.Cs3lQm find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) python3.req: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: skipping sys python3.req: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: skipping itertools /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=120 IGNORE (for REQ=slight and deep=8) module=itertools /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=122 IGNORE (for REQ=slight and deep=8) module=itertools /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=125 IGNORE (for REQ=slight and deep=8) module=_thread /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=127 IGNORE (for REQ=slight and deep=8) module=threading /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=131 IGNORE (for REQ=slight and deep=8) module=collections.abc /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=132 IGNORE (for REQ=slight and deep=8) module=collections.abc /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=135 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=136 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=139 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=142 IGNORE (for REQ=slight and deep=12) module=ordereddict /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=147 IGNORE (for REQ=slight and deep=8) module=types /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=252 IGNORE (for REQ=slight and deep=8) module=__builtin__ /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=402 IGNORE (for REQ=slight and deep=12) module=inspect /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=1493 IGNORE (for REQ=slight and deep=19) module=pdb /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-pyparsing-buildroot/usr/lib/python3/site-packages/pyparsing.py: line=6890 IGNORE (for REQ=slight and deep=8) module=uuid Provides: python3(pyparsing) Requires: /usr/lib/python3/site-packages, python3(collections) < 0, python3(copy) < 0, python3(datetime) < 0, python3(functools) < 0, python3(operator) < 0, python3(pprint) < 0, python3(re) < 0, python3(sre_constants) < 0, python3(string) < 0, python3(traceback) < 0, python3(types) < 0, python3(warnings) < 0, python3(weakref) < 0 Wrote: /usr/src/RPM/RPMS/noarch/python-module-pyparsing-2.4.2-alt1.noarch.rpm Wrote: /usr/src/RPM/RPMS/noarch/python3-module-pyparsing-2.4.2-alt1.noarch.rpm 101.43user 2.45system 1:04.20elapsed 161%CPU (0avgtext+0avgdata 106840maxresident)k 0inputs+0outputs (0major+611514minor)pagefaults 0swaps 114.81user 8.51system 1:25.37elapsed 144%CPU (0avgtext+0avgdata 110688maxresident)k 0inputs+0outputs (0major+1117222minor)pagefaults 0swaps --- python3-module-pyparsing-2.4.2-alt1.noarch.rpm.repo 2019-08-15 07:19:39.000000000 +0000 +++ python3-module-pyparsing-2.4.2-alt1.noarch.rpm.hasher 2020-07-25 09:55:39.591982960 +0000 @@ -1,9 +1,9 @@ -/usr/lib/python3/site-packages/__pycache__/pyparsing.cpython-37.opt-1.pyc 100644 -/usr/lib/python3/site-packages/__pycache__/pyparsing.cpython-37.opt-2.pyc 100644 -/usr/lib/python3/site-packages/__pycache__/pyparsing.cpython-37.pyc 100644 -/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.7.egg-info 40755 -/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.7.egg-info/PKG-INFO 100644 -/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.7.egg-info/SOURCES.txt 100644 -/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.7.egg-info/dependency_links.txt 100644 -/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.7.egg-info/top_level.txt 100644 +/usr/lib/python3/site-packages/__pycache__/pyparsing.cpython-38.opt-1.pyc 100644 +/usr/lib/python3/site-packages/__pycache__/pyparsing.cpython-38.opt-2.pyc 100644 +/usr/lib/python3/site-packages/__pycache__/pyparsing.cpython-38.pyc 100644 +/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.8.egg-info 40755 +/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.8.egg-info/PKG-INFO 100644 +/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.8.egg-info/SOURCES.txt 100644 +/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.8.egg-info/dependency_links.txt 100644 +/usr/lib/python3/site-packages/pyparsing-2.4.2-py3.8.egg-info/top_level.txt 100644 /usr/lib/python3/site-packages/pyparsing.py 100644