<86>Mar 14 01:54:17 userdel[336929]: delete user 'rooter'
<86>Mar 14 01:54:17 userdel[336929]: removed group 'rooter' owned by 'rooter'
<86>Mar 14 01:54:17 userdel[336929]: removed shadow group 'rooter' owned by 'rooter'
<86>Mar 14 01:54:17 groupadd[336948]: group added to /etc/group: name=rooter, GID=642
<86>Mar 14 01:54:17 groupadd[336948]: group added to /etc/gshadow: name=rooter
<86>Mar 14 01:54:17 groupadd[336948]: new group: name=rooter, GID=642
<86>Mar 14 01:54:17 useradd[336963]: new user: name=rooter, UID=642, GID=642, home=/root, shell=/bin/bash
<86>Mar 14 01:54:17 userdel[336978]: delete user 'builder'
<86>Mar 14 01:54:17 userdel[336978]: removed group 'builder' owned by 'builder'
<86>Mar 14 01:54:17 userdel[336978]: removed shadow group 'builder' owned by 'builder'
<86>Mar 14 01:54:17 groupadd[336991]: group added to /etc/group: name=builder, GID=643
<86>Mar 14 01:54:17 groupadd[336991]: group added to /etc/gshadow: name=builder
<86>Mar 14 01:54:17 groupadd[336991]: new group: name=builder, GID=643
<86>Mar 14 01:54:17 useradd[337001]: new user: name=builder, UID=643, GID=643, home=/usr/src, shell=/bin/bash
<13>Mar 14 01:54:20 rpmi: libgdbm-1.8.3-alt10 1454943313 installed
<13>Mar 14 01:54:20 rpmi: libexpat-2.2.10-alt1 p9+261554.100.1.1 1605103332 installed
<13>Mar 14 01:54:20 rpmi: libp11-kit-0.23.15-alt2 p9+254920.2400.19.1 1601385869 installed
<13>Mar 14 01:54:20 rpmi: libtasn1-4.14-alt1 p9+235792.100.2.1 1565425233 installed
<13>Mar 14 01:54:20 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Mar 14 01:54:20 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Mar 14 01:54:20 rpmi: ca-certificates-2020.06.29-alt1 p9+258899.100.3.1 1601998604 installed
<13>Mar 14 01:54:20 rpmi: ca-trust-0.1.2-alt1 p9+233349.100.1.1 1561655062 installed
<13>Mar 14 01:54:20 rpmi: p11-kit-trust-0.23.15-alt2 p9+254920.2400.19.1 1601385869 installed
<13>Mar 14 01:54:20 rpmi: libcrypto1.1-1.1.1i-alt2 p9+264846.100.1.1 1610982871 installed
<13>Mar 14 01:54:20 rpmi: libssl1.1-1.1.1i-alt2 p9+264846.100.1.1 1610982871 installed
<13>Mar 14 01:54:20 rpmi: python3-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Mar 14 01:54:20 rpmi: libpython3-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Mar 14 01:54:21 rpmi: python3-base-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Mar 14 01:54:21 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed
<13>Mar 14 01:54:21 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed
<13>Mar 14 01:54:27 rpmi: python3-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Mar 14 01:54:27 rpmi: python3-module-six-1.12.0-alt1 sisyphus+219665.100.2.1 1548148570 installed
<13>Mar 14 01:54:27 rpmi: python3-module-pluggy-0.11.0-alt1 sisyphus+229116.100.1.1 1557316655 installed
<13>Mar 14 01:54:27 rpmi: python3-module-more-itertools-7.0.0-alt3 sisyphus+226536.100.1.1 1554329928 installed
<13>Mar 14 01:54:27 rpmi: python3-module-iniconfig-1.0.0-alt1 sisyphus+227494.1100.1.3 1555839106 installed
<13>Mar 14 01:54:27 rpmi: python3-module-click-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed
<13>Mar 14 01:54:27 rpmi: python3-module-attrs-19.1.0-alt1 sisyphus+227473.2100.1.2 1555756986 installed
<13>Mar 14 01:54:27 rpmi: python3-module-atomicwrites-1.3.0-alt1 sisyphus+227473.2000.1.3 1555763467 installed
<13>Mar 14 01:54:27 rpmi: python3-module-apipkg-1.5-alt1 sisyphus+227465.1100.1.2 1555756555 installed
<13>Mar 14 01:54:27 rpmi: python3-module-py-1.8.0-alt2 sisyphus+228349.1400.4.1 1556631070 installed
<13>Mar 14 01:54:27 rpmi: python-module-iniconfig-1.0.0-alt1 sisyphus+227494.1100.1.3 1555839106 installed
<13>Mar 14 01:54:27 rpmi: python-module-apipkg-1.5-alt1 1531926894 installed
<13>Mar 14 01:54:27 rpmi: python-modules-curses-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:27 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed
<13>Mar 14 01:54:27 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed
<13>Mar 14 01:54:28 rpmi: python3-dev-3.7.4-alt3 p9+249932.100.2.1 1587126956 installed
<13>Mar 14 01:54:28 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994917 installed
<13>Mar 14 01:54:28 rpmi: libkeyutils-1.6-alt2 sisyphus+226520.100.2.1 1554512088 installed
<13>Mar 14 01:54:28 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091653 installed
<86>Mar 14 01:54:28 groupadd[353768]: group added to /etc/group: name=_keytab, GID=499
<86>Mar 14 01:54:28 groupadd[353768]: group added to /etc/gshadow: name=_keytab
<86>Mar 14 01:54:28 groupadd[353768]: new group: name=_keytab, GID=499
<13>Mar 14 01:54:28 rpmi: libkrb5-1.17.2-alt1 p9+262110.100.3.1 1606242396 installed
<13>Mar 14 01:54:28 rpmi: libtirpc-1.0.3-alt1 1532008015 installed
<13>Mar 14 01:54:28 rpmi: libnsl2-1.1.0-alt1_1 1511548748 installed
<13>Mar 14 01:54:28 rpmi: python-modules-compiler-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-email-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-unittest-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-encodings-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-nis-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-ctypes-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-module-six-1.12.0-alt1 sisyphus+219665.100.2.1 1548148570 installed
<13>Mar 14 01:54:28 rpmi: python-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Mar 14 01:54:28 rpmi: python-module-more-itertools-1:5.0.0-alt2 sisyphus+226536.200.1.1 1554329977 installed
<13>Mar 14 01:54:28 rpmi: python-modules-multiprocessing-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-logging-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-tools-2to3-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-xml-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-hotshot-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-bsddb-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-modules-distutils-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:28 rpmi: python-strict-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:29 rpmi: python-module-attrs-19.1.0-alt1 sisyphus+227473.2100.1.2 1555756986 installed
<13>Mar 14 01:54:29 rpmi: python-module-atomicwrites-1.3.0-alt1 sisyphus+227473.2000.1.3 1555763467 installed
<13>Mar 14 01:54:29 rpmi: python-module-click-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed
<13>Mar 14 01:54:29 rpmi: python-module-funcsigs-1.0.2-alt2 sisyphus+228355.2600.2.1 1556560236 installed
<13>Mar 14 01:54:29 rpmi: python-module-scandir-1.10.0-alt1 sisyphus+225192.100.1.2 1552968852 installed
<13>Mar 14 01:54:29 rpmi: python-module-pathlib2-2.3.3-alt1 sisyphus+228364.300.4.1 1556886257 installed
<13>Mar 14 01:54:29 rpmi: python-module-py-1.8.0-alt2 sisyphus+228349.1400.4.1 1556631070 installed
<13>Mar 14 01:54:29 rpmi: python-modules-json-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:29 rpmi: python-module-pluggy-0.11.0-alt1 sisyphus+229116.100.1.1 1557316655 installed
<13>Mar 14 01:54:29 rpmi: libnsl2-devel-1.1.0-alt1_1 1511548748 installed
<13>Mar 14 01:54:29 rpmi: python-dev-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed
<13>Mar 14 01:54:29 rpmi: python-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Mar 14 01:54:29 rpmi: python-module-pytest-3.10.1-alt5 sisyphus+228366.2000.2.3 1556707871 installed
<13>Mar 14 01:54:29 rpmi: python-module-click-tests-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed
<13>Mar 14 01:54:29 rpmi: python3-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed
<13>Mar 14 01:54:29 rpmi: python3-module-pytest-3.10.1-alt5 sisyphus+228366.2000.2.3 1556707871 installed
<13>Mar 14 01:54:29 rpmi: python3-module-click-tests-6.7-alt1.1.1 sisyphus+228018.100.1.1 1556023031 installed
Building target platforms: x86_64
Building for target x86_64
Wrote: /usr/src/in/nosrpm/python-module-cligj-0.4.0-alt2.1.nosrc.rpm (w1.gzdio)
Installing python-module-cligj-0.4.0-alt2.1.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.11690
+ 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.80199
+ 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'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ 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'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ 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.2223
+ 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
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd python-module-cligj-0.4.0
+ CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ 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'
+ export CFLAGS
+ CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ export CXXFLAGS
+ FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2'
+ 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,gnuconfig)
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.95136
+ 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.38 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/lib64/python3.7/json/__init__.py:348: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <json.decoder.JSONDecoder object at 0x7f040a784dd0>, s = '-100, 40'
_w = <built-in method match of re.Pattern object at 0x7f040a707270>

    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/lib64/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 = <list_iterator object at 0x7f040a51dd90>

>   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/lib64/python3.7/json/__init__.py:348: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <json.decoder.JSONDecoder object at 0x7f040a784dd0>, s = '-100 40'
_w = <built-in method match of re.Pattern object at 0x7f040a707270>

    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/lib64/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 = <list_iterator object at 0x7f040a3e6510>

>   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/lib64/python3.7/json/__init__.py:348: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <json.decoder.JSONDecoder object at 0x7f040a784dd0>
s = '-122.7282, 45.5801'
_w = <built-in method match of re.Pattern object at 0x7f040a707270>

    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/lib64/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 = <list_iterator object at 0x7f040a3f2e10>

>   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/lib64/python3.7/json/__init__.py:348: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <json.decoder.JSONDecoder object at 0x7f040a784dd0>
s = '-122.7282 45.5801'
_w = <built-in method match of re.Pattern object at 0x7f040a707270>

    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/lib64/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 = <list_iterator object at 0x7f040a4f84d0>

>   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.75 seconds ================
error: Bad exit status from /usr/src/tmp/rpm-tmp.95136 (%check)


RPM build errors:
    Bad exit status from /usr/src/tmp/rpm-tmp.95136 (%check)
Command exited with non-zero status 1
8.01user 0.98system 0:08.93elapsed 100%CPU (0avgtext+0avgdata 33264maxresident)k
0inputs+0outputs (0major+159631minor)pagefaults 0swaps
hsh-rebuild: rebuild of `python-module-cligj-0.4.0-alt2.1.src.rpm' failed.
Command exited with non-zero status 1
21.27user 7.00system 0:28.50elapsed 99%CPU (0avgtext+0avgdata 115656maxresident)k
2824inputs+0outputs (0major+548373minor)pagefaults 0swaps