<86>Aug 2 07:43:17 userdel[4124470]: delete user 'rooter' <86>Aug 2 07:43:17 userdel[4124470]: removed group 'rooter' owned by 'rooter' <86>Aug 2 07:43:17 userdel[4124470]: removed shadow group 'rooter' owned by 'rooter' <86>Aug 2 07:43:17 groupadd[4124534]: group added to /etc/group: name=rooter, GID=675 <86>Aug 2 07:43:17 groupadd[4124534]: group added to /etc/gshadow: name=rooter <86>Aug 2 07:43:17 groupadd[4124534]: new group: name=rooter, GID=675 <86>Aug 2 07:43:17 useradd[4124574]: new user: name=rooter, UID=675, GID=675, home=/root, shell=/bin/bash <86>Aug 2 07:43:17 userdel[4124643]: delete user 'builder' <86>Aug 2 07:43:17 userdel[4124643]: removed group 'builder' owned by 'builder' <86>Aug 2 07:43:17 userdel[4124643]: removed shadow group 'builder' owned by 'builder' <86>Aug 2 07:43:17 groupadd[4124667]: group added to /etc/group: name=builder, GID=676 <86>Aug 2 07:43:17 groupadd[4124667]: group added to /etc/gshadow: name=builder <86>Aug 2 07:43:17 groupadd[4124667]: new group: name=builder, GID=676 <86>Aug 2 07:43:17 useradd[4124676]: new user: name=builder, UID=676, GID=676, home=/usr/src, shell=/bin/bash <13>Aug 2 07:43:19 rpmi: libgdbm-1.8.3-alt10 1454943334 installed <13>Aug 2 07:43:19 rpmi: libexpat-2.2.4-alt1 1503305345 installed <13>Aug 2 07:43:19 rpmi: libp11-kit-0.23.15-alt1 sisyphus+226408.100.2.1 1554288204 installed <13>Aug 2 07:43:19 rpmi: libtasn1-4.14-alt1 p9+235792.100.2.1 1565425233 installed <13>Aug 2 07:43:19 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Aug 2 07:43:19 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>Aug 2 07:43:19 rpmi: ca-certificates-2020.01.23-alt1 p9+245253.100.3.1 1580749631 installed <13>Aug 2 07:43:19 rpmi: ca-trust-0.1.2-alt1 p9+233349.100.1.1 1561655062 installed <13>Aug 2 07:43:19 rpmi: p11-kit-trust-0.23.15-alt1 sisyphus+226408.100.2.1 1554288204 installed <13>Aug 2 07:43:19 rpmi: libcrypto1.1-1.1.1g-alt1 p9+250580.100.5.1 1588175266 installed <13>Aug 2 07:43:19 rpmi: libssl1.1-1.1.1g-alt1 p9+250580.100.5.1 1588175266 installed <13>Aug 2 07:43:19 rpmi: python3-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>Aug 2 07:43:19 rpmi: libpython3-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>Aug 2 07:43:20 rpmi: python3-base-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>Aug 2 07:43:20 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed <13>Aug 2 07:43:20 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed <13>Aug 2 07:43:23 rpmi: python3-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed <13>Aug 2 07:43:23 rpmi: python3-module-six-1.12.0-alt1 sisyphus+219665.100.2.1 1548148570 installed <13>Aug 2 07:43:23 rpmi: python3-module-pluggy-0.11.0-alt1 sisyphus+229116.100.1.1 1557316655 installed <13>Aug 2 07:43:23 rpmi: python3-module-more-itertools-7.0.0-alt3 sisyphus+226536.100.1.1 1554329928 installed <13>Aug 2 07:43:23 rpmi: python3-module-iniconfig-1.0.0-alt1 sisyphus+227494.1100.1.3 1555839106 installed <13>Aug 2 07:43:23 rpmi: python3-module-click-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed <13>Aug 2 07:43:23 rpmi: python3-module-attrs-19.1.0-alt1 sisyphus+227473.2100.1.2 1555756986 installed <13>Aug 2 07:43:23 rpmi: python3-module-atomicwrites-1.3.0-alt1 sisyphus+227473.2000.1.3 1555763467 installed <13>Aug 2 07:43:23 rpmi: python3-module-apipkg-1.5-alt1 sisyphus+227465.1100.1.2 1555756555 installed <13>Aug 2 07:43:23 rpmi: python3-module-py-1.8.0-alt2 sisyphus+228349.1400.4.1 1556631070 installed <13>Aug 2 07:43:23 rpmi: python-module-iniconfig-1.0.0-alt1 sisyphus+227494.1100.1.3 1555839106 installed <13>Aug 2 07:43:23 rpmi: python-module-apipkg-1.5-alt1 1531926894 installed <13>Aug 2 07:43:23 rpmi: python-modules-curses-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>Aug 2 07:43:23 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>Aug 2 07:43:23 rpmi: python3-dev-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>Aug 2 07:43:23 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994919 installed <13>Aug 2 07:43:23 rpmi: libkeyutils-1.6-alt2 sisyphus+226520.100.2.1 1554512089 installed <13>Aug 2 07:43:23 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091678 installed <86>Aug 2 07:43:23 groupadd[4139343]: group added to /etc/group: name=_keytab, GID=499 <86>Aug 2 07:43:23 groupadd[4139343]: group added to /etc/gshadow: name=_keytab <86>Aug 2 07:43:23 groupadd[4139343]: new group: name=_keytab, GID=499 <13>Aug 2 07:43:23 rpmi: libkrb5-1.17.1-alt1 p9+242852.100.2.1 1576572639 installed <13>Aug 2 07:43:23 rpmi: libtirpc-1.0.3-alt1 1532008017 installed <13>Aug 2 07:43:23 rpmi: libnsl2-1.1.0-alt1_1 1511548749 installed <13>Aug 2 07:43:23 rpmi: python-modules-compiler-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-email-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-unittest-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-encodings-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-nis-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-ctypes-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-module-six-1.12.0-alt1 sisyphus+219665.100.2.1 1548148570 installed <13>Aug 2 07:43:23 rpmi: python-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed <13>Aug 2 07:43:23 rpmi: python-module-more-itertools-1:5.0.0-alt2 sisyphus+226536.200.1.1 1554329977 installed <13>Aug 2 07:43:23 rpmi: python-modules-multiprocessing-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-logging-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-tools-2to3-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-xml-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-hotshot-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-modules-bsddb-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:23 rpmi: python-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:24 rpmi: python-modules-distutils-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:24 rpmi: python-strict-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867164 installed <13>Aug 2 07:43:24 rpmi: python-module-attrs-19.1.0-alt1 sisyphus+227473.2100.1.2 1555756986 installed <13>Aug 2 07:43:24 rpmi: python-module-atomicwrites-1.3.0-alt1 sisyphus+227473.2000.1.3 1555763467 installed <13>Aug 2 07:43:24 rpmi: python-module-click-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed <13>Aug 2 07:43:24 rpmi: python-module-funcsigs-1.0.2-alt2 sisyphus+228355.2600.2.1 1556560236 installed <13>Aug 2 07:43:24 rpmi: python-module-scandir-1.10.0-alt1 sisyphus+225192.100.1.2 1552968870 installed <13>Aug 2 07:43:24 rpmi: python-module-pathlib2-2.3.3-alt1 sisyphus+228364.300.4.1 1556886257 installed <13>Aug 2 07:43:24 rpmi: python-module-py-1.8.0-alt2 sisyphus+228349.1400.4.1 1556631070 installed <13>Aug 2 07:43:24 rpmi: python-modules-json-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:24 rpmi: python-module-pluggy-0.11.0-alt1 sisyphus+229116.100.1.1 1557316655 installed <13>Aug 2 07:43:24 rpmi: libnsl2-devel-1.1.0-alt1_1 1511548749 installed <13>Aug 2 07:43:24 rpmi: python-dev-2.7.16-alt1.M90P.1 p9+244933.100.1.1 1579867218 installed <13>Aug 2 07:43:24 rpmi: python-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed <13>Aug 2 07:43:24 rpmi: python-module-pytest-3.10.1-alt5 sisyphus+228366.2000.2.3 1556707871 installed <13>Aug 2 07:43:24 rpmi: python-module-click-tests-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed <13>Aug 2 07:43:24 rpmi: python3-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed <13>Aug 2 07:43:24 rpmi: python3-module-pytest-3.10.1-alt5 sisyphus+228366.2000.2.3 1556707871 installed <13>Aug 2 07:43:24 rpmi: python3-module-click-tests-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python-module-cligj-0.4.0-alt2.1.nosrc.rpm Installing python-module-cligj-0.4.0-alt2.1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.5226 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf python-module-cligj-0.4.0 + echo 'Source #0 (python-module-cligj-0.4.0.tar):' Source #0 (python-module-cligj-0.4.0.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/python-module-cligj-0.4.0.tar + cd python-module-cligj-0.4.0 + /bin/chmod -c -Rf u+rwX,go-w . + cp -fR . ../python3 + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.75772 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-cligj-0.4.0 + 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/python setup.py build --debug running build running build_py creating build creating build/lib creating build/lib/cligj copying cligj/plugins.py -> build/lib/cligj copying cligj/features.py -> build/lib/cligj copying cligj/__init__.py -> build/lib/cligj running egg_info creating cligj.egg-info writing requirements to cligj.egg-info/requires.txt writing cligj.egg-info/PKG-INFO writing top-level names to cligj.egg-info/top_level.txt writing dependency_links to cligj.egg-info/dependency_links.txt writing manifest file 'cligj.egg-info/SOURCES.txt' reading manifest file 'cligj.egg-info/SOURCES.txt' writing manifest file 'cligj.egg-info/SOURCES.txt' + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-cligj-0.4.0 + 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 --debug running build running build_py creating build creating build/lib creating build/lib/cligj copying cligj/plugins.py -> build/lib/cligj copying cligj/features.py -> build/lib/cligj copying cligj/__init__.py -> build/lib/cligj running egg_info creating cligj.egg-info writing cligj.egg-info/PKG-INFO writing dependency_links to cligj.egg-info/dependency_links.txt writing requirements to cligj.egg-info/requires.txt writing top-level names to cligj.egg-info/top_level.txt writing manifest file 'cligj.egg-info/SOURCES.txt' reading manifest file 'cligj.egg-info/SOURCES.txt' writing manifest file 'cligj.egg-info/SOURCES.txt' + popd ~/RPM/BUILD/python-module-cligj-0.4.0 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.25311 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python-module-cligj-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python-module-cligj-buildroot + cd python-module-cligj-0.4.0 + 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/python setup.py install --skip-build --root=/usr/src/tmp/python-module-cligj-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-cligj-buildroot creating /usr/src/tmp/python-module-cligj-buildroot/usr creating /usr/src/tmp/python-module-cligj-buildroot/usr/lib creating /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7 creating /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages creating /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj copying build/lib/cligj/__init__.py -> /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj copying build/lib/cligj/features.py -> /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj copying build/lib/cligj/plugins.py -> /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj byte-compiling /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/__init__.py to __init__.pyc byte-compiling /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/features.py to features.pyc byte-compiling /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/plugins.py to plugins.pyc running install_egg_info running egg_info writing requirements to cligj.egg-info/requires.txt writing cligj.egg-info/PKG-INFO writing top-level names to cligj.egg-info/top_level.txt writing dependency_links to cligj.egg-info/dependency_links.txt reading manifest file 'cligj.egg-info/SOURCES.txt' writing manifest file 'cligj.egg-info/SOURCES.txt' Copying cligj.egg-info to /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj-0.4.0-py2.7.egg-info running install_scripts + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-cligj-0.4.0 + 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-cligj-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3 creating /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages creating /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj copying build/lib/cligj/__init__.py -> /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj copying build/lib/cligj/features.py -> /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj copying build/lib/cligj/plugins.py -> /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj byte-compiling /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/__init__.py to __init__.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/features.py to features.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/plugins.py to plugins.cpython-37.pyc running install_egg_info running egg_info writing cligj.egg-info/PKG-INFO writing dependency_links to cligj.egg-info/dependency_links.txt writing requirements to cligj.egg-info/requires.txt writing top-level names to cligj.egg-info/top_level.txt reading manifest file 'cligj.egg-info/SOURCES.txt' writing manifest file 'cligj.egg-info/SOURCES.txt' Copying cligj.egg-info to /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj-0.4.0-py3.7.egg-info running install_scripts + popd ~/RPM/BUILD/python-module-cligj-0.4.0 + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python-module-cligj-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python-module-cligj-buildroot (binconfig,pkgconfig,libtool,desktop) Checking contents of files in /usr/src/tmp/python-module-cligj-buildroot/ (default) Compressing files in /usr/src/tmp/python-module-cligj-buildroot (auto) Adjusting library links in /usr/src/tmp/python-module-cligj-buildroot ./usr/lib: Verifying ELF objects in /usr/src/tmp/python-module-cligj-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-cligj-buildroot using /usr/bin/python unlink /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/__init__.pyc unlink /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/features.pyc unlink /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/plugins.pyc compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/__init__.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/features.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/plugins.py Bytecompiling python modules with optimization in /usr/src/tmp/python-module-cligj-buildroot using /usr/bin/python -O compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/__init__.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/features.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python2.7/site-packages/cligj/plugins.py Bytecompiling python3 modules in /usr/src/tmp/python-module-cligj-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/__pycache__/__init__.cpython-37.pyc unlink /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/__pycache__/features.cpython-37.pyc unlink /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/__pycache__/plugins.cpython-37.pyc compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/__init__.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/features.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/plugins.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python-module-cligj-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/__init__.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/features.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/plugins.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python-module-cligj-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/__init__.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/features.py compile /usr/src/tmp/python-module-cligj-buildroot/usr/lib/python3/site-packages/cligj/plugins.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/cligj/__pycache__/plugins.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/cligj/__pycache__/plugins.cpython-37.pyc' './usr/lib/python3/site-packages/cligj/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/cligj/__pycache__/__init__.cpython-37.pyc' './usr/lib/python3/site-packages/cligj/__pycache__/__init__.cpython-37.opt-2.pyc' => './usr/lib/python3/site-packages/cligj/__pycache__/__init__.cpython-37.opt-1.pyc' Hardlinking identical .pyc and .pyo files './usr/lib/python2.7/site-packages/cligj/plugins.pyo' => './usr/lib/python2.7/site-packages/cligj/plugins.pyc' './usr/lib/python2.7/site-packages/cligj/__init__.pyo' => './usr/lib/python2.7/site-packages/cligj/__init__.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.97116 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd python-module-cligj-0.4.0 + export LC_ALL=en_US.UTF-8 + LC_ALL=en_US.UTF-8 + export PYTHONPATH=/usr/src/RPM/BUILD/python-module-cligj-0.4.0 + PYTHONPATH=/usr/src/RPM/BUILD/python-module-cligj-0.4.0 + py.test -vv ============================= test session starts ============================== platform linux2 -- Python 2.7.16, pytest-3.10.1, py-1.8.0, pluggy-0.11.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /usr/src/RPM/BUILD/python-module-cligj-0.4.0, inifile: collecting ... collected 34 items tests/test_cli.py::test_files_in PASSED [ 2%] tests/test_cli.py::test_files_inout PASSED [ 5%] tests/test_cli.py::test_verbose PASSED [ 8%] tests/test_cli.py::test_quiet PASSED [ 11%] tests/test_cli.py::test_format PASSED [ 14%] tests/test_cli.py::test_indent PASSED [ 17%] tests/test_cli.py::test_compact PASSED [ 20%] tests/test_cli.py::test_precision PASSED [ 23%] tests/test_cli.py::test_projection PASSED [ 26%] tests/test_cli.py::test_sequence PASSED [ 29%] tests/test_cli.py::test_sequence_rs PASSED [ 32%] tests/test_cli.py::test_geojson_type PASSED [ 35%] tests/test_features.py::test_iter_query_string PASSED [ 38%] tests/test_features.py::test_iter_query_file PASSED [ 41%] tests/test_features.py::test_coords_from_query_json PASSED [ 44%] tests/test_features.py::test_coords_from_query_csv PASSED [ 47%] tests/test_features.py::test_coords_from_query_ws PASSED [ 50%] tests/test_features.py::test_featurecollection_file PASSED [ 52%] tests/test_features.py::test_featurecollection_stdin PASSED [ 55%] tests/test_features.py::test_featuresequence PASSED [ 58%] tests/test_features.py::test_featuresequence_stdin PASSED [ 61%] tests/test_features.py::test_singlefeature PASSED [ 64%] tests/test_features.py::test_singlefeature_stdin PASSED [ 67%] tests/test_features.py::test_featuresequencers PASSED [ 70%] tests/test_features.py::test_featuresequencers_stdin PASSED [ 73%] tests/test_features.py::test_coordarrays PASSED [ 76%] tests/test_features.py::test_coordpairs_comma PASSED [ 79%] tests/test_features.py::test_coordpairs_space PASSED [ 82%] tests/test_features.py::test_normalize_feature_objects PASSED [ 85%] tests/test_features.py::test_normalize_feature_objects_bad PASSED [ 88%] tests/test_plugins.py::test_registered PASSED [ 91%] tests/test_plugins.py::test_register_and_run PASSED [ 94%] tests/test_plugins.py::test_broken_register_and_run PASSED [ 97%] tests/test_plugins.py::test_group_chain PASSED [100%] =============================== warnings summary =============================== tests/test_plugins.py:11 /usr/src/RPM/BUILD/python-module-cligj-0.4.0/tests/test_plugins.py:11: FutureWarning: cligj.plugins has been deprecated in favor of click-plugins: https://github.com/click-contrib/click-plugins. The plugins module will be removed in cligj 1.0. import cligj.plugins -- Docs: https://docs.pytest.org/en/latest/warnings.html ==================== 34 passed, 1 warnings in 0.24 seconds ===================== + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/python-module-cligj-0.4.0 + export PYTHONPATH=/usr/src/RPM/BUILD/python3 + PYTHONPATH=/usr/src/RPM/BUILD/python3 + py.test3 -vv ============================= test session starts ============================== platform linux -- Python 3.7.4, pytest-3.10.1, py-1.8.0, pluggy-0.11.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /usr/src/RPM/BUILD/python3, inifile: collecting ... collected 34 items tests/test_cli.py::test_files_in PASSED [ 2%] tests/test_cli.py::test_files_inout PASSED [ 5%] tests/test_cli.py::test_verbose PASSED [ 8%] tests/test_cli.py::test_quiet PASSED [ 11%] tests/test_cli.py::test_format PASSED [ 14%] tests/test_cli.py::test_indent PASSED [ 17%] tests/test_cli.py::test_compact PASSED [ 20%] tests/test_cli.py::test_precision PASSED [ 23%] tests/test_cli.py::test_projection PASSED [ 26%] tests/test_cli.py::test_sequence PASSED [ 29%] tests/test_cli.py::test_sequence_rs PASSED [ 32%] tests/test_cli.py::test_geojson_type PASSED [ 35%] tests/test_features.py::test_iter_query_string PASSED [ 38%] tests/test_features.py::test_iter_query_file PASSED [ 41%] tests/test_features.py::test_coords_from_query_json PASSED [ 44%] tests/test_features.py::test_coords_from_query_csv FAILED [ 47%] tests/test_features.py::test_coords_from_query_ws FAILED [ 50%] tests/test_features.py::test_featurecollection_file PASSED [ 52%] tests/test_features.py::test_featurecollection_stdin PASSED [ 55%] tests/test_features.py::test_featuresequence PASSED [ 58%] tests/test_features.py::test_featuresequence_stdin PASSED [ 61%] tests/test_features.py::test_singlefeature PASSED [ 64%] tests/test_features.py::test_singlefeature_stdin PASSED [ 67%] tests/test_features.py::test_featuresequencers PASSED [ 70%] tests/test_features.py::test_featuresequencers_stdin PASSED [ 73%] tests/test_features.py::test_coordarrays PASSED [ 76%] tests/test_features.py::test_coordpairs_comma FAILED [ 79%] tests/test_features.py::test_coordpairs_space FAILED [ 82%] tests/test_features.py::test_normalize_feature_objects PASSED [ 85%] tests/test_features.py::test_normalize_feature_objects_bad PASSED [ 88%] tests/test_plugins.py::test_registered PASSED [ 91%] tests/test_plugins.py::test_register_and_run PASSED [ 94%] tests/test_plugins.py::test_broken_register_and_run PASSED [ 97%] tests/test_plugins.py::test_group_chain PASSED [100%] =================================== FAILURES =================================== __________________________ test_coords_from_query_csv __________________________ query = '-100, 40' def coords_from_query(query): """Transform a query line into a (lng, lat) pair of coordinates.""" try: > coords = json.loads(query) cligj/features.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ s = '-100, 40', encoding = None, cls = None, object_hook = None parse_float = None, parse_int = None, parse_constant = None object_pairs_hook = None, kw = {} def loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw): """Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray`` instance containing a JSON document) to a Python object. ``object_hook`` is an optional function that will be called with the result of any object literal decode (a ``dict``). The return value of ``object_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders (e.g. JSON-RPC class hinting). ``object_pairs_hook`` is an optional function that will be called with the result of any object literal decoded with an ordered list of pairs. The return value of ``object_pairs_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders. If ``object_hook`` is also defined, the ``object_pairs_hook`` takes priority. ``parse_float``, if specified, will be called with the string of every JSON float to be decoded. By default this is equivalent to float(num_str). This can be used to use another datatype or parser for JSON floats (e.g. decimal.Decimal). ``parse_int``, if specified, will be called with the string of every JSON int to be decoded. By default this is equivalent to int(num_str). This can be used to use another datatype or parser for JSON integers (e.g. float). ``parse_constant``, if specified, will be called with one of the following strings: -Infinity, Infinity, NaN. This can be used to raise an exception if invalid JSON numbers are encountered. To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` kwarg; otherwise ``JSONDecoder`` is used. The ``encoding`` argument is ignored and deprecated. """ if isinstance(s, str): if s.startswith('\ufeff'): raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)", s, 0) else: if not isinstance(s, (bytes, bytearray)): raise TypeError(f'the JSON object must be str, bytes or bytearray, ' f'not {s.__class__.__name__}') s = s.decode(detect_encoding(s), 'surrogatepass') if (cls is None and object_hook is None and parse_int is None and parse_float is None and parse_constant is None and object_pairs_hook is None and not kw): > return _default_decoder.decode(s) /usr/lib/python3.7/json/__init__.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , s = '-100, 40' _w = def decode(self, s, _w=WHITESPACE.match): """Return the Python representation of ``s`` (a ``str`` instance containing a JSON document). """ obj, end = self.raw_decode(s, idx=_w(s, 0).end()) end = _w(s, end).end() if end != len(s): > raise JSONDecodeError("Extra data", s, end) E json.decoder.JSONDecodeError: Extra data: line 1 column 5 (char 4) /usr/lib/python3.7/json/decoder.py:340: JSONDecodeError During handling of the above exception, another exception occurred: def test_coords_from_query_csv(): > assert coords_from_query("-100, 40") == (-100, 40) tests/test_features.py:27: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cligj/features.py:90: in coords_from_query coords = [float(v) for v in vals] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .0 = > coords = [float(v) for v in vals] E ValueError: could not convert string to float: cligj/features.py:90: ValueError __________________________ test_coords_from_query_ws ___________________________ query = '-100 40' def coords_from_query(query): """Transform a query line into a (lng, lat) pair of coordinates.""" try: > coords = json.loads(query) cligj/features.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ s = '-100 40', encoding = None, cls = None, object_hook = None parse_float = None, parse_int = None, parse_constant = None object_pairs_hook = None, kw = {} def loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw): """Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray`` instance containing a JSON document) to a Python object. ``object_hook`` is an optional function that will be called with the result of any object literal decode (a ``dict``). The return value of ``object_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders (e.g. JSON-RPC class hinting). ``object_pairs_hook`` is an optional function that will be called with the result of any object literal decoded with an ordered list of pairs. The return value of ``object_pairs_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders. If ``object_hook`` is also defined, the ``object_pairs_hook`` takes priority. ``parse_float``, if specified, will be called with the string of every JSON float to be decoded. By default this is equivalent to float(num_str). This can be used to use another datatype or parser for JSON floats (e.g. decimal.Decimal). ``parse_int``, if specified, will be called with the string of every JSON int to be decoded. By default this is equivalent to int(num_str). This can be used to use another datatype or parser for JSON integers (e.g. float). ``parse_constant``, if specified, will be called with one of the following strings: -Infinity, Infinity, NaN. This can be used to raise an exception if invalid JSON numbers are encountered. To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` kwarg; otherwise ``JSONDecoder`` is used. The ``encoding`` argument is ignored and deprecated. """ if isinstance(s, str): if s.startswith('\ufeff'): raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)", s, 0) else: if not isinstance(s, (bytes, bytearray)): raise TypeError(f'the JSON object must be str, bytes or bytearray, ' f'not {s.__class__.__name__}') s = s.decode(detect_encoding(s), 'surrogatepass') if (cls is None and object_hook is None and parse_int is None and parse_float is None and parse_constant is None and object_pairs_hook is None and not kw): > return _default_decoder.decode(s) /usr/lib/python3.7/json/__init__.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , s = '-100 40' _w = def decode(self, s, _w=WHITESPACE.match): """Return the Python representation of ``s`` (a ``str`` instance containing a JSON document). """ obj, end = self.raw_decode(s, idx=_w(s, 0).end()) end = _w(s, end).end() if end != len(s): > raise JSONDecodeError("Extra data", s, end) E json.decoder.JSONDecodeError: Extra data: line 1 column 6 (char 5) /usr/lib/python3.7/json/decoder.py:340: JSONDecodeError During handling of the above exception, another exception occurred: def test_coords_from_query_ws(): > assert coords_from_query("-100 40") == (-100, 40) tests/test_features.py:31: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cligj/features.py:90: in coords_from_query coords = [float(v) for v in vals] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .0 = > coords = [float(v) for v in vals] E ValueError: could not convert string to float: cligj/features.py:90: ValueError ____________________________ test_coordpairs_comma _____________________________ ctx = None, param = 'features' features_like = ['-122.7282, 45.5801', '-121.3153, 44.0582'] def normalize_feature_inputs(ctx, param, features_like): """ Click callback which accepts the following values: * Path to file(s), each containing single FeatureCollection or Feature * Coordinate pair(s) of the form "[0, 0]" or "0, 0" or "0 0" * if not specified or '-', process STDIN stream containing - line-delimited features - ASCII Record Separator (0x1e) delimited features - FeatureCollection or Feature object and yields GeoJSON Features. """ if len(features_like) == 0: features_like = ('-',) for flike in features_like: try: # It's a file/stream with GeoJSON > src = iter(click.open_file(flike, mode='r')) cligj/features.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '-122.7282, 45.5801', mode = 'r', encoding = None, errors = 'strict' lazy = False, atomic = False def open_file(filename, mode='r', encoding=None, errors='strict', lazy=False, atomic=False): """This is similar to how the :class:`File` works but for manual usage. Files are opened non lazy by default. This can open regular files as well as stdin/stdout if ``'-'`` is passed. If stdin/stdout is returned the stream is wrapped so that the context manager will not close the stream accidentally. This makes it possible to always use the function like this without having to worry to accidentally close a standard stream:: with open_file(filename) as f: ... .. versionadded:: 3.0 :param filename: the name of the file to open (or ``'-'`` for stdin/stdout). :param mode: the mode in which to open the file. :param encoding: the encoding to use. :param errors: the error handling for this file. :param lazy: can be flipped to true to open the file lazily. :param atomic: in atomic mode writes go into a temporary file and it's moved on close. """ if lazy: return LazyFile(filename, mode, encoding, errors, atomic=atomic) f, should_close = open_stream(filename, mode, encoding, errors, > atomic=atomic) /usr/lib/python3/site-packages/click/utils.py:323: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '-122.7282, 45.5801', mode = 'r', encoding = None, errors = 'strict' atomic = False def open_stream(filename, mode='r', encoding=None, errors='strict', atomic=False): # Standard streams first. These are simple because they don't need # special handling for the atomic flag. It's entirely ignored. if filename == '-': if 'w' in mode: if 'b' in mode: return get_binary_stdout(), False return get_text_stdout(encoding=encoding, errors=errors), False if 'b' in mode: return get_binary_stdin(), False return get_text_stdin(encoding=encoding, errors=errors), False # Non-atomic writes directly go out through the regular open functions. if not atomic: if encoding is None: > return open(filename, mode), True E FileNotFoundError: [Errno 2] No such file or directory: '-122.7282, 45.5801' /usr/lib/python3/site-packages/click/_compat.py:434: FileNotFoundError During handling of the above exception, another exception occurred: query = '-122.7282, 45.5801' def coords_from_query(query): """Transform a query line into a (lng, lat) pair of coordinates.""" try: > coords = json.loads(query) cligj/features.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ s = '-122.7282, 45.5801', encoding = None, cls = None, object_hook = None parse_float = None, parse_int = None, parse_constant = None object_pairs_hook = None, kw = {} def loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw): """Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray`` instance containing a JSON document) to a Python object. ``object_hook`` is an optional function that will be called with the result of any object literal decode (a ``dict``). The return value of ``object_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders (e.g. JSON-RPC class hinting). ``object_pairs_hook`` is an optional function that will be called with the result of any object literal decoded with an ordered list of pairs. The return value of ``object_pairs_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders. If ``object_hook`` is also defined, the ``object_pairs_hook`` takes priority. ``parse_float``, if specified, will be called with the string of every JSON float to be decoded. By default this is equivalent to float(num_str). This can be used to use another datatype or parser for JSON floats (e.g. decimal.Decimal). ``parse_int``, if specified, will be called with the string of every JSON int to be decoded. By default this is equivalent to int(num_str). This can be used to use another datatype or parser for JSON integers (e.g. float). ``parse_constant``, if specified, will be called with one of the following strings: -Infinity, Infinity, NaN. This can be used to raise an exception if invalid JSON numbers are encountered. To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` kwarg; otherwise ``JSONDecoder`` is used. The ``encoding`` argument is ignored and deprecated. """ if isinstance(s, str): if s.startswith('\ufeff'): raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)", s, 0) else: if not isinstance(s, (bytes, bytearray)): raise TypeError(f'the JSON object must be str, bytes or bytearray, ' f'not {s.__class__.__name__}') s = s.decode(detect_encoding(s), 'surrogatepass') if (cls is None and object_hook is None and parse_int is None and parse_float is None and parse_constant is None and object_pairs_hook is None and not kw): > return _default_decoder.decode(s) /usr/lib/python3.7/json/__init__.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , s = '-122.7282, 45.5801' _w = def decode(self, s, _w=WHITESPACE.match): """Return the Python representation of ``s`` (a ``str`` instance containing a JSON document). """ obj, end = self.raw_decode(s, idx=_w(s, 0).end()) end = _w(s, end).end() if end != len(s): > raise JSONDecodeError("Extra data", s, end) E json.decoder.JSONDecodeError: Extra data: line 1 column 10 (char 9) /usr/lib/python3.7/json/decoder.py:340: JSONDecodeError During handling of the above exception, another exception occurred: expected_features = [{'bbox': [-122.9292140099711, 45.37948199034149, -122.44106199104115, 45.858097009742835], 'center': [-122.7282, 45.5...short_code': 'us', 'text': 'United States'}], 'geometry': {'coordinates': [-121.3153, 44.0582], 'type': 'Point'}, ...}] def test_coordpairs_comma(expected_features): inputs = ["-122.7282, 45.5801", "-121.3153, 44.0582"] features = normalize_feature_inputs(None, 'features', inputs) > assert _geoms(features) == _geoms(expected_features) tests/test_features.py:102: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_features.py:43: in _geoms for feature in features: cligj/features.py:29: in normalize_feature_inputs coords = list(coords_from_query(flike)) cligj/features.py:90: in coords_from_query coords = [float(v) for v in vals] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .0 = > coords = [float(v) for v in vals] E ValueError: could not convert string to float: cligj/features.py:90: ValueError ____________________________ test_coordpairs_space _____________________________ ctx = None, param = 'features' features_like = ['-122.7282 45.5801', '-121.3153 44.0582'] def normalize_feature_inputs(ctx, param, features_like): """ Click callback which accepts the following values: * Path to file(s), each containing single FeatureCollection or Feature * Coordinate pair(s) of the form "[0, 0]" or "0, 0" or "0 0" * if not specified or '-', process STDIN stream containing - line-delimited features - ASCII Record Separator (0x1e) delimited features - FeatureCollection or Feature object and yields GeoJSON Features. """ if len(features_like) == 0: features_like = ('-',) for flike in features_like: try: # It's a file/stream with GeoJSON > src = iter(click.open_file(flike, mode='r')) cligj/features.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '-122.7282 45.5801', mode = 'r', encoding = None, errors = 'strict' lazy = False, atomic = False def open_file(filename, mode='r', encoding=None, errors='strict', lazy=False, atomic=False): """This is similar to how the :class:`File` works but for manual usage. Files are opened non lazy by default. This can open regular files as well as stdin/stdout if ``'-'`` is passed. If stdin/stdout is returned the stream is wrapped so that the context manager will not close the stream accidentally. This makes it possible to always use the function like this without having to worry to accidentally close a standard stream:: with open_file(filename) as f: ... .. versionadded:: 3.0 :param filename: the name of the file to open (or ``'-'`` for stdin/stdout). :param mode: the mode in which to open the file. :param encoding: the encoding to use. :param errors: the error handling for this file. :param lazy: can be flipped to true to open the file lazily. :param atomic: in atomic mode writes go into a temporary file and it's moved on close. """ if lazy: return LazyFile(filename, mode, encoding, errors, atomic=atomic) f, should_close = open_stream(filename, mode, encoding, errors, > atomic=atomic) /usr/lib/python3/site-packages/click/utils.py:323: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ filename = '-122.7282 45.5801', mode = 'r', encoding = None, errors = 'strict' atomic = False def open_stream(filename, mode='r', encoding=None, errors='strict', atomic=False): # Standard streams first. These are simple because they don't need # special handling for the atomic flag. It's entirely ignored. if filename == '-': if 'w' in mode: if 'b' in mode: return get_binary_stdout(), False return get_text_stdout(encoding=encoding, errors=errors), False if 'b' in mode: return get_binary_stdin(), False return get_text_stdin(encoding=encoding, errors=errors), False # Non-atomic writes directly go out through the regular open functions. if not atomic: if encoding is None: > return open(filename, mode), True E FileNotFoundError: [Errno 2] No such file or directory: '-122.7282 45.5801' /usr/lib/python3/site-packages/click/_compat.py:434: FileNotFoundError During handling of the above exception, another exception occurred: query = '-122.7282 45.5801' def coords_from_query(query): """Transform a query line into a (lng, lat) pair of coordinates.""" try: > coords = json.loads(query) cligj/features.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ s = '-122.7282 45.5801', encoding = None, cls = None, object_hook = None parse_float = None, parse_int = None, parse_constant = None object_pairs_hook = None, kw = {} def loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw): """Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray`` instance containing a JSON document) to a Python object. ``object_hook`` is an optional function that will be called with the result of any object literal decode (a ``dict``). The return value of ``object_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders (e.g. JSON-RPC class hinting). ``object_pairs_hook`` is an optional function that will be called with the result of any object literal decoded with an ordered list of pairs. The return value of ``object_pairs_hook`` will be used instead of the ``dict``. This feature can be used to implement custom decoders. If ``object_hook`` is also defined, the ``object_pairs_hook`` takes priority. ``parse_float``, if specified, will be called with the string of every JSON float to be decoded. By default this is equivalent to float(num_str). This can be used to use another datatype or parser for JSON floats (e.g. decimal.Decimal). ``parse_int``, if specified, will be called with the string of every JSON int to be decoded. By default this is equivalent to int(num_str). This can be used to use another datatype or parser for JSON integers (e.g. float). ``parse_constant``, if specified, will be called with one of the following strings: -Infinity, Infinity, NaN. This can be used to raise an exception if invalid JSON numbers are encountered. To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` kwarg; otherwise ``JSONDecoder`` is used. The ``encoding`` argument is ignored and deprecated. """ if isinstance(s, str): if s.startswith('\ufeff'): raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)", s, 0) else: if not isinstance(s, (bytes, bytearray)): raise TypeError(f'the JSON object must be str, bytes or bytearray, ' f'not {s.__class__.__name__}') s = s.decode(detect_encoding(s), 'surrogatepass') if (cls is None and object_hook is None and parse_int is None and parse_float is None and parse_constant is None and object_pairs_hook is None and not kw): > return _default_decoder.decode(s) /usr/lib/python3.7/json/__init__.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , s = '-122.7282 45.5801' _w = def decode(self, s, _w=WHITESPACE.match): """Return the Python representation of ``s`` (a ``str`` instance containing a JSON document). """ obj, end = self.raw_decode(s, idx=_w(s, 0).end()) end = _w(s, end).end() if end != len(s): > raise JSONDecodeError("Extra data", s, end) E json.decoder.JSONDecodeError: Extra data: line 1 column 11 (char 10) /usr/lib/python3.7/json/decoder.py:340: JSONDecodeError During handling of the above exception, another exception occurred: expected_features = [{'bbox': [-122.9292140099711, 45.37948199034149, -122.44106199104115, 45.858097009742835], 'center': [-122.7282, 45.5...short_code': 'us', 'text': 'United States'}], 'geometry': {'coordinates': [-121.3153, 44.0582], 'type': 'Point'}, ...}] def test_coordpairs_space(expected_features): inputs = ["-122.7282 45.5801", "-121.3153 44.0582"] features = normalize_feature_inputs(None, 'features', inputs) > assert _geoms(features) == _geoms(expected_features) tests/test_features.py:108: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/test_features.py:43: in _geoms for feature in features: cligj/features.py:29: in normalize_feature_inputs coords = list(coords_from_query(flike)) cligj/features.py:90: in coords_from_query coords = [float(v) for v in vals] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .0 = > coords = [float(v) for v in vals] E ValueError: could not convert string to float: cligj/features.py:90: ValueError =============================== warnings summary =============================== tests/test_plugins.py:11 /usr/src/RPM/BUILD/python3/tests/test_plugins.py:11: FutureWarning: cligj.plugins has been deprecated in favor of click-plugins: https://github.com/click-contrib/click-plugins. The plugins module will be removed in cligj 1.0. import cligj.plugins -- Docs: https://docs.pytest.org/en/latest/warnings.html =============== 4 failed, 30 passed, 1 warnings in 0.51 seconds ================ error: Bad exit status from /usr/src/tmp/rpm-tmp.97116 (%check) RPM build errors: Bad exit status from /usr/src/tmp/rpm-tmp.97116 (%check) Command exited with non-zero status 1 5.02user 0.46system 0:05.51elapsed 99%CPU (0avgtext+0avgdata 22124maxresident)k 0inputs+0outputs (0major+114571minor)pagefaults 0swaps hsh-rebuild: rebuild of `python-module-cligj-0.4.0-alt2.1.src.rpm' failed. Command exited with non-zero status 1 12.92user 3.05system 0:15.98elapsed 100%CPU (0avgtext+0avgdata 116480maxresident)k 0inputs+0outputs (0major+494040minor)pagefaults 0swaps