86>Jun 8 11:18:02 userdel[776626]: delete user 'rooter'
<86>Jun 8 11:18:02 groupadd[776656]: group added to /etc/group: name=rooter, GID=663
<86>Jun 8 11:18:02 groupadd[776656]: group added to /etc/gshadow: name=rooter
<86>Jun 8 11:18:02 groupadd[776656]: new group: name=rooter, GID=663
<86>Jun 8 11:18:02 useradd[776677]: new user: name=rooter, UID=663, GID=663, home=/root, shell=/bin/bash
<86>Jun 8 11:18:02 userdel[776701]: delete user 'builder'
<86>Jun 8 11:18:02 groupadd[776952]: group added to /etc/group: name=builder, GID=664
<86>Jun 8 11:18:02 groupadd[776952]: group added to /etc/gshadow: name=builder
<86>Jun 8 11:18:02 groupadd[776952]: new group: name=builder, GID=664
<86>Jun 8 11:18:02 useradd[776979]: new user: name=builder, UID=664, GID=664, home=/usr/src, shell=/bin/bash
/usr/src/in/srpm/python3-module-pyresttest-1.7.1-alt1.src.rpm: license not found in '/usr/share/license' directory: ASLv2.0
<13>Jun 8 11:18:05 rpmi: libgdbm-1.8.3-alt10 1454943334 installed
<13>Jun 8 11:18:05 rpmi: libexpat-2.2.10-alt1 sisyphus+259966.100.1.1 1602824518 installed
<13>Jun 8 11:18:05 rpmi: libp11-kit-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Jun 8 11:18:05 rpmi: libtasn1-4.16.0-alt1 sisyphus+245480.100.1.1 1580825062 installed
<13>Jun 8 11:18:05 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jun 8 11:18:05 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed
<13>Jun 8 11:18:05 rpmi: ca-certificates-2021.06.03-alt1 sisyphus+273509.400.1.1 1622736045 installed
<13>Jun 8 11:18:05 rpmi: ca-trust-0.1.2-alt1 sisyphus+233348.100.1.1 1561653823 installed
<13>Jun 8 11:18:05 rpmi: p11-kit-trust-0.23.15-alt2 sisyphus+252784.100.2.2 1591274901 installed
<13>Jun 8 11:18:05 rpmi: libcrypto1.1-1.1.1k-alt1 sisyphus+268375.100.1.1 1616684255 installed
<13>Jun 8 11:18:05 rpmi: libssl1.1-1.1.1k-alt1 sisyphus+268375.100.1.1 1616684255 installed
<13>Jun 8 11:18:05 rpmi: python3-3.9.5-alt1 sisyphus+271461.100.1.1 1620748853 installed
<13>Jun 8 11:18:06 rpmi: python3-base-3.9.5-alt1 sisyphus+271461.100.1.1 1620748853 installed
<13>Jun 8 11:18:06 rpmi: libpython3-3.9.5-alt1 sisyphus+271461.100.1.1 1620748853 installed
<13>Jun 8 11:18:06 rpmi: tests-for-installed-python3-pkgs-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed
<13>Jun 8 11:18:06 rpmi: rpm-build-python3-0.1.17-alt1 sisyphus+271082.100.1.1 1619820927 installed
<13>Jun 8 11:18:10 rpmi: python3-module-pkg_resources-1:57.0.0-alt1 sisyphus+272429.100.1.1 1621886170 installed
<13>Jun 8 11:18:10 rpmi: python3-module-six-1.15.0-alt2 sisyphus+270533.5100.6.1 1619685463 installed
<13>Jun 8 11:18:10 rpmi: python3-module-zope.interface-5.4.0-alt1 sisyphus+270674.200.1.1 1619413827 installed
<13>Jun 8 11:18:10 rpmi: python3-module-attrs-21.2.0-alt1 sisyphus+273317.100.1.1 1622569791 installed
<13>Jun 8 11:18:10 rpmi: python3-module-idna-3.1-alt1 sisyphus+267356.100.1.1 1614879269 installed
<13>Jun 8 11:18:10 rpmi: python3-module-multidict-4.5.2-alt2 sisyphus+272376.100.1.1 1621857894 installed
<13>Jun 8 11:18:10 rpmi: python3-module-chardet-1:3.0.4-alt2 sisyphus+263408.100.1.1 1607875228 installed
<13>Jun 8 11:18:10 rpmi: libidn2-2.3.1-alt1 sisyphus+272590.100.1.1 1622036905 installed
<13>Jun 8 11:18:10 rpmi: python3-module-yarl-1.6.3-alt2 sisyphus+272339.300.2.1 1621673615 installed
<13>Jun 8 11:18:10 rpmi: python3-module-idna_ssl-1.1.0-alt2 sisyphus+272418.100.1.1 1621876529 installed
<13>Jun 8 11:18:10 rpmi: python3-module-hyperlink-19.0.0-alt1 sisyphus+231791.100.1.1 1560104463 installed
<13>Jun 8 11:18:10 rpmi: python3-module-ntlm-1.1.0-alt1.2 sisyphus+228512.100.1.1 1556654575 installed
<13>Jun 8 11:18:10 rpmi: python3-module-sqlparse-0.2.2-alt1 sisyphus+228373.1300.2.3 1556721017 installed
<13>Jun 8 11:18:10 rpmi: python3-module-pyrsistent-0.17.3-alt1 sisyphus+265234.12400.49.1 1613751593 installed
<13>Jun 8 11:18:10 rpmi: python3-module-pytz-1:2021.1-alt1 sisyphus+267903.400.1.1 1615896636 installed
<13>Jun 8 11:18:10 rpmi: python3-module-ndg-0.4.2-alt1.qa1 sisyphus+227504.1300.1.2 1555853234 installed
<13>Jun 8 11:18:10 rpmi: python3-module-typing_extensions-3.7.4.3-alt1 sisyphus+257514.200.1.1 1599349446 installed
<13>Jun 8 11:18:10 rpmi: python3-module-click-7.1.2-alt2 sisyphus+260950.100.1.1 1604486258 installed
<13>Jun 8 11:18:10 rpmi: python3-module-incremental-17.5.0-alt4 sisyphus+261326.100.1.1 1604867833 installed
<13>Jun 8 11:18:10 rpmi: python3-module-constantly-15.1.0-alt5.qa1 sisyphus+228353.1600.3.1 1556554115 installed
<13>Jun 8 11:18:10 rpmi: python3-module-pygobject-2.28.6-alt11 sisyphus+265234.40640.49.1 1613774350 installed
<13>Jun 8 11:18:10 rpmi: python3-module-appdirs-1.4.4-alt1 sisyphus+267613.300.2.1 1620039159 installed
<13>Jun 8 11:18:10 rpmi: python3-module-pycares-2.3.0-alt1.1 sisyphus+265234.35200.49.1 1613769404 installed
<13>Jun 8 11:18:10 rpmi: python3-module-certifi-2020.12.5-alt1 sisyphus+266616.300.2.2 1614137319 installed
<13>Jun 8 11:18:10 rpmi: python3-module-openid-2.2.5-alt2.2 1526988190 installed
<13>Jun 8 11:18:10 rpmi: python3-module-z3c-3.0.0-alt3 sisyphus+220440.100.1.1 1549119447 installed
<13>Jun 8 11:18:10 rpmi: python3-module-zc-1.0.0-alt6.2 1458024175 installed
<13>Jun 8 11:18:10 rpmi: python3-module-zope-3.3.0-alt8.5 sisyphus+225625.33400.91.1 1555314837 installed
<13>Jun 8 11:18:10 rpmi: python3-module-zope.event-4.4-alt1 sisyphus+225625.33500.91.1 1555314916 installed
<13>Jun 8 11:18:10 rpmi: python3-module-pycparser-2.20-alt1 sisyphus+260990.100.1.1 1604547209 installed
<13>Jun 8 11:18:10 rpmi: python3-module-cffi-1.14.5-alt2 sisyphus+270533.2000.6.1 1619684442 installed
<13>Jun 8 11:18:10 rpmi: python3-module-cryptography-3.4.7-alt1 sisyphus+270667.100.1.1 1619307697 installed
<13>Jun 8 11:18:10 rpmi: python3-module-openssl-20.0.1-alt1 sisyphus+267607.100.2.1 1615475362 installed
<13>Jun 8 11:18:10 rpmi: python3-module-ndg-httpsclient-0.4.2-alt1.qa1 sisyphus+227504.1300.1.2 1555853234 installed
<13>Jun 8 11:18:10 rpmi: python3-module-urllib3-2:1.25.10-alt1 sisyphus+255342.100.1.1 1595592746 installed
<13>Jun 8 11:18:10 rpmi: python3-module-requests-2.25.1-alt2 sisyphus+267359.100.1.1 1614881487 installed
<13>Jun 8 11:18:10 rpmi: python3-module-dns-1:1.16.0-alt2 sisyphus+261959.100.1.1 1605650239 installed
<13>Jun 8 11:18:10 rpmi: python3-module-async-timeout-3.0.1-alt1 sisyphus+228351.2200.6.1 1556642315 installed
<13>Jun 8 11:18:10 rpmi: python3-module-Cheetah-3.2.3-alt3 sisyphus+272565.100.1.1 1622026305 installed
<13>Jun 8 11:18:10 rpmi: python3-module-paste-2.0.3-alt2 sisyphus+238977.100.1.1 1570626890 installed
<13>Jun 8 11:18:10 rpmi: python3-module-PasteDeploy-1:2.0.1-alt2 sisyphus+272419.200.2.1 1621909319 installed
<13>Jun 8 11:18:10 rpmi: python3-module-PasteScript-1:2.0.2-alt2 sisyphus+272468.100.1.1 1621939313 installed
<13>Jun 8 11:18:10 rpmi: libyaml2-0.2.5-alt1 sisyphus+253672.100.1.1 1592583137 installed
<13>Jun 8 11:18:11 rpmi: python3-module-yaml-5.4.1-alt1 sisyphus+266616.200.3.3 1614165424 installed
<13>Jun 8 11:18:11 rpmi: libuv-1.41.0-alt2 sisyphus+267695.100.2.1 1615786345 installed
<13>Jun 8 11:18:11 rpmi: libpython-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python2-base-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-encodings-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-compiler-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-email-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-unittest-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-ctypes-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-multiprocessing-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: python-modules-logging-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:11 rpmi: libtinfo-devel-6.2.20210123-alt1 sisyphus+265425.100.1.1 1611851433 installed
<13>Jun 8 11:18:11 rpmi: libncurses-devel-6.2.20210123-alt1 sisyphus+265425.100.1.1 1611851433 installed
<13>Jun 8 11:18:11 rpmi: python3-dev-3.9.5-alt1 sisyphus+271461.100.1.1 1620748853 installed
<13>Jun 8 11:18:11 rpmi: python3-module-greenlet-0.4.17-alt1 sisyphus+265234.7000.49.1 1613749723 installed
<13>Jun 8 11:18:11 rpmi: libmaxminddb-1.6.0-alt1 sisyphus+271644.100.1.1 1620830169 installed
<13>Jun 8 11:18:11 rpmi: python3-module-MaxMindDB-2.0.3-alt1 sisyphus+265234.33300.49.1 1613767716 installed
<13>Jun 8 11:18:11 rpmi: libusb-1.0.24-alt1 sisyphus+271858.200.2.1 1621003094 installed
<13>Jun 8 11:18:11 rpmi: libhidapi-0.10.1-alt1_2 sisyphus+265273.100.1.1 1611604280 installed
<13>Jun 8 11:18:11 rpmi: python3-module-cython-hidapi-0.9.0-alt0.1 sisyphus+265234.34400.49.1 1613768638 installed
<13>Jun 8 11:18:11 rpmi: python3-module-serial-3.5-alt1 sisyphus+266224.1000.1.1 1613128454 installed
<13>Jun 8 11:18:11 rpmi: python3-module-automat-20.2.0-alt2 sisyphus+261245.140.3.1 1604811044 installed
<13>Jun 8 11:18:11 rpmi: python3-module-twisted-logger-20.3.0-alt2 sisyphus+265234.27700.49.1 1613763709 installed
<13>Jun 8 11:18:11 rpmi: python3-module-twisted-words-20.3.0-alt2 sisyphus+265234.27700.49.1 1613763709 installed
<13>Jun 8 11:18:11 rpmi: python3-module-twisted-core-20.3.0-alt2 sisyphus+265234.27700.49.1 1613763709 installed
<13>Jun 8 11:18:12 rpmi: python3-module-twisted-names-20.3.0-alt2 sisyphus+265234.27700.49.1 1613763709 installed
<13>Jun 8 11:18:12 rpmi: python3-module-tornado-5.1.1-alt2 sisyphus+265234.17600.49.1 1613755330 installed
<13>Jun 8 11:18:12 rpmi: libev4-4.33-alt1 sisyphus+265178.100.1.1 1611519286 installed
<13>Jun 8 11:18:12 rpmi: publicsuffix-list-dafsa-20210419-alt1 sisyphus+270358.100.1.1 1618924010 installed
<13>Jun 8 11:18:12 rpmi: libpsl-0.21.1-alt2 sisyphus+271468.100.1.1 1620753491 installed
<13>Jun 8 11:18:12 rpmi: libnghttp2-1.41.0-alt1 sisyphus+253680.100.1.1 1592642271 installed
<13>Jun 8 11:18:12 rpmi: openldap-common-2.4.57-alt1 sisyphus+273656.200.1.1 1622884316 installed
<13>Jun 8 11:18:12 rpmi: libverto-0.3.2-alt1_1 sisyphus+268398.100.1.1 1616717462 installed
<13>Jun 8 11:18:12 rpmi: liblmdb-0.9.23-alt1 sisyphus+225277.100.2.1 1553001679 installed
<13>Jun 8 11:18:12 rpmi: libkeyutils-1.6.3-alt1 sisyphus+266061.100.1.1 1612919567 installed
<13>Jun 8 11:18:12 rpmi: libcom_err-1.45.6.0.24.af1a-alt1 sisyphus+262279.100.1.1 1606088229 installed
<86>Jun 8 11:18:12 groupadd[799954]: group added to /etc/group: name=_keytab, GID=499
<86>Jun 8 11:18:12 groupadd[799954]: group added to /etc/gshadow: name=_keytab
<86>Jun 8 11:18:12 groupadd[799954]: new group: name=_keytab, GID=499
<13>Jun 8 11:18:12 rpmi: libkrb5-1.19.1-alt2 sisyphus+267847.100.1.1 1615814853 installed
<86>Jun 8 11:18:12 groupadd[800277]: group added to /etc/group: name=sasl, GID=498
<86>Jun 8 11:18:12 groupadd[800277]: group added to /etc/gshadow: name=sasl
<86>Jun 8 11:18:12 groupadd[800277]: new group: name=sasl, GID=498
<13>Jun 8 11:18:12 rpmi: libsasl2-3-2.1.27-alt2.1 sisyphus+255909.100.2.1 1597199456 installed
<13>Jun 8 11:18:12 rpmi: libldap-2.4.57-alt1 sisyphus+273656.200.1.1 1622884422 installed
<13>Jun 8 11:18:12 rpmi: libpq5-13.3-alt1 sisyphus+273656.4500.2.1 1622991028 installed
<13>Jun 8 11:18:12 rpmi: python3-module-psycopg2-2.8.6-alt1 sisyphus+265234.11100.49.1 1613750590 installed
<13>Jun 8 11:18:12 rpmi: python3-module-eventlet-0.29.1-alt2 sisyphus+261959.200.1.1 1605650293 installed
<13>Jun 8 11:18:12 rpmi: libcares-1.17.1-alt1 sisyphus+262311.100.1.1 1606112761 installed
<13>Jun 8 11:18:12 rpmi: python3-module-gevent-21.1.2-alt1 sisyphus+270383.200.2.1 1618966655 installed
<13>Jun 8 11:18:12 rpmi: python3-module-gunicorn-20.0.4-alt2 sisyphus+261234.100.1.1 1604801607 installed
<13>Jun 8 11:18:12 rpmi: python3-module-aiohttp-3.7.4-alt1 sisyphus+267903.200.1.1 1615896553 installed
<13>Jun 8 11:18:12 rpmi: python3-module-GeoIP2-4.2.0-alt1 sisyphus+272014.100.1.1 1621243202 installed
<13>Jun 8 11:18:12 rpmi: libbrotlicommon-1.0.9-alt2 sisyphus+257777.100.1.1 1599688017 installed
<13>Jun 8 11:18:12 rpmi: libbrotlidec-1.0.9-alt2 sisyphus+257777.100.1.1 1599688017 installed
<13>Jun 8 11:18:12 rpmi: libcurl-7.77.0-alt1 sisyphus+272616.100.1.1 1622105648 installed
<13>Jun 8 11:18:12 rpmi: python3-module-pycurl-7.43.0.6-alt3 sisyphus+265234.11600.49.1 1613751167 installed
<13>Jun 8 11:18:13 rpmi: python3-module-django-2.2.19-alt1 sisyphus+266889.200.1.1 1614172722 installed
<13>Jun 8 11:18:13 rpmi: python-tools-2to3-2.7.18-alt5 sisyphus+270920.100.1.1 1619657728 installed
<13>Jun 8 11:18:13 rpmi: python3-module-jsonschema-3.2.0-alt3 sisyphus+261623.40.2.1 1605172707 installed
Building target platforms: i586
Building for target i586
Wrote: /usr/src/in/nosrpm/python3-module-pyresttest-1.7.1-alt1.nosrc.rpm (w1.gzdio)
<13>Jun 8 11:18:16 rpmi: python3-module-setuptools-1:57.0.0-alt1 sisyphus+272429.100.1.1 1621886170 installed
Installing python3-module-pyresttest-1.7.1-alt1.src.rpm
Building target platforms: i586
Building for target i586
Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.60383
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ rm -rf python3-module-pyresttest-1.7.1
+ echo 'Source #0 (python3-module-pyresttest-1.7.1.tar):'
Source #0 (python3-module-pyresttest-1.7.1.tar):
+ /bin/tar -xf /usr/src/RPM/SOURCES/python3-module-pyresttest-1.7.1.tar
+ cd python3-module-pyresttest-1.7.1
+ /bin/chmod -c -Rf u+rwX,go-w .
+ chmod +x run_tests.sh
+ find ./ -type f -name '*.py' -exec 2to3 -w -n '{}' +
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: No changes to ./util/profile_basic_test.py
RefactoringTool: No changes to ./setup.py
RefactoringTool: Refactored ./sample_extension.py
RefactoringTool: Refactored ./pyresttest/validators.py
--- ./sample_extension.py (original)
+++ ./sample_extension.py (refactored)
@@ -5,7 +5,7 @@
# Python 3 compatibility
if sys.version_info[0] > 2:
- from past.builtins import basestring
+ from past.builtins import str
from pyresttest.six import text_type
from pyresttest.six import binary_type
@@ -28,7 +28,7 @@
@staticmethod
def parse(config):
""" Parse a contains validator, which takes as the config a simple string to find """
- if not isinstance(config, basestring):
+ if not isinstance(config, str):
raise TypeError("Contains input must be a simple string")
validator = ContainsValidator()
validator.contains_string = config
--- ./pyresttest/validators.py (original)
+++ ./pyresttest/validators.py (refactored)
@@ -18,8 +18,8 @@
# Python 3 compatibility
PYTHON_MAJOR_VERSION = sys.version_info[0]
if PYTHON_MAJOR_VERSION > 2:
- from past.builtins import basestring
- from past.builtins import long
+ from past.builtins import str
+ from past.builtins import int
"""
Validator/Extractor logic for utility use
@@ -70,16 +70,16 @@
TYPES = {
'null': type(None),
'none': type(None),
- 'number': (int, long, float),
- 'int': (int, long),
+ 'number': (int, int, float),
+ 'int': (int, int),
'float': float,
'boolean': bool,
- 'string': basestring,
+ 'string': str,
'array': list,
'list': list,
'dict': dict,
'map': dict,
- 'scalar': (bool, int, long, float, basestring, type(None)),
+ 'scalar': (bool, int, int, float, str, type(None)),
'collection': (list, dict, set)
}
@@ -143,7 +143,7 @@
details = None
validator = None
- def __nonzero__(self):
+ def __bool__(self):
""" Failure objects test as False, simplifies coding with them """
return False
@@ -215,7 +215,7 @@
except KeyError:
raise ValueError(
"Cannot define a dictionary config for abstract extractor without it having template key")
- elif isinstance(config, basestring):
+ elif isinstance(config, str):
extractor_base.query = config
extractor_base.is_templated = False
else:
@@ -275,7 +275,7 @@
def extract_internal(self, query=None, args=None, body=None, headers=None):
low = query.lower()
# Value for all matching key names
- extracted = [y[1] for y in filter(lambda x: x[0] == low, headers)]
+ extracted = [y[1] for y in [x for x in headers if x[0] == low]]
if len(extracted) == 0:
raise ValueError("Invalid header name {0}".format(query))
elif len(extracted) == 1:
@@ -310,7 +310,7 @@
and error if more than one or none """
extractor = None
extract_config = None
- for key, value in config_dict.items():
+ for key, value in list(config_dict.items()):
if key in EXTRACTORS:
return parse_extractor(key, value)
else: # No valid extractor
@@ -429,13 +429,13 @@
# Expected value can be another extractor query, or a single value, or
# a templated value
- if isinstance(expected, basestring) or isinstance(expected, (int, long, float, complex)):
+ if isinstance(expected, str) or isinstance(expected, (int, float, complex)):
output.expected = expected
elif isinstance(expected, dict):
expected = parsing.lowercase_keys(expected)
template = expected.get('template')
if template: # Templated string
- if not isinstance(template, basestring):
+ if not isinstance(template, str):
raise ValueError(
"Can't template a comparator-validator unless template value is a string")
output.isTemplateExpected = True
@@ -556,7 +556,7 @@
def register_extractor(extractor_name, parse_function):
""" Register a new body extraction function """
- if not isinstance(extractor_name, basestring):
+ if not isinstance(extractor_RefactoringTool: Refactored ./pyresttest/tests.py
name, str):
raise TypeError("Cannot register a non-string extractor name")
if extractor_name.lower() == 'comparator':
raise ValueError(
@@ -575,7 +575,7 @@
def register_test(test_name, test_function):
""" Register a new one-argument test function """
- if not isinstance(test_name, basestring):
+ if not isinstance(test_name, str):
raise TypeError("Cannot register a non-string test name")
elif test_name in VALIDATOR_TESTS:
raise ValueError(
@@ -585,7 +585,7 @@
def register_comparator(comparator_name, comparator_function):
""" Register a new twpo-argument comparator function returning true or false """
- if not isinstance(comparator_name, basestring):
+ if not isinstance(comparator_name, str):
raise TypeError("Cannot register a non-string comparator name")
elif comparator_name in COMPARATORS:
raise ValueError(
--- ./pyresttest/tests.py (original)
+++ ./pyresttest/tests.py (refactored)
@@ -14,10 +14,10 @@
# Find the best implementation available on this platform
try:
- from cStringIO import StringIO as MyIO
+ from io import StringIO as MyIO
except:
try:
- from StringIO import StringIO as MyIO
+ from io import StringIO as MyIO
except ImportError:
from io import BytesIO as MyIO
@@ -25,9 +25,9 @@
PYTHON_MAJOR_VERSION = sys.version_info[0]
if PYTHON_MAJOR_VERSION > 2:
import urllib.parse as urlparse
- from past.builtins import basestring
+ from past.builtins import str
else:
- import urlparse
+ import urllib.parse
# Python 3 compatibility shims
from . import six
@@ -50,11 +50,11 @@
# Map HTTP method names to curl methods
# Kind of obnoxious that it works this way...
-HTTP_METHODS = {u'GET': pycurl.HTTPGET,
- u'PUT': pycurl.UPLOAD,
- u'PATCH': pycurl.POSTFIELDS,
- u'POST': pycurl.POST,
- u'DELETE': 'DELETE'}
+HTTP_METHODS = {'GET': pycurl.HTTPGET,
+ 'PUT': pycurl.UPLOAD,
+ 'PATCH': pycurl.POSTFIELDS,
+ 'POST': pycurl.POST,
+ 'DELETE': 'DELETE'}
# Parsing helper functions
def coerce_to_string(val):
@@ -77,7 +77,7 @@
def coerce_http_method(val):
myval = val
- if not isinstance(myval, basestring) or len(val) == 0:
+ if not isinstance(myval, str) or len(val) == 0:
raise TypeError("Invalid HTTP method name: input {0} is not a string or has 0 length".format(val))
if isinstance(myval, binary_type):
myval = myval.decode('utf-8')
@@ -96,9 +96,9 @@
expected_status = [200] # expected HTTP status code or codes
_body = None
_headers = dict() # HTTP Headers
- method = u'GET'
- group = u'Default'
- name = u'Unnamed'
+ method = 'GET'
+ group = 'Default'
+ name = 'Unnamed'
validators = None # Validators for response body, IE regexes, etc
stop_on_failure = False
failures = None
@@ -157,7 +157,7 @@
""" Read body from file, applying template if pertinent """
if self._body is None:
return None
- elif isinstance(self._body, basestring):
+ elif isinstance(self._body, str):
return self._body
else:
return self._body.get_content(context=context)
@@ -204,7 +204,7 @@
def template_tuple(tuple_input):
return (string.Template(str(tuple_item)).safe_substitute(vals) for tuple_item in tuple_input)
- return dict(map(template_tuple, self._headers.items()))
+ return dict(list(map(template_tuple, list(self._headers.items()))))
headers = property(get_headers, set_headers, None,
'Headers dictionary for request')
@@ -214,13 +214,13 @@
if self.variable_binds:
context.bind_variables(self.variable_binds)
if self.generator_binds:
- for key, value in self.generator_binds.items():
+ for key, value in list(self.generator_binds.items()):
context.bind_generator_next(key, value)
def update_context_after(self, response_body, headers, context):
""" Run the extraction routines to update variables based on HTTP response body """
if self.extract_binds:
- for key, value in self.extract_binds.items():
+ for key, value in list(self.extract_binds.items()):
result = value.extract(
body=response_body, headers=headers, context=context)
context.bind_variable(key, result)
@@ -325,21 +325,21 @@
if self.auth_type:
curl.setopt(pycurl.HTTPAUTH, self.auth_type)
- if self.method == u'POST':
- curl.setopt(HTTP_METHODS[u'POST'], 1)
+ if self.method == 'POST':
+ curl.setopt(HTTP_METHODS['POST'], 1)
# Required for some servers
if bod is not None:
curl.setopt(pycurl.POSTFIELDSIZE, len(bod))
else:
curl.setopt(pycurl.POSTFIELDSIZE, 0)
- elif self.method == u'PUT':
- curl.setopt(HTTP_METHODS[u'PUT'], 1)
+ elif self.method == 'PUT':
+ curl.setopt(HTTP_METHODS['PUT'], 1)
# Required for some servers
if bod is not None:
curl.setopt(pycurl.INFILESIZE, len(bod))
else:
curl.setopt(pycurl.INFILESIZE, 0)
- elif self.method == u'PATCH':
+ elif self.method == 'PATCH':
curl.setopt(curl.POSTFIELDS, bod)
curl.setopt(curl.CUSTOMREQUEST, 'PATCH')
# Required for some servers
@@ -348,12 +348,12 @@
curl.setopt(pycurl.INFILESIZE, len(bod))
else:
curl.setopt(pycurl.INFILESIZE, 0)
- elif self.method == u'DELETE':
+ elif self.method == 'DELETE':
curl.setopt(curl.CUSTOMREQUEST, 'DELETE')
if bod is not None:
curl.setopt(pycurl.POSTFIELDS, bod)
curl.setopt(pycurl.POSTFIELDSIZE, len(bod))
- elif self.method == u'HEAD':
+ elif self.method == 'HEAD':
curl.setopt(curl.NOBODY, 1)
curl.setopt(curl.CUSTOMREQUEST, 'HEAD')
elif self.method and self.method.upper() != 'GET': # Alternate HTTP methods
@@ -368,14 +368,14 @@
# Set charset if doing unicode conversion and not set explicitly
# TESTME
- if is_unicoded and u'content-type' in head.keys():
- content = head[u'content-type']
- if u'charset' not in content:
- head[u'content-type'] = content + u' ; charset=UTF-8'
+ if is_unicoded and 'content-type' in list(head.keys()):
+ content = head['content-type']
+ if 'charset' not in content:
+ head['content-type'] = content + ' ; charset=UTF-8'
if head:
headers = [str(headername) + ':' + str(headervalue)
- for headername, headervalue in head.items()]
+ for headername, headervalue in list(head.items())]
else:
headers = list()
# Fix for expecting 100-continue from server, which not all servers
@@ -388,7 +388,7 @@
# And the key/value pairs are set
if self.curl_options:
filterfunc = lambda x: x[0] is not None and x[1] is not None # Must have key and value
- for (key, value) in ifilter(filterfunc, self.curl_options.items()):
+ for (key, value) in filter(filterfunc, list(self.curl_options.items())):
# getattr to look up constant for variable name
curl.setopt(getattr(curl, key), value)
return curl
@@ -419,19 +419,19 @@
# Simple table of variable name, coerce function, and optionally special store function
CONFIG_ELEMENTS = {
# Simple variables
- u'auth_username': [coerce_string_to_ascii],
- u'auth_password': [coerce_string_to_ascii],
- u'method': [coerce_http_method], # HTTP METHOD
- u'delay': [lambda x: int(x)], # Delay before running
- u'group': [coerce_to_string], # Test group name
- u'name': [coerce_to_string], # Test name
- u'expected_status': [coerce_list_of_ints],
- u'delay': [lambda x: int(x)],
- u'stop_on_failure': [safe_to_bool],
+ 'auth_username': [coerce_string_to_ascii],
+ 'auth_password': [coerce_string_to_ascii],
+ 'method': [coerce_http_method], # HTTP METHOD
+ 'delay': [lambda x: int(x)], # Delay before running
+ 'group': [coerce_to_string], # Test group name
+ 'name': [coerce_to_string], # Test name
+ 'expected_status': [coerce_list_of_ints],
+ 'delay': [lambda x: int(x)],
+ 'stop_on_failure': [safe_to_bool],
# Templated / special handling
#u'url': [coerce_templatable, set_templated), # TODO: special handling for templated content, sigh
- u'body': [ContentHandler.parse_content]
+ 'body': [ContentHandler.parse_content]
#u'headers': [],
# COMPLEX PARSE OPTIONS
@@ -457,31 +457,31 @@
return False
# Copy/convert input elements into appropriate form for a test object
- for configelement, configvalue in node.items():
+ for configelement, configvalue in list(node.items()):
if use_config_parser(mytest, configelement, configvalue):
continue
# Configure test using configuration elements
- if configelement == u'url':
+ if configelement == 'url':
temp = configvalue
if isinstance(configvalue, dict):
# Template is used for URL
- val = lowercase_keys(configvalue)[u'template']
- assert isinstance(val, basestring) or isinstance(val, int)
- url = urlparse.urljoin(base_url, coerce_to_string(val))
+ val = lowercase_keys(configvalue)['template']
+ assert isinstance(val, str) or isinstance(val, int)
+ url = urllib.parse.urljoin(base_url, coerce_to_string(val))
mytest.set_url(url, isTemplate=True)
else:
- assert isinstance(configvalue, basestring) or isinstance(
+ assert isinstance(configvalue, str) or isinstance(
configvalue, int)
- mytest.url = urlparse.urljoin(base_url, coerce_to_string(configvalue))
- elif configelement == u'extract_binds':
+ mytest.url = urllib.parse.urljoin(base_url, coerce_to_string(configvalue))
+ elif configelement == 'extract_binds':
# Add a list of extractors, of format:
# {variable_name: {extractor_type: extractor_config}, ... }
binds = flatten_dictionaries(configvalue)
if mytest.extract_binds is None:
mytest.extract_binds = dict()
- for variable_name, extractor in binds.items():
+ for variable_name, extractor in list(binds.items()):
if not isinstance(extractor, dict) or len(extractor) == 0:
raise TypeError(
"Extractors must be defined as maps of extractorType:{configs} with 1 entry")
@@ -490,11 +490,11 @@
"Cannot define multiple extractors for given variable name")
# Safe because length can only be 1
- for extractor_type, extractor_config in extractor.items():
+ for extractor_type, extractor_config in list(extractor.items()):
mytest.extract_binds[variable_name] = validators.parse_extractor(extractor_type, extractor_config)
- elif configelement == u'validators':
+ elif configelement == 'validators':
# Add a list of validators
if not isinstance(configvalue, list):
raise Exception(
@@ -507,7 +507,7 @RefactoringTool: No changes to ./pyresttest/testapp/testapp/wsgi.py
RefactoringTool: No changes to ./pyresttest/testapp/testapp/urls.py
RefactoringTool: No changes to ./pyresttest/testapp/testapp/settings.py
RefactoringTool: No changes to ./pyresttest/testapp/testapp/models.py
RefactoringTool: No changes to ./pyresttest/testapp/testapp/api.py
RefactoringTool: No changes to ./pyresttest/testapp/manage.py
RefactoringTool: Refactored ./pyresttest/test_validators.py
WARNING: couldn't encode ./pyresttest/test_validators.py's diff for your terminal
RefactoringTool: Refactored ./pyresttest/test_tests.py
@
if not isinstance(var, dict):
raise TypeError(
"Validators must be defined as validatorType:{configs} ")
- for validator_type, validator_config in var.items():
+ for validator_type, validator_config in list(var.items()):
validator = validators.parse_validator(
validator_type, validator_config)
mytest.validators.append(validator)
@@ -518,7 +518,7 @@
if isinstance(configvalue, dict):
filterfunc = lambda x: str(x[0]).lower() == 'template' # Templated items
- templates = [x for x in ifilter(filterfunc, configvalue.items())]
+ templates = [x for x in filter(filterfunc, list(configvalue.items()))]
else:
templates = None
@@ -535,7 +535,7 @@
elif configelement == 'generator_binds':
output = flatten_dictionaries(configvalue)
output2 = dict()
- for key, value in output.items():
+ for key, value in list(output.items()):
output2[str(key)] = str(value)
mytest.generator_binds = output2
elif configelement.startswith('curl_option_'):
@@ -552,7 +552,7 @@
# (but only if not expected statuses are not explicitly specified)
# this is per HTTP spec:
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5
- if 'expected_status' not in node.keys():
+ if 'expected_status' not in list(node.keys()):
if mytest.method == 'POST':
mytest.expected_status = [200, 201, 204]
elif mytest.method == 'PUT':
--- ./pyresttest/test_validators.py (original)
+++ ./pyresttest/test_validators.py (refactored)
@@ -21,7 +21,7 @@
self.assertTrue(cont_func('abagooberab23', 'goob'))
self.assertTrue(cont_by_func('goob', 'abagooberab23'))
- myarray = ['math', 1, None, u'lest']
+ myarray = ['math', 1, None, 'lest']
self.assertTrue(cont_func(myarray, 1))
self.assertTrue(cont_func(myarray, None))
self.assertTrue(cont_by_func(None, myarray))
@@ -55,12 +55,12 @@
}
# Check for basic types that they pass expected values
- for mytype, myinstance in instances.items():
+ for mytype, myinstance in list(instances.items()):
try:
self.assertTrue(type_test(myinstance, mytype))
except AssertionError:
- print('Type test operator failed where should pass for type {0} and value {1}'.format(
- mytype, myinstance))
+ print(('Type test operator failed where should pass for type {0} and value {1}'.format(
+ mytype, myinstance)))
hasFailed = True
if hasFailed:
@@ -86,12 +86,12 @@
}
# Check for complex types that they don't pass expected values
- for mytype, myinstance in failing_instances.items():
+ for mytype, myinstance in list(failing_instances.items()):
try:
self.assertFalse(type_test(myinstance, mytype))
except AssertionError:
- print('Type test operator passed where should fail for type {0} and value {1}'.format(
- mytype, myinstance))
+ print(('Type test operator passed where should fail for type {0} and value {1}'.format(
+ mytype, myinstance)))
hasFailed = True
if hasFailed:
self.fail("Type test operator failed testing, see reasons above!")
@@ -177,12 +177,12 @@
self.assertEqual('val', val)
def test_jsonpathmini_unicode(self):
--- ./pyresttest/test_tests.py (original)
+++ ./pyresttest/test_tests.py (refactored)
@@ -27,25 +27,25 @@
# Parsing methods
def test_coerce_to_string(self):
- self.assertEqual(u'1', coerce_to_stringWARNING: couldn't encode ./pyresttest/test_tests.py's diff for your terminal
RefactoringTool: Refactored ./pyresttest/test_resttest.py
RefactoringTool: Refactored ./pyresttest/test_parsing.py
WARNING: couldn't encode ./pyresttest/test_parsing.py's diff for your terminal
RefactoringTool: Refactored ./pyresttest/test_generators.py
(1))
- self.assertEqual(u'stuff', coerce_to_string(u'stuff'))
- self.assertEqual(u'stuff', coerce_to_string('stuff'))
--- ./pyresttest/test_resttest.py (original)
+++ ./pyresttest/test_resttest.py (refactored)
@@ -29,7 +29,7 @@
analyzed = analyze_benchmark_results(
benchmark_result, benchmark_config)
- self.assertEqual(2, len(analyzed.results.keys()))
+ self.assertEqual(2, len(list(analyzed.results.keys())))
# Check that number of measurements is sane
distinct_metrics = set([x[0] for x in analyzed.aggregates])
@@ -50,11 +50,11 @@
headers = packed[0]
# Check header generation
- for x in xrange(0, len(keys)):
+ for x in range(0, len(keys)):
self.assertEqual(keys[x], headers[x])
# Check data was correctly converted to 2D format, in order of input
- for x in xrange(1, len(array1) + 1):
+ for x in range(1, len(array1) + 1):
my_tuple = packed[x]
self.assertEqual(array1[x - 1], my_tuple[0])
self.assertEqual(array2[x - 1], my_tuple[1])
@@ -62,7 +62,7 @@
def test_parse_headers(self):
""" Basic header parsing tests """
- headerstring = u'HTTP/1.1 200 OK\r\nDate: Mon, 29 Dec 2014 02:42:33 GMT\r\nExpires: -1\r\nCache-Control: private, max-age=0\r\nContent-Type: text/html; charset=ISO-8859-1\r\nX-XSS-Protection: 1; mode=block\r\nX-Frame-Options: SAMEORIGIN\r\nAlternate-Protocol: 80:quic,p=0.02\r\nTransfer-Encoding: chunked\r\n\r\n'
+ headerstring = 'HTTP/1.1 200 OK\r\nDate: Mon, 29 Dec 2014 02:42:33 GMT\r\nExpires: -1\r\nCache-Control: private, max-age=0\r\nContent-Type: text/html; charset=ISO-8859-1\r\nX-XSS-Protection: 1; mode=block\r\nX-Frame-Options: SAMEORIGIN\r\nAlternate-Protocol: 80:quic,p=0.02\r\nTransfer-Encoding: chunked\r\n\r\n'
header_list = resttest.parse_headers(headerstring)
header_dict = dict(header_list)
@@ -85,7 +85,7 @@
def test_parse_headers_multiples(self):
""" Test headers where there are duplicate values set """
- headerstring = u'HTTP/1.1 200 OK\r\nDate: Mon, 29 Dec 2014 02:42:33 GMT\r\nAccept: text/html\r\nAccept: application/json\r\n\r\n'
+ headerstring = 'HTTP/1.1 200 OK\r\nDate: Mon, 29 Dec 2014 02:42:33 GMT\r\nAccept: text/html\r\nAccept: application/json\r\n\r\n'
headers = resttest.parse_headers(headerstring)
self.assertTrue(isinstance(headers, list))
--- ./pyresttest/test_parsing.py (original)
+++ ./pyresttest/test_parsing.py (refactored)
@@ -12,7 +12,7 @@
def test_encode_unicode_bytes(self):
val = 8
--- ./pyresttest/test_generators.py (original)
+++ ./pyresttest/test_generators.py (refactored)
@@ -18,7 +18,7 @@
""" Basic test for a generator, checks values and applies test function """
self.assertTrue(isinstance(generator, types.GeneratorType))
- for x in xrange(0, 100):
+ for x in range(0, 100):
val = next(generator)
self.assertTrue(val is not None)
if value_test_function:
@@ -30,7 +30,7 @@
val = next(generator_input)
# Check for not repeating easily
- for x in xrange(0, 5):
+ for x in range(0, 5):
val2 = next(generator_input)
self.assertTrue(val)
self.assertTrue(val != val2)
@@ -66,7 +66,7 @@
def test_random_ids(self):
""" Test random in ids generator """
gen = generators.generator_random_int32()
- print(next(gen))
+ print((next(gen)))
self.generator_repeat_test(gen)
def test_system_variables(self):
@@ -95,10 +95,10 @@
# Test multiple charsets and string lengths
for charset in charsets:
# Test different lengths for charset
- for my_length in xrange(1, 17):
+ for my_length in range(1, 17):
gen = generators.factory_generate_text(
legal_characters=charset, min_length=my_length, max_length=my_length)()
- for x RefactoringTool: Refactored ./pyresttest/test_contenthandling.py
WARNING: couldn't encode ./pyresttest/test_contenthandling.py's diff for your terminal
RefactoringTool: No changes to ./pyresttest/test_binding.py
RefactoringTool: Refactored ./pyresttest/test_benchmarks.py
RefactoringTool: Refactored ./pyresttest/six.py
in xrange(0, 10):
+ for x in range(0, 10):
val = next(gen)
self.assertEqual(my_length, len(val))
@@ -157,7 +157,7 @@
def test_character_sets(self):
""" Verify all charsets are valid """
sets = generators.CHARACTER_SETS
- for key, value in sets.items():
+ for key, value in list(sets.items()):
self.assertTrue(value)
def test_parse_text_generator(self):
@@ -179,11 +179,11 @@
config['character_set'] = charset
gen = generators.parse_generator(config)
myset = set(generators.CHARACTER_SETS[charset])
- for x in xrange(0, 50):
+ for x in range(0, 50):
val = next(gen)
self.assertTrue(set(val).issubset(set(myset)))
except Exception as e:
- print('Exception occurred with charset: ' + charset)
+ print(('Exception occurred with charset: ' + charset))
raise e
my_min = 1
--- ./pyresttest/test_contenthandling.py (original)
+++ ./pyresttest/test_contenthandling.py (refactored)
@@ -36,23 +36,23 @@
# ASCII body, unicode data
body = '$variable value'
--- ./pyresttest/test_benchmarks.py (original)
+++ ./pyresttest/test_benchmarks.py (refactored)
@@ -77,7 +77,7 @@
def test_aggregate_computations(self):
""" Test running all the aggregates, just to see if they error """
array = [-1, 5, 2.245, 7]
- for function in AGGREGATES.values():
+ for function in list(AGGREGATES.values()):
value = function(array)
self.assertTrue(isinstance(value, int) or isinstance(value, float))
@@ -102,7 +102,7 @@
# Check that we don't add raw metrics if we do not have to
benchmark_config.add_metric('connect_time', 'mean')
self.assertEqual(1, len(benchmark_config.raw_metrics))
- self.assertEqual(2, len(benchmark_config.aggregated_metrics.keys()))
+ self.assertEqual(2, len(list(benchmark_config.aggregated_metrics.keys())))
self.assertEqual(
1, len(benchmark_config.aggregated_metrics['connect_time']))
@@ -110,7 +110,7 @@
benchmark_config.add_metric('redirect_time')
self.assertEqual(3, len(benchmark_config.metrics))
self.assertEqual(2, len(benchmark_config.raw_metrics))
- self.assertEqual(2, len(benchmark_config.aggregated_metrics.keys()))
+ self.assertEqual(2, len(list(benchmark_config.aggregated_metrics.keys())))
if __name__ == '__main__':
--- ./pyresttest/six.py (original)
+++ ./pyresttest/six.py (refactored)
@@ -20,7 +20,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
-from __future__ import absolute_import
+
import functools
import itertools
@@ -46,10 +46,10 @@
MAXSIZE = sys.maxsize
else:
- string_types = basestring,
- integer_types = (int, long)
- class_types = (type, types.ClassType)
- text_type = unicode
+ string_types = str,
+ integer_types = (int, int)
+ class_types = (type, type)
+ text_type = str
binary_type = str
if sys.platform.startswith("java"):
@@ -521,7 +521,7 @@
advance_iterator = next
except NameError:
def advance_iterator(it):
- return it.next()
+ return it.__next__()
next = advance_iterator
@@ -544,7 +544,7 @@
Iterator = object
else:
def get_unbound_function(unbound):
- return unbound.im_func
+ return unbound.__func__
def create_bound_method(func, obj):
return types.MethodType(func, obj, obj.__class__)
@@ -554,7 +554,7 @@
class Iterator(object):
- def next(self):
+ def __next__(self):
return type(self).__next__(self)
callable = callable
@@ -621,7 +621,7 @@
def u(s):
return s
- unichr = chr
+ chr = chr
import struct
int2byte = struct.Struct(">B").pack
del struct
@@ -644,8 +644,8 @@
# Workaround for standalRefactoringTool: Refactored ./pyresttest/resttest.py
one backslash
def u(s):
- return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape")
- unichr = unichr
+ return str(s.replace(r'\\', r'\\\\'), "unicode_escape")
+ chr = chr
int2byte = chr
def byte2int(bs):
@@ -654,8 +654,8 @@
def indexbytes(buf, i):
return ord(buf[i])
iterbytes = functools.partial(itertools.imap, ord)
- import StringIO
- StringIO = BytesIO = StringIO.StringIO
+ import io
+ StringIO = BytesIO = io.StringIO
_assertCountEqual = "assertItemsEqual"
_assertRaisesRegex = "assertRaisesRegexp"
_assertRegex = "assertRegexpMatches"
@@ -727,11 +727,11 @@
return
def write(data):
- if not isinstance(data, basestring):
+ if not isinstance(data, str):
data = str(data)
# If the file has an encoding, encode unicode with it.
if (isinstance(fp, file) and
- isinstance(data, unicode) and
+ isinstance(data, str) and
fp.encoding is not None):
errors = getattr(fp, "errors", None)
if errors is None:
@@ -741,13 +741,13 @@
want_unicode = False
sep = kwargs.pop("sep", None)
if sep is not None:
- if isinstance(sep, unicode):
+ if isinstance(sep, str):
want_unicode = True
elif not isinstance(sep, str):
raise TypeError("sep must be None or a string")
end = kwargs.pop("end", None)
if end is not None:
- if isinstance(end, unicode):
+ if isinstance(end, str):
want_unicode = True
elif not isinstance(end, str):
raise TypeError("end must be None or a string")
@@ -755,12 +755,12 @@
raise TypeError("invalid keyword arguments to print()")
if not want_unicode:
for arg in args:
- if isinstance(arg, unicode):
+ if isinstance(arg, str):
want_unicode = True
break
if want_unicode:
- newline = unicode("\n")
- space = unicode(" ")
+ newline = str("\n")
+ space = str(" ")
else:
newline = "\n"
space = " "
--- ./pyresttest/resttest.py (original)
+++ ./pyresttest/resttest.py (refactored)
@@ -13,17 +13,17 @@
import time
try:
- from cStringIO import StringIO as MyIO
+ from io import StringIO as MyIO
except:
try:
- from StringIO import StringIO as MyIO
+ from io import StringIO as MyIO
except ImportError:
from io import BytesIO as MyIO
ESCAPE_DECODING = 'string-escape'
# Python 3 compatibility
if sys.version_info[0] > 2:
- from past.builtins import basestring
+ from past.builtins import str
from builtins import range as xrange
ESCAPE_DECODING = 'unicode_escape'
@@ -135,7 +135,7 @@
class BenchmarkResult:
""" Stores results from a benchmark for reporting use """
group = None
- name = u'unnamed'
+ name = 'unnamed'
results = dict() # Benchmark output, map the metric to the result array for that metric
aggregates = list() # List of aggregates, as tuples of (metricname, aggregate, result)
@@ -193,11 +193,11 @@
if sys.version_info < (2,7):
header_msg = message_from_string(headers.encode(HEADER_ENCODING))
return [(text_type(k.lower(), HEADER_ENCODING), text_type(v, HEADER_ENCODING))
- for k, v in header_msg.items()]
+ for k, v in list(header_msg.items())]
else:
header_msg = message_from_string(headers)
# Note: HTTP headers are *case-insensitive* per RFC 2616
- return [(k.lower(), v) for k, v in header_msg.items()]
+ return [(k.lower(), v) for k, v in list(header_msg.items())]
def parse_testsets(base_url, test_structure, test_files=set(), working_directory=None, vars=None):
@@ -230,7 +230,7 @@
if isinstance(node, dict): # Each config element is a miniature key-value dictionary
node = lowercase_keys(node)
for key in node:
- if key == u'import':
+ if key == 'import':
importfile = node[key] # import another file
if importfile not in test_files:
logger.debug("Importing test sets: " + importfile)
@@ -240,21 +240,21 @@
import_testsets = parse_testsets(
base_url, import_test_structure, test_files, vars=vars)
testsets.extend(import_testsets)
- elif key == u'url': # Simple test, just a GET to a URL
+ elif key == 'url': # Simple test, just a GET to a URL
mytest = Test()
val = node[key]
- assert isinstance(val, basestring)
+ assert isinstance(val, str)
mytest.url = base_url + val
tests_out.append(mytest)
- elif key == u'test': # Complex test with additional parameters
+ elif key == 'test': # Complex test with additional parameters
with cd(working_directory):
child = node[key]
mytest = Test.parse_test(base_url, child)
tests_out.append(mytest)
- elif key == u'benchmark':
+ elif key == 'benchmark':
benchmark = parse_benchmark(base_url, node[key])
benchmarks.append(benchmark)
- elif key == u'config' or key == u'configuration':
+ elif key == 'config' or key == 'configuration':
test_config = parse_configuration(
node[key], base_config=test_config)
testset = TestSet()
@@ -273,21 +273,21 @@
node = lowercase_keys(flatten_dictionaries(node)) # Make it usable
- for key, value in node.items():
- if key == u'timeout':
+ for key, value in list(node.items()):
+ if key == 'timeout':
test_config.timeout = int(value)
- elif key == u'print_bodies':
+ elif key == 'print_bodies':
test_config.print_bodies = safe_to_bool(value)
- elif key == u'retries':
+ elif key == 'retries':
test_config.retries = int(value)
- elif key == u'variable_binds':
+ elif key == 'variable_binds':
if not test_config.variable_binds:
test_config.variable_binds = dict()
test_config.variable_binds.update(flatten_dictionaries(value))
- elif key == u'generators':
+ elif key == 'generators':
flat = flatten_dictionaries(value)
gen_map = dict()
- for generator_name, generator_config in flat.items():
+ for generator_name, generator_config in list(flat.items()):
gen = parse_generator(generator_config)
gen_map[str(generator_name)] = gen
test_config.generators = gen_map
@@ -333,18 +333,18 @@
if test_config.interactive:
print("===================================")
- print("%s" % mytest.name)
+ print(("%s" % mytest.name))
print("-----------------------------------")
print("REQUEST:")
- print("%s %s" % (templated_test.method, templated_test.url))
+ print(("%s %s" % (templated_test.method, templated_test.url)))
print("HEADERS:")
- print("%s" % (templated_test.headers))
+ print(("%s" % (templated_test.headers)))
if mytest.body is not None:
- print("\n%s" % templated_test.body)
- raw_input("Press ENTER when ready (%d): " % (mytest.delay))
+ print(("\n%s" % templated_test.body))
+ input("Press ENTER when ready (%d): " % (mytest.delay))
if mytest.delay > 0:
- print("Delaying for %ds" % mytest.delay)
+ print(("Delaying for %ds" % mytest.delay))
time.sleep(mytest.delay)
try:
@@ -425,12 +425,12 @@
if test_config.print_bodies or not result.passed:
if test_config.interactive:
print("RESPONSE:")
- print(result.body.decode(ESCAPE_DECODING))
+ print((result.body.decode(ESCAPE_DECODING)))
if test_config.print_headers or not result.passed:
if test_config.interactive:
print("RESPONSE HEADERS:")
- print(result.response_headers)
+ print((result.response_headers))
# TODO add string escape on body output
logger.debug(result)
@@ -474,12 +474,12 @@
# Metric variable for curl, to avoid hash lookup for every metric name
metricvalues = [METRICS[name] for name in metricnames]
# Initialize arrays to store results for each metric
- results = [list() for x in xrange(0, len(metricnames))]
+ results = [list() for x in range(0, len(metricnames))]
curl = pycurl.Curl()
# Benchmark warm-up to allow for caching, JIT compiling, on client
logger.info('Warmup: ' + message + ' started')
- for x in xrange(0, warmup_runs):
+ for x in range(0, warmup_runs):
benchmark.update_context_before(my_context)
templated = benchmark.realize(my_context)
curl = templated.configure_curl(
@@ -492,7 +492,7 @@
logger.info('Benchmark: ' + message + ' starting')
- for x in xrange(0, benchmark_runs): # Run the actual benchmarks
+ for x in range(0, benchmark_runs): # Run the actual benchmarks
# Setup benchmark
benchmark.update_context_before(my_context)
templated = benchmark.realize(my_context)
@@ -510,13 +510,13 @@
continue # Skip metrics collection
# Get all metrics values for this run, and store to metric lists
- for i in xrange(0, len(metricnames)):
+ for i in range(0, len(metricnames)):
results[i].append(curl.getinfo(metricvalues[i]))
logger.info('Benchmark: ' + message + ' ending')
temp_results = dict()
- for i in xrange(0, len(metricnames)):
+ for i in range(0, len(metricnames)):
temp_results[metricnames[i]] = results[i]
output.results = temp_results
return analyze_benchmark_results(output, benchmark)
@@ -542,7 +542,7 @@
# Compute aggregates for each metric, and add tuples to aggregate results
aggregate_results = list()
- for metricname, aggregate_list in benchmark.aggregated_metrics.items():
+ for metricname, aggregate_list in list(benchmark.aggregated_metrics.items()):
numbers = raw_results[metricname]
for aggregate_name in aggregate_list:
if numbers: # Only compute aggregates if numbers exist
@@ -577,8 +577,8 @@
output.append(tuple(metrics)) # Add headers
# Create list of tuples mimicking 2D array from input
- for row in xrange(0, num_rows):
- new_row = tuple([arrays[col][row] for col in xrange(0, len(arrays))])
+ for row in range(0, num_rows):
+ new_row = tuple([arrays[col][row] for col in range(0, len(arrays))])
output.append(new_row)
return output
@@ -604,7 +604,7 @@
writer.writerows(benchmark_result.aggregates)
# Method to call when writing benchmark file
-OUTPUT_METHODS = {u'csv': write_benchmark_csv, u'json': write_benchmark_json}
+OUTPUT_METHODS = {'csv': write_benchmark_csv, 'json': write_benchmark_json}
def log_failure(failure, context=None, test_config=TestConfig()):
@@ -633,7 +633,7 @@
if myconfig.variable_binds:
context.bind_variables(myconfig.variable_binds)
if myconfig.generators:
- for key, value in myconfig.generators.items():
+ for key, value in list(myconfig.generators.items()):
context.add_generator(key, value)
# Make sure we actually have tests to execute
@@ -718,23 +718,23 @@
failures = group_failure_counts[group]
total_failures = total_failures + failures
- passfail = {True: u'SUCCEEDED: ', False: u'FAILED: '}
+ passfail = {True: 'SUCCEEDED: ', False: 'FAILED: '}
output_string = "Test Group {0} {1}: {2}/{3} Tests Passed!".format(group, passfail[failures == 0], str(test_count - failures), str(test_count))
if myconfig.skip_term_colors:
print(output_string)
else:
if failures > 0:
- print('\033[91m' + output_string + '\033[0m')
+ print(('\033[91m' + output_string + '\033[0m'))
else:
- print('\033[92m' + output_string + '\033[0m')
+ print(('\033[92m' + output_string + '\033[0m'))
return total_failures
def register_extensions(modules):
""" Import the modules and register their respective extensions """
- if isinstance(modules, basestring): # Catch supplying just a string arg
+ if isinstance(modules, str): # Catch supplying just a string arg
modules = [modules]
for ext in modules:
# Get the package prefix and final module name
@@ -755,10 +755,10 @@
}
has_registry = False
- for registry_name, register_function in extension_applies.items():
+ for registry_name, register_function in list(extension_applies.items()):
if hasattr(module, registry_name):
registry = getattr(module, registry_name)
- for key, val in registry.items():
+ for key, val in list(registry.items()):
register_function(key, val)
if registry:
has_registry = True
@@ -859,29 +859,29 @@
""" Runs everything needed to execute from the command line, so main method is callable without arg parsing """
parser = OptionParser(
usage="usage: %prog base_url test_filename.yaml [options] ")
- parser.add_option(u"--print-bodies", help="Print all response bodies",
+ parser.add_option("--print-bodies", help="Print all response bodies",
action="store", type="string", dest="print_bodies")
- parser.add_option(u"--print-headers", help="Print all response headers",
+ parser.add_option("--print-headers", help="Print all response headers",
action="store", type="string", dest="print_headers")
- parser.add_option(u"--log", help="Logging level",
+ parser.add_option("--log", help="Logging level",
action="store", type="string")
- parser.add_option(u"--interactive", help="Interactive mode",
+ parser.add_option("--interactive", help="Interactive mode",
action="store", type="string")
parser.add_option(
- u"--url", help="Base URL to run tests against", action="store", type="string")
- parser.add_option(u"--test", help="Test file to use",
+ "--url", help="Base URL to run tests against", action="store", type="string")
+ parser.add_option("--test", help="Test file to use",
action="store", type="string")
- parser.add_option(u'--import_extensions',
+ parser.add_option('--import_extensions',
help='Extensions to import, separated by semicolons', action="store", type="string")
parser.add_option(
- u'--vars', help='Variables to set, as a YAML dictionary', action="store", type="string")
- parser.add_option(u'--verbose', help='Put cURL into verbose mode for extra debugging power',
+ '--vars', help='Variables to set, as a YAML dictionary', action="store", type="string")
+ parser.add_option('--verbose', help='Put cURL into verbose mode for extra debugging power',
action='store_true', default=False, dest="verbose")
- parser.add_option(u'--ssl-insecure', help='Disable cURL host and peer cert verification',
+ parser.add_option('--ssl-insecure', help='Disable cURL host and peer cert verification',
action='store_true', default=False, dest="ssl_insecure")
- parser.add_option(u'--absolute-urls', help='Enable absolute URLs in tests instead of relative paths',
+ parser.add_option('--absolute-urls', help='Enable absolute URLs in tests instead of relative paths',
actiRefactoringTool: Refactored ./pyresttest/parsing.py
RefactoringTool: Refactored ./pyresttest/generators.py
on="store_true", dest="absolute_urls")
- parser.add_option(u'--skip_term_colors', help='Turn off the output term colors',
+ parser.add_option('--skip_term_colors', help='Turn off the output term colors',
action='store_true', default=False, dest="skip_term_colors")
(args, unparsed_args) = parser.parse_args(args_in)
@@ -890,8 +890,8 @@
# Handle url/test as named, or, failing that, positional arguments
if not args['url'] or not args['test']:
if len(unparsed_args) == 2:
- args[u'url'] = unparsed_args[0]
- args[u'test'] = unparsed_args[1]
+ args['url'] = unparsed_args[0]
+ args['test'] = unparsed_args[1]
elif len(unparsed_args) == 1 and args['url']:
args['test'] = unparsed_args[0]
elif len(unparsed_args) == 1 and args['test']:
--- ./pyresttest/parsing.py (original)
+++ ./pyresttest/parsing.py (refactored)
@@ -1,4 +1,4 @@
-from __future__ import absolute_import
+
import sys
import string
@@ -11,7 +11,7 @@
# Python 2/3 switches
PYTHON_MAJOR_VERSION = sys.version_info[0]
if PYTHON_MAJOR_VERSION > 2:
- from past.builtins import basestring
+ from past.builtins import str
"""
Parsing utilities, pulled out so they can be used in multiple modules
@@ -21,14 +21,14 @@
""" Shim function, converts Unicode to UTF-8 encoded bytes regardless of the source format
Intended for python 3 compatibility mode, and b/c PyCurl only takes raw bytes
"""
- if not isinstance(my_string, basestring):
+ if not isinstance(my_string, str):
my_string = repr(my_string)
# TODO refactor this to use six types
if PYTHON_MAJOR_VERSION == 2:
if isinstance(my_string, str):
return my_string
- elif isinstance(my_string, unicode):
+ elif isinstance(my_string, str):
return my_string.encode('utf-8')
else:
if isinstance(my_string, str):
@@ -47,7 +47,7 @@
return string.Template(templated_string).safe_substitute(variable_map)
my_template = string.Template(encode_unicode_bytes(templated_string))
- my_escaped_dict = dict(map(lambda x: (x[0], encode_unicode_bytes(x[1])), variable_map.items()))
+ my_escaped_dict = dict([(x[0], encode_unicode_bytes(x[1])) for x in list(variable_map.items())])
templated = my_template.safe_substitute(my_escaped_dict)
return text_type(templated, 'utf-8')
@@ -81,7 +81,7 @@
if not isinstance(input_dict, dict):
return input_dict
safe = dict()
- for key, value in input_dict.items():
+ for key, value in list(input_dict.items()):
safe[str(key).lower()] = value
return safe
@@ -92,9 +92,9 @@
If it's not a boolean or string that matches 'false' or 'true' when ignoring case, throws an exception """
if isinstance(input, bool):
return input
- elif isinstance(input, basestring) and input.lower() == u'false':
+ elif isinstance(input, str) and input.lower() == 'false':
return False
- elif isinstance(input, basestring) and input.lower() == u'true':
+ elif isinstance(input, str) and input.lower() == 'true':
return True
else:
raise TypeError(
@@ -128,7 +128,7 @@
def configure(self, configs, configurable, handler, *args, **kwargs):
""" Use the configs and configurable to parse"""
- for key, value in configs.items():
+ for key, value in list(configs.items()):
# Read handler arguments and use them to call the configurator
handler[key] = config_options
self.run_configure(value, configurable)
--- ./pyresttest/generators.py (original)
+++ ./pyresttest/generators.py (refactored)
@@ -10,7 +10,7 @@
# Python 3 compatibility
if sys.version_info[0] > 2:
from builtins import range as xrange
- from past.builtins import basestring
+ from past.builtins import str
""" Collection of generators to be used in templating for test data
@@ -83,7 +83,7 @@
while(True):
length = random.randint(locRefactoringTool: Refactored ./pyresttest/functionaltest.py
al_min_len, local_max_len)
array = [random.choice(legal_characters)
- for x in xrange(0, length)]
+ for x in range(0, length)]
yield ''.join(array)
return generate_text
@@ -159,7 +159,7 @@
def parse_random_text_generator(configuration):
""" Parses configuration options for a random text generator """
- character_set = configuration.get(u'character_set')
+ character_set = configuration.get('character_set')
characters = None
if character_set:
character_set = character_set.lower()
@@ -168,18 +168,18 @@
"Illegal character set name, is not defined: {0}".format(character_set))
characters = CHARACTER_SETS[character_set]
else: # Custom characters listing, not a character set
- characters = str(configuration.get(u'characters'))
+ characters = str(configuration.get('characters'))
min_length = 8
max_length = 8
- if configuration.get(u'min_length'):
- min_length = int(configuration.get(u'min_length'))
- if configuration.get(u'max_length'):
- max_length = int(configuration.get(u'max_length'))
-
- if configuration.get(u'length'):
- length = int(configuration.get(u'length'))
+ if configuration.get('min_length'):
+ min_length = int(configuration.get('min_length'))
+ if configuration.get('max_length'):
+ max_length = int(configuration.get('max_length'))
+
+ if configuration.get('length'):
+ length = int(configuration.get('length'))
min_length = length
max_length = length
@@ -206,7 +206,7 @@
typename is the new generator type name (must not already exist)
parse_function will parse a configuration object (dict)
"""
- if not isinstance(typename, basestring):
+ if not isinstance(typename, str):
raise TypeError(
'Generator type name {0} is invalid, must be a string'.format(typename))
if typename in GENERATOR_TYPES:
@@ -225,18 +225,18 @@
"""
configuration = lowercase_keys(flatten_dictionaries(configuration))
- gen_type = str(configuration.get(u'type')).lower()
+ gen_type = str(configuration.get('type')).lower()
if gen_type not in GENERATOR_TYPES:
raise ValueError(
'Generator type given {0} is not valid '.format(gen_type))
# Do the easy parsing, delegate more complex logic to parsing functions
- if gen_type == u'env_variable':
- return factory_env_variable(configuration[u'variable_name'])()
- elif gen_type == u'env_string':
- return factory_env_string(configuration[u'string'])()
- elif gen_type == u'number_sequence':
+ if gen_type == 'env_variable':
+ return factory_env_variable(configuration['variable_name'])()
+ elif gen_type == 'env_string':
+ return factory_env_string(configuration['string'])()
+ elif gen_type == 'number_sequence':
start = configuration.get('start')
increment = configuration.get('increment')
if not start:
@@ -248,9 +248,9 @@
else:
increment = int(increment)
return factory_generate_ids(start, increment)()
- elif gen_type == u'random_int':
+ elif gen_type == 'random_int':
return generator_random_int32()
- elif gen_type == u'random_text':
+ elif gen_type == 'random_text':
return parse_random_text_generator(configuration)
elif gen_type in GENERATOR_TYPES:
return GENERATOR_PARSING[gen_type](configuration)
--- ./pyresttest/functionaltest.py (original)
+++ ./pyresttest/functionaltest.py (refactored)
@@ -65,7 +65,7 @@
test_response = resttest.run_test(test)
self.assertTrue(test_response.passed)
self.assertEqual(200, test_response.response_code)
- print("Github API response headers: \n{0}".format(test_response.response_headers))
+ print(("Github API response headers: \n{0}".format(test_response.response_headers)))
self.assertTrue(test_response.response_headers)
def test_patch(self):
@@ -74,8 +74,8 @@
test.url = self.prefix + '/api/person/2/'
test.method = 'PATCH'
test.body = '{"login":"special"}'
- test.headers = {u'Content-Type': u'application/json',
- u'X-HTTP-Method-Override': u'PATCH'}
+ test.headers = {'Content-Type': 'application/json',
+ 'X-HTTP-Method-Override': 'PATCH'}
test.expected_status = [202] # Django returns 202
test_response = resttest.run_test(test)
self.assertTrue(test_response.passed)
@@ -118,10 +118,10 @@
test_response = resttest.run_test(test)
for failure in test_response.failures:
print("REAL FAILURE")
- print("Test Failure, failure type: {0}, Reason: {1}".format(
- failure.failure_type, failure.message))
+ print(("Test Failure, failure type: {0}, Reason: {1}".format(
+ failure.failure_type, failure.message)))
if failure.details:
- print("Validator/Error details: " + str(failure.details))
+ print(("Validator/Error details: " + str(failure.details)))
self.assertFalse(test_response.failures)
self.assertTrue(test_response.passed)
@@ -201,9 +201,9 @@
""" Test PUT where item already exists """
test = Test()
test.url = self.prefix + '/api/person/1/'
- test.method = u'PUT'
+ test.method = 'PUT'
test.body = '{"first_name": "Gaius","id": 1,"last_name": "Baltar","login": "gbaltar"}'
- test.headers = {u'Content-Type': u'application/json'}
+ test.headers = {'Content-Type': 'application/json'}
test_response = resttest.run_test(test)
self.assertEqual(True, test_response.passed)
self.assertEqual(200, test_response.response_code)
@@ -212,10 +212,10 @@
""" Test PUT where item DOES NOT already exist """
test = Test()
test.url = self.prefix + '/api/person/100/'
- test.method = u'PUT'
+ test.method = 'PUT'
test.expected_status = [200, 201, 204]
test.body = '{"first_name": "Willim","last_name": "Adama","login":"theadmiral", "id": 100}'
- test.headers = {u'Content-Type': u'application/json'}
+ test.headers = {'Content-Type': 'application/json'}
test_response = resttest.run_test(test)
self.assertEqual(True, test_response.passed)
self.assertEqual(201, test_response.response_code)
@@ -226,18 +226,18 @@
test_response2 = resttest.run_test(test2)
self.assertTrue(test_response2.passed)
self.assertTrue(
- u'"last_name": "Adama"' in test_response2.body.decode('UTF-8'))
+ '"last_name": "Adama"' in test_response2.body.decode('UTF-8'))
self.assertTrue(
- u'"login": "theadmiral"' in test_response2.body.decode('UTF-8'))
+ '"login": "theadmiral"' in test_response2.body.decode('UTF-8'))
def test_post(self):
""" Test POST to create an item """
test = Test()
test.url = self.prefix + '/api/person/'
- test.method = u'POST'
+ test.method = 'POST'
test.expected_status = [200, 201, 204]
test.body = '{"first_name": "Willim","last_name": "Adama","login": "theadmiral"}'
- test.headers = {u'Content-Type': u'application/json'}
+ test.headers = {'Content-Type': 'application/json'}
test_response = resttest.run_test(test)
self.assertEqual(True, test_response.passed)
self.assertEqual(201, test_response.response_code)
@@ -252,7 +252,7 @@
bod = test_response2.body
if isinstance(bod, binary_type):
bod = text_type(bod, 'utf-8')
- print(json.dumps(json.loads(bod)))
+ print((json.dumps(json.loads(bod))))
def test_delete(self):
@@ -260,13 +260,13 @@
test = Test()
test.url = self.prefix + '/api/person/1/'
test.expected_status = [200, 202, 204]
- test.method = u'DELETE'
+ test.method = 'DELETE'
test_response RefactoringTool: No changes to ./pyresttest/ext/validator_jsonschema.py
RefactoringTool: No changes to ./pyresttest/ext/extractor_jmespath.py
RefactoringTool: No changes to ./pyresttest/ext/__init__.py
RefactoringTool: Refactored ./pyresttest/contenthandling.py
= resttest.run_test(test)
self.assertEqual(True, test_response.passed)
self.assertEqual(204, test_response.response_code)
# Verify it's really gone
- test.method = u'GET'
+ test.method = 'GET'
test.expected_status = [404]
test_response = resttest.run_test(test)
self.assertEqual(True, test_response.passed)
@@ -277,7 +277,7 @@
test2.url = self.prefix + '/api/person/?first_name__contains=Gaius'
test_response2 = resttest.run_test(test2)
self.assertTrue(test_response2.passed)
- self.assertTrue(u'"objects": []' in test_response2.body.decode('UTF-8'))
+ self.assertTrue('"objects": []' in test_response2.body.decode('UTF-8'))
def test_full_context_use(self):
""" Read and execute test set with context use, from file """
@@ -312,8 +312,8 @@
benchmark_config.add_metric(
'total_time').add_metric('total_time', 'median')
benchmark_result = resttest.run_benchmark(benchmark_config)
- print("Benchmark - median request time: " +
- str(benchmark_result.aggregates[0]))
+ print(("Benchmark - median request time: " +
+ str(benchmark_result.aggregates[0])))
self.assertTrue(benchmark_config.benchmark_runs, len(
benchmark_result.results['total_time']))
@@ -388,10 +388,10 @@
test_response = resttest.run_test(test)
for failure in test_response.failures:
print("REAL FAILURE")
- print("Test Failure, failure type: {0}, Reason: {1}".format(
- failure.failure_type, failure.message))
+ print(("Test Failure, failure type: {0}, Reason: {1}".format(
+ failure.failure_type, failure.message)))
if failure.details:
- print("Validator/Error details: " + str(failure.details))
+ print(("Validator/Error details: " + str(failure.details)))
self.assertFalse(test_response.failures)
self.assertTrue(test_response.passed)
--- ./pyresttest/contenthandling.py (original)
+++ ./pyresttest/contenthandling.py (refactored)
@@ -7,7 +7,7 @@
# Python 2/3 switches
PYTHON_MAJOR_VERSION = sys.version_info[0]
if PYTHON_MAJOR_VERSION > 2:
- from past.builtins import basestring
+ from past.builtins import str
"""
@@ -72,7 +72,7 @@
def setup(self, input, is_file=False, is_template_path=False, is_template_content=False):
""" Self explanatory, input is inline content or file path. """
- if not isinstance(input, basestring):
+ if not isinstance(input, str):
raise TypeError("Input is not a string")
if is_file:
input = os.path.abspath(input)
@@ -103,7 +103,7 @@
while (node and not is_done): # Dive through the configuration tree
# Finally we've found the value!
- if isinstance(node, basestring):
+ if isinstance(node, str):
output.content = node
output.setup(node, is_file=is_file, is_template_path=is_template_path,
is_template_content=is_template_content)
@@ -116,9 +116,9 @@
# Dictionary or list of dictionaries
flat = lowercase_keys(flatten_dictionaries(node))
- for key, value in flat.items():
- if key == u'template':
- if isinstance(value, basestring):
+ for key, value in list(flat.items()):
+ if key == 'template':
+ if isinstance(value, str):
if is_file:
value = os.path.abspath(value)
output.content = value
@@ -134,7 +134,7 @@
break
elif key == 'file':
- if isinstance(value, basestring):
+ if isinstance(value, str):
output.content = os.path.abspath(value)
output.is_file = True
output.is_template_cRefactoringTool: Refactored ./pyresttest/binding.py
RefactoringTool: Refactored ./pyresttest/benchmarks.py
ontent = is_template_content
--- ./pyresttest/binding.py (original)
+++ ./pyresttest/binding.py (refactored)
@@ -26,7 +26,7 @@
#logging.debug('Context: altered variable named {0} to value {1}'.format(str_name, variable_value))
def bind_variables(self, variable_map):
- for key, value in variable_map.items():
+ for key, value in list(variable_map.items()):
self.bind_variable(key, value)
def add_generator(self, generator_name, generator):
--- ./pyresttest/benchmarks.py (original)
+++ ./pyresttest/benchmarks.py (refactored)
@@ -10,7 +10,7 @@
# Python 2/3 switches
if sys.version_info[0] > 2:
- from past.builtins import basestring
+ from past.builtins import str
# Python 3 compatibility shims
from . import six
@@ -88,7 +88,7 @@
'total': lambda x: sum(x)
}
-OUTPUT_FORMATS = [u'csv', u'json']
+OUTPUT_FORMATS = ['csv', 'json']
def median(array):
@@ -108,7 +108,7 @@
return 0
average = AGGREGATES['mean_arithmetic'](array)
- variance = map(lambda x: (x - average)**2, array)
+ variance = [(x - average)**2 for x in array]
try:
len(variance)
except TypeError: # Python 3.3 workaround until can use the statistics module from 3.4
@@ -129,7 +129,7 @@
"""
warmup_runs = 10 # Times call is executed to warm up
benchmark_runs = 100 # Times call is executed to generate benchmark results
- output_format = u'csv'
+ output_format = 'csv'
output_file = None
# Metrics to gather, both raw and aggregated
@@ -217,23 +217,23 @@
benchmark = Test.parse_test(base_url, node, benchmark)
# Complex parsing because of list/dictionary/singleton legal cases
- for key, value in node.items():
- if key == u'warmup_runs':
+ for key, value in list(node.items()):
+ if key == 'warmup_runs':
benchmark.warmup_runs = int(value)
- elif key == u'benchmark_runs':
+ elif key == 'benchmark_runs':
benchmark.benchmark_runs = int(value)
- elif key == u'output_format':
+ elif key == 'output_format':
format = value.lower()
if format in OUTPUT_FORMATS:
benchmark.output_format = format
else:
raise ValueError('Invalid benchmark output format: ' + format)
- elif key == u'output_file':
- if not isinstance(value, basestring):
+ elif key == 'output_file':
+ if not isinstance(value, str):
raise ValueError("Invalid output file format")
benchmark.output_file = value
- elif key == u'metrics':
- if isinstance(value, basestring):
+ elif key == 'metrics':
+ if isinstance(value, str):
# Single value
benchmark.add_metric(tests.coerce_to_string(value))
# FIXME refactor the parsing of metrics here, lots of duplicated logic
@@ -241,26 +241,26 @@
# List of single values or list of {metric:aggregate, ...}
for metric in value:
if isinstance(metric, dict):
- for metricname, aggregate in metric.items():
- if not isinstance(metricname, basestring):
+ for metricname, aggregate in list(metric.items()):
+ if not isinstance(metricname, str):
raise TypeError(
"Invalid metric input: non-string metric name")
- if not isinstance(aggregate, basestring):
+ if not isinstance(aggregate, str):
raise TypeError(
"Invalid aggregate input: non-string aggregate name")
# TODO unicode-safe this
benchmark.add_metric(tests.coerce_to_string(metricname),
tests.coerce_to_string(aggregate))
- elif isinstance(metric, basestriRefactoringTool: Refactored ./pyresttest/benchmark_framework_mini.py
RefactoringTool: Refactored ./profile_benchmark.py
RefactoringTool: No changes to ./docker/ubuntu14-py27/verify_image.py
RefactoringTool: No changes to ./docker/python3/verify_image.py
RefactoringTool: No changes to ./docker/centos6-py26/verify_image.py
RefactoringTool: Files that were modified:
RefactoringTool: ./util/profile_basic_test.py
RefactoringTool: ./setup.py
RefactoringTool: ./sample_extension.py
RefactoringTool: ./pyresttest/validators.py
RefactoringTool: ./pyresttest/tests.py
RefactoringTool: ./pyresttest/testapp/testapp/wsgi.py
RefactoringTool: ./pyresttest/testapp/testapp/urls.py
RefactoringTool: ./pyresttest/testapp/testapp/settings.py
RefactoringTool: ./pyresttest/testapp/testapp/models.py
RefactoringTool: ./pyresttest/testapp/testapp/api.py
RefactoringTool: ./pyresttest/testapp/manage.py
RefactoringTool: ./pyresttest/test_validators.py
RefactoringTool: ./pyresttest/test_tests.py
RefactoringTool: ./pyresttest/test_resttest.py
RefactoringTool: ./pyresttest/test_parsing.py
RefactoringTool: ./pyresttest/test_generators.py
RefactoringTool: ./pyresttest/test_contenthandling.py
RefactoringTool: ./pyresttest/test_binding.py
RefactoringTool: ./pyresttest/test_benchmarks.py
RefactoringTool: ./pyresttest/six.py
RefactoringTool: ./pyresttest/resttest.py
RefactoringTool: ./pyresttest/parsing.py
RefactoringTool: ./pyresttest/generators.py
RefactoringTool: ./pyresttest/functionaltest.py
RefactoringTool: ./pyresttest/ext/validator_jsonschema.py
RefactoringTool: ./pyresttest/ext/extractor_jmespath.py
RefactoringTool: ./pyresttest/ext/__init__.py
RefactoringTool: ./pyresttest/contenthandling.py
RefactoringTool: ./pyresttest/binding.py
RefactoringTool: ./pyresttest/benchmarks.py
RefactoringTool: ./pyresttest/benchmark_framework_mini.py
RefactoringTool: ./profile_benchmark.py
RefactoringTool: ./docker/ubuntu14-py27/verify_image.py
RefactoringTool: ./docker/python3/verify_image.py
RefactoringTool: ./docker/centos6-py26/verify_image.py
RefactoringTool: Warnings/messages while refactoring:
RefactoringTool: ### In file ./pyresttest/six.py ###
RefactoringTool: Line 525: Calls to builtin next() possibly shadowed by global binding
ng):
+ elif isinstance(metric, str):
benchmark.add_metric(tests.coerce_to_string(metric))
elif isinstance(value, dict):
# Dictionary of metric-aggregate pairs
- for metricname, aggregate in value.items():
- if not isinstance(metricname, basestring):
+ for metricname, aggregate in list(value.items()):
+ if not isinstance(metricname, str):
raise TypeError(
"Invalid metric input: non-string metric name")
- if not isinstance(aggregate, basestring):
+ if not isinstance(aggregate, str):
raise TypeError(
"Invalid aggregate input: non-string aggregate name")
benchmark.add_metric(tests.coerce_to_string(metricname),
--- ./pyresttest/benchmark_framework_mini.py (original)
+++ ./pyresttest/benchmark_framework_mini.py (refactored)
@@ -5,21 +5,21 @@
# Test basic pycurl create/delete, time is ~2.5 microseconds
time = timeit.timeit("mycurl=Curl(); mycurl.close()",
setup="from pycurl import Curl", number=1000000)
-print('Curl create/destroy runtime for 1M runs (s)' + str(time))
+print(('Curl create/destroy runtime for 1M runs (s)' + str(time)))
# Test test interpret/build & configuration speeds for resttest
# Runtime is 36.29 sec, so 36 microseconds per run, or 0.036 ms
time = timeit.timeit("mytest=Test.parse_test('', input); mycurl=mytest.configure_curl(); mycurl.close()",
setup='from resttest import Test; input = {"url": "/ping", "method": "DELETE", "NAME":"foo", "group":"bar", "body":"input","headers":{"Accept":"Application/json"}}',
number=1000000)
-print('Test interpret/configure test config for 1M runs (s)' + str(time))
+print(('Test interpret/configure test config for 1M runs (s)' + str(time)))
# Just configuring the curl object from a pre-built test
# 10s/1M runs, or 0.01 ms per
time = timeit.timeit("mycurl=mytest.configure_curl(); mycurl.close()",
setup='from resttest import Test; input = {"url": "/ping", "method": "DELETE", "NAME":"foo", "group":"bar", "body":"input","headers":{"Accept":"Application/json"}}; mytest=Test.parse_test("", input);',
number=1000000)
-print('Test configure curl for 1M runs (s)' + str(time))
+print(('Test configure curl for 1M runs (s)' + str(time)))
# Time for full curl execution on Django testing rest app
# Time: 41.4s for 10k runs, or about 4.14 ms per
--- ./profile_benchmark.py (original)
+++ ./profile_benchmark.py (refactored)
@@ -18,7 +18,7 @@
# Basic get test
test.url = 'http://localhost:8000/api/person/'
test.name = 'Basic GET'
-print 'Basic GET test'
+print('Basic GET test')
#cProfile.run('resttest.run_benchmark(test)', sort='cumtime')
@@ -33,5 +33,5 @@
context = Context()
context.add_generator('gen', factory_generate_ids(starting_id=10)())
test.generator_binds = {'id': 'gen'}
-print 'Running templated PUT test'
+print('Running templated PUT test')
cProfile.run('resttest.run_benchmark(test, context=context)', sort='cumtime')
++ find ./ -name '*.py'
+ sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python3|' ./util/resttest.py ./util/profile_basic_test.py ./test_schema_validation.py ./setup.py ./sample_extension.py ./pyresttest/validators.py ./pyresttest/tests.py ./pyresttest/testapp/testapp/wsgi.py ./pyresttest/testapp/testapp/urls.py ./pyresttest/testapp/testapp/settings.py ./pyresttest/testapp/testapp/models.py ./pyresttest/testapp/testapp/api.py ./pyresttest/testapp/testapp/admin.py ./pyresttest/testapp/testapp/__init__.py ./pyresttest/testapp/manage.py ./pyresttest/test_validators.py ./pyresttest/test_tests.py ./pyresttest/test_resttest.py ./pyresttest/test_parsing.py ./pyresttest/test_generators.py ./pyresttest/test_contenthandling.py ./pyresttest/test_binding.py ./pyresttest/test_benchmarks.py ./pyresttest/six.py ./pyresttest/resttest.py ./pyresttest/parsing.py ./pyresttest/generators.py ./pyresttest/functionaltest.py ./pyresttest/ext/validator_jsonschema.py ./pyresttest/ext/extractor_jmespath.py ./pyresttest/ext/__init__.py ./pyresttest/contenthandling.py ./pyresttest/binding.py ./pyresttest/benchmarks.py ./pyresttest/benchmark_framework_mini.py ./pyresttest/__init__.py ./profile_benchmark.py ./docker/ubuntu14-py27/verify_image.py ./docker/python3/verify_image.py ./docker/centos6-py26/verify_image.py
+ exit 0
Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.1055
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python3-module-pyresttest-1.7.1
+ 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
/usr/lib/python3/site-packages/setuptools/dist.py:692: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
warnings.warn(
running build
running build_py
creating build
creating build/lib
creating build/lib/pyresttest
copying pyresttest/__init__.py -> build/lib/pyresttest
copying pyresttest/resttest.py -> build/lib/pyresttest
copying pyresttest/generators.py -> build/lib/pyresttest
copying pyresttest/binding.py -> build/lib/pyresttest
copying pyresttest/parsing.py -> build/lib/pyresttest
copying pyresttest/validators.py -> build/lib/pyresttest
copying pyresttest/contenthandling.py -> build/lib/pyresttest
copying pyresttest/benchmarks.py -> build/lib/pyresttest
copying pyresttest/tests.py -> build/lib/pyresttest
copying pyresttest/six.py -> build/lib/pyresttest
creating build/lib/pyresttest/ext
copying pyresttest/ext/__init__.py -> build/lib/pyresttest/ext
copying pyresttest/ext/validator_jsonschema.py -> build/lib/pyresttest/ext
copying pyresttest/ext/extractor_jmespath.py -> build/lib/pyresttest/ext
running build_scripts
creating build/scripts-3.9
copying and adjusting util/pyresttest -> build/scripts-3.9
copying and adjusting util/resttest.py -> build/scripts-3.9
changing mode of build/scripts-3.9/pyresttest from 644 to 755
changing mode of build/scripts-3.9/resttest.py from 644 to 755
+ exit 0
Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.38520
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-pyresttest-buildroot
+ :
+ /bin/rm -rf -- /usr/src/tmp/python3-module-pyresttest-buildroot
+ PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games
+ cd python3-module-pyresttest-1.7.1
+ 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/python3-module-pyresttest-buildroot --force
/usr/lib/python3/site-packages/setuptools/dist.py:692: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
warnings.warn(
running install
running install_lib
creating /usr/src/tmp/python3-module-pyresttest-buildroot
creating /usr/src/tmp/python3-module-pyresttest-buildroot/usr
creating /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib
creating /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3
creating /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages
creating /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
creating /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext
copying build/lib/pyresttest/ext/extractor_jmespath.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext
copying build/lib/pyresttest/ext/validator_jsonschema.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext
copying build/lib/pyresttest/ext/__init__.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext
copying build/lib/pyresttest/six.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/tests.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/benchmarks.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/contenthandling.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/validators.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/parsing.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/binding.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/generators.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/resttest.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
copying build/lib/pyresttest/__init__.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py to extractor_jmespath.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py to validator_jsonschema.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__init__.py to __init__.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py to six.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py to tests.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py to benchmarks.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py to contenthandling.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py to validators.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py to parsing.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/binding.py to binding.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py to generators.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py to resttest.cpython-39.pyc
byte-compiling /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__init__.py to __init__.cpython-39.pyc
running install_egg_info
running egg_info
creating pyresttest.egg-info
writing pyresttest.egg-info/PKG-INFO
writing dependency_links to pyresttest.egg-info/dependency_links.txt
writing requirements to pyresttest.egg-info/requires.txt
writing top-level names to pyresttest.egg-info/top_level.txt
writing manifest file 'pyresttest.egg-info/SOURCES.txt'
reading manifest file 'pyresttest.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching 'test_*.py' found anywhere in distribution
adding license file 'LICENSE.txt'
adding license file 'LICENSE'
writing manifest file 'pyresttest.egg-info/SOURCES.txt'
Copying pyresttest.egg-info to /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.9.egg-info
running install_scripts
creating /usr/src/tmp/python3-module-pyresttest-buildroot/usr/bin
copying build/scripts-3.9/resttest.py -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/bin
copying build/scripts-3.9/pyresttest -> /usr/src/tmp/python3-module-pyresttest-buildroot/usr/bin
changing mode of /usr/src/tmp/python3-module-pyresttest-buildroot/usr/bin/resttest.py to 755
changing mode of /usr/src/tmp/python3-module-pyresttest-buildroot/usr/bin/pyresttest to 755
+ /usr/lib/rpm/brp-alt
Cleaning files in /usr/src/tmp/python3-module-pyresttest-buildroot (auto)
Verifying and fixing files in /usr/src/tmp/python3-module-pyresttest-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig)
Checking contents of files in /usr/src/tmp/python3-module-pyresttest-buildroot/ (default)
Compressing files in /usr/src/tmp/python3-module-pyresttest-buildroot (auto)
Adjusting library links in /usr/src/tmp/python3-module-pyresttest-buildroot
./usr/lib: (from :0)
Verifying ELF objects in /usr/src/tmp/python3-module-pyresttest-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Bytecompiling python3 modules in /usr/src/tmp/python3-module-pyresttest-buildroot using /usr/bin/python3
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/resttest.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/tests.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-39.pyc
unlink /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-39.pyc
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__init__.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__init__.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/binding.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py
Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-pyresttest-buildroot using /usr/bin/python3 -O
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__init__.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__init__.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/binding.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py
Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-pyresttest-buildroot using /usr/bin/python3 -OO
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__init__.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/__init__.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/binding.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py
compile /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py
Hardlinking identical .pyc and .opt-?.pyc files
'./usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.opt-1.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.opt-2.pyc' => './usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.opt-1.pyc'
'./usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-39.pyc'
'./usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-39.opt-1.pyc' => './usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-39.pyc'
Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.58476
Check is turned off by --disable check
Processing files: python3-module-pyresttest-1.7.1-alt1
Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.55789
+ umask 022
+ /bin/mkdir -p /usr/src/RPM/BUILD
+ cd /usr/src/RPM/BUILD
+ cd python3-module-pyresttest-1.7.1
+ DOCDIR=/usr/src/tmp/python3-module-pyresttest-buildroot/usr/share/doc/python3-module-pyresttest-1.7.1
+ export DOCDIR
+ rm -rf /usr/src/tmp/python3-module-pyresttest-buildroot/usr/share/doc/python3-module-pyresttest-1.7.1
+ /bin/mkdir -p /usr/src/tmp/python3-module-pyresttest-buildroot/usr/share/doc/python3-module-pyresttest-1.7.1
+ cp -prL CHANGELOG.md README.md advanced_guide.md building.md extensions.md lessons.md quickstart.md /usr/src/tmp/python3-module-pyresttest-buildroot/usr/share/doc/python3-module-pyresttest-1.7.1
+ chmod -R go-w /usr/src/tmp/python3-module-pyresttest-buildroot/usr/share/doc/python3-module-pyresttest-1.7.1
+ chmod -R a+rX /usr/src/tmp/python3-module-pyresttest-buildroot/usr/share/doc/python3-module-pyresttest-1.7.1
+ exit 0
Finding Provides (using /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.kJIEoS
find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell)
Finding Requires (using /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.u6YNLS
find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services)
/usr/lib/rpm/python3.req.py:6: DeprecationWarning: The parser module is deprecated and will be removed in future versions of Python
import parser, symbol, token, types
/usr/lib/rpm/python3.req.py:6: DeprecationWarning: The symbol module is deprecated and will be removed in future versions of Python
import parser, symbol, token, types
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/bin/pyresttest: skipping sys
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/bin/resttest.py: skipping sys
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=6 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=7 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=8 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=9 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=13 IGNORE (for REQ=slight and deep=8) module=past.builtins
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=16 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=17 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/benchmarks.py: line=18 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py: line=4 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py: line=5 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/contenthandling.py: line=10 IGNORE (for REQ=slight and deep=8) module=past.builtins
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__init__.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/__init__.py: line=5 IGNORE (for REQ=slight and deep=8) module=pyresttest
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=11 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=12 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=13 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=14 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=16 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=17 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=18 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py: line=19 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=11 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=12 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=13 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=14 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=16 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=17 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=18 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/ext/validator_jsonschema.py: line=19 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py: line=7 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py: line=8 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py: line=12 IGNORE (for REQ=slight and deep=8) module=builtins
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/generators.py: line=13 IGNORE (for REQ=slight and deep=8) module=past.builtins
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py: line=7 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py: line=8 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py: line=9 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/parsing.py: line=14 IGNORE (for REQ=slight and deep=8) module=past.builtins
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: skipping sys
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: skipping time
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=16 IGNORE (for REQ=slight and deep=8) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=19 IGNORE (for REQ=slight and deep=12) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=21 IGNORE (for REQ=slight and deep=12) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=26 IGNORE (for REQ=slight and deep=8) module=past.builtins
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=27 IGNORE (for REQ=slight and deep=8) module=builtins
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=34 IGNORE (for REQ=slight and deep=8) module=pyresttest.six
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=35 IGNORE (for REQ=slight and deep=8) module=pyresttest.binding
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=36 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=37 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=38 IGNORE (for REQ=slight and deep=8) module=pyresttest
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=39 IGNORE (for REQ=slight and deep=8) module=pyresttest.generators
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=40 IGNORE (for REQ=slight and deep=8) module=pyresttest.parsing
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=42 IGNORE (for REQ=slight and deep=8) module=pyresttest.validators
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=43 IGNORE (for REQ=slight and deep=8) module=pyresttest.tests
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=44 IGNORE (for REQ=slight and deep=8) module=pyresttest.benchmarks
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=46 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=47 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=50 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=51 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=52 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=53 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=54 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=55 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=56 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=57 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=58 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=59 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=60 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=61 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [320, [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [321, [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [322, [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [323, [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 UNABLE to determine the imported name at parse-time: ext
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=745 a form of __import__ was read which gave no deps: [324, [325, [1, '__import__', 745]], [327, [7, '(', 745], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'ext', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'globals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'locals', 745]], [327, [7, '(', 745], [8, ')', 745]]]]]]]]]]]]]]]]], [12, ',', 745], [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'package', 745]]]]]]]]]]]]]]]]]], [8, ')', 745]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=773 IGNORE (for REQ=slight and deep=8) module=jsonschema
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py: line=780 IGNORE (for REQ=slight and deep=8) module=jmespath
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: skipping itertools
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [269, [270, [271, [272, [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]]]]]], [4, '', 82]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [270, [271, [272, [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]]]]]], [4, '', 82]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [271, [272, [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [272, [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [274, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [318, [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [319, [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [320, [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [321, [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [322, [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [323, [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 UNABLE to determine the imported name at parse-time: name
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=82 a form of __import__ was read which gave no deps: [324, [325, [1, '__import__', 82]], [327, [7, '(', 82], [335, [336, [306, [310, [311, [312, [313, [316, [317, [318, [319, [320, [321, [322, [323, [324, [325, [1, 'name', 82]]]]]]]]]]]]]]]]]], [8, ')', 82]]]
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=625 IGNORE (for REQ=slight and deep=8) module=struct
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=631 IGNORE (for REQ=slight and deep=8) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/six.py: line=657 IGNORE (for REQ=slight and deep=8) module=io
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=9 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=10 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=11 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=12 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=13 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=17 IGNORE (for REQ=slight and deep=8) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=20 IGNORE (for REQ=slight and deep=12) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=22 IGNORE (for REQ=slight and deep=12) module=io
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=27 IGNORE (for REQ=slight and deep=8) module=urllib.parse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=28 IGNORE (for REQ=slight and deep=8) module=past.builtins
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=30 IGNORE (for REQ=slight and deep=8) module=urllib.parse
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=33 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=34 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=35 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=36 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/tests.py: line=37 possible relative import from ., UNIMPLEMENTED
python3.req: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py: skipping sys
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py: line=11 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py: line=14 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py: line=15 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py: line=16 possible relative import from ., UNIMPLEMENTED
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py: line=21 IGNORE (for REQ=slight and deep=8) module=past.builtins
/usr/lib/rpm/python3.req.py: /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/validators.py: line=22 IGNORE (for REQ=slight and deep=8) module=past.builtins
shebang.req.files: executable script /usr/src/tmp/python3-module-pyresttest-buildroot/usr/lib/python3/site-packages/pyresttest/resttest.py is not executable
Provides: python3(pyresttest), python3(pyresttest.benchmarks), python3(pyresttest.binding), python3(pyresttest.contenthandling), python3(pyresttest.ext), python3(pyresttest.ext.extractor_jmespath), python3(pyresttest.ext.validator_jsonschema), python3(pyresttest.generators), python3(pyresttest.parsing), python3(pyresttest.resttest), python3(pyresttest.six), python3(pyresttest.tests), python3(pyresttest.validators)
Requires: /usr/bin/python3, /usr/lib/python3/site-packages, python3(ast) < 0, python3(copy) < 0, python3(csv) < 0, python3(email) < 0, python3(functools) < 0, python3(inspect) < 0, python3(jmespath) < 0, python3(json) < 0, python3(jsonschema) < 0, python3(logging) < 0, python3(math) < 0, python3(operator) < 0, python3(optparse) < 0, python3(os) < 0, python3(pycurl) < 0, python3(random) < 0, python3(re) < 0, python3(string) < 0, python3(traceback) < 0, python3(types) < 0, python3(yaml) < 0
Wrote: /usr/src/RPM/RPMS/noarch/python3-module-pyresttest-1.7.1-alt1.noarch.rpm (w2.lzdio)
12.81user 0.56system 0:17.99elapsed 74%CPU (0avgtext+0avgdata 30636maxresident)k
0inputs+0outputs (0major+179985minor)pagefaults 0swaps
/.out/python3-module-pyresttest-1.7.1-alt1.noarch.rpm: license not found in '/usr/share/license' directory: ASLv2.0
22.43user 4.28system 0:38.35elapsed 69%CPU (0avgtext+0avgdata 108072maxresident)k
19152inputs+0outputs (0major+673448minor)pagefaults 0swaps
--- python3-module-pyresttest-1.7.1-alt1.noarch.rpm.repo 2019-11-07 14:46:42.000000000 +0000
+++ python3-module-pyresttest-1.7.1-alt1.noarch.rpm.hasher 2021-06-08 11:18:37.440956422 +0000
@@ -3,40 +3,40 @@
/usr/lib/python3/site-packages/pyresttest 40755
-/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.7.egg-info 40755
-/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.7.egg-info/PKG-INFO 100644
-/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.7.egg-info/SOURCES.txt 100644
-/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.7.egg-info/dependency_links.txt 100644
-/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.7.egg-info/requires.txt 100644
-/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.7.egg-info/top_level.txt 100644
+/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.9.egg-info 40755
+/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.9.egg-info/PKG-INFO 100644
+/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.9.egg-info/SOURCES.txt 100644
+/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.9.egg-info/dependency_links.txt 100644
+/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.9.egg-info/requires.txt 100644
+/usr/lib/python3/site-packages/pyresttest-1.7.1-py3.9.egg-info/top_level.txt 100644
/usr/lib/python3/site-packages/pyresttest/__init__.py 100644
/usr/lib/python3/site-packages/pyresttest/__pycache__ 40755
-/usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/resttest.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/resttest.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/resttest.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/tests.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/tests.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/tests.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-37.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/__init__.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/benchmarks.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/binding.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/contenthandling.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/generators.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/parsing.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/resttest.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/resttest.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/resttest.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/six.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/tests.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/tests.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/tests.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/__pycache__/validators.cpython-39.pyc 100644
/usr/lib/python3/site-packages/pyresttest/benchmarks.py 100644
@@ -47,11 +47,11 @@
/usr/lib/python3/site-packages/pyresttest/ext/__pycache__ 40755
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-37.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-37.opt-1.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-37.opt-2.pyc 100644
-/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-37.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/__init__.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/extractor_jmespath.cpython-39.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-39.opt-1.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-39.opt-2.pyc 100644
+/usr/lib/python3/site-packages/pyresttest/ext/__pycache__/validator_jsonschema.cpython-39.pyc 100644
/usr/lib/python3/site-packages/pyresttest/ext/extractor_jmespath.py 100644