Source: python-oauth2client Version: 4.1.3-5 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20231212 ftbfs-trixie
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[1]: Entering directory '/<<PKGBUILDDIR>>' > make[1]: pyversions: No such file or directory > py3versions: no X-Python3-Version in control file, using supported versions > pkgos-dh_auto_install --no-py2 --in-tmp > + PKGOS_IN_TMP=no > + echo WARNING: --no-py2 is deprecated and always on. > WARNING: --no-py2 is deprecated and always on. > + shift > + PKGOS_IN_TMP=yes > + shift > + dpkg-parsechangelog -SSource > + SRC_PKG_NAME=python-oauth2client > + echo python-oauth2client > + sed s/python-// > + PY_MODULE_NAME=oauth2client > + py3versions -vr > + PYTHON3S=3.12 3.11 > + [ yes = yes ] > + TARGET_DIR=tmp > + pwd > + python3.12 setup.py install --install-layout=deb --root > /<<PKGBUILDDIR>>/debian/tmp > running install > /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > ******************************************************************************** > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > ******************************************************************************** > > !! > self.initialize_options() > running build > running build_py > creating build > creating build/lib > creating build/lib/oauth2client > copying oauth2client/clientsecrets.py -> build/lib/oauth2client > copying oauth2client/_helpers.py -> build/lib/oauth2client > copying oauth2client/__init__.py -> build/lib/oauth2client > copying oauth2client/tools.py -> build/lib/oauth2client > copying oauth2client/transport.py -> build/lib/oauth2client > copying oauth2client/_pure_python_crypt.py -> build/lib/oauth2client > copying oauth2client/_openssl_crypt.py -> build/lib/oauth2client > copying oauth2client/_pycrypto_crypt.py -> build/lib/oauth2client > copying oauth2client/service_account.py -> build/lib/oauth2client > copying oauth2client/client.py -> build/lib/oauth2client > copying oauth2client/file.py -> build/lib/oauth2client > copying oauth2client/crypt.py -> build/lib/oauth2client > copying oauth2client/_pkce.py -> build/lib/oauth2client > creating build/lib/oauth2client/contrib > copying oauth2client/contrib/_appengine_ndb.py -> > build/lib/oauth2client/contrib > copying oauth2client/contrib/__init__.py -> build/lib/oauth2client/contrib > copying oauth2client/contrib/dictionary_storage.py -> > build/lib/oauth2client/contrib > copying oauth2client/contrib/keyring_storage.py -> > build/lib/oauth2client/contrib > copying oauth2client/contrib/xsrfutil.py -> build/lib/oauth2client/contrib > copying oauth2client/contrib/flask_util.py -> build/lib/oauth2client/contrib > copying oauth2client/contrib/gce.py -> build/lib/oauth2client/contrib > copying oauth2client/contrib/appengine.py -> build/lib/oauth2client/contrib > copying oauth2client/contrib/_metadata.py -> build/lib/oauth2client/contrib > copying oauth2client/contrib/sqlalchemy.py -> build/lib/oauth2client/contrib > copying oauth2client/contrib/multiprocess_file_storage.py -> > build/lib/oauth2client/contrib > copying oauth2client/contrib/devshell.py -> build/lib/oauth2client/contrib > creating build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/__init__.py -> > build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/apps.py -> > build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/models.py -> > build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/site.py -> > build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/decorators.py -> > build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/storage.py -> > build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/signals.py -> > build/lib/oauth2client/contrib/django_util > copying oauth2client/contrib/django_util/views.py -> > build/lib/oauth2client/contrib/django_util > running install_lib > creating /<<PKGBUILDDIR>>/debian/tmp > creating /<<PKGBUILDDIR>>/debian/tmp/usr > creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib > creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3 > creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages > creating > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/clientsecrets.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/_helpers.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/__init__.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/tools.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/transport.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/_pure_python_crypt.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/_openssl_crypt.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/_pycrypto_crypt.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/service_account.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > creating > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/_appengine_ndb.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/__init__.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/dictionary_storage.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > creating > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/__init__.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/apps.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/models.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/site.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/decorators.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/storage.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/signals.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/django_util/views.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util > copying build/lib/oauth2client/contrib/keyring_storage.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/xsrfutil.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/flask_util.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/gce.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/appengine.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/_metadata.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/sqlalchemy.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/multiprocess_file_storage.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/contrib/devshell.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib > copying build/lib/oauth2client/client.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/file.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/crypt.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > copying build/lib/oauth2client/_pkce.py -> > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/clientsecrets.py > to clientsecrets.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_helpers.py > to _helpers.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/__init__.py > to __init__.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/tools.py > to tools.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/transport.py > to transport.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pure_python_crypt.py > to _pure_python_crypt.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_openssl_crypt.py > to _openssl_crypt.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pycrypto_crypt.py > to _pycrypto_crypt.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/service_account.py > to service_account.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_appengine_ndb.py > to _appengine_ndb.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/__init__.py > to __init__.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/dictionary_storage.py > to dictionary_storage.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/__init__.py > to __init__.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/apps.py > to apps.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/models.py > to models.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/site.py > to site.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/decorators.py > to decorators.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/storage.py > to storage.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/signals.py > to signals.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/views.py > to views.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/keyring_storage.py > to keyring_storage.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/xsrfutil.py > to xsrfutil.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/flask_util.py > to flask_util.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/gce.py > to gce.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/appengine.py > to appengine.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_metadata.py > to _metadata.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/sqlalchemy.py > to sqlalchemy.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/multiprocess_file_storage.py > to multiprocess_file_storage.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/devshell.py > to devshell.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/client.py > to client.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/file.py > to file.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/crypt.py > to crypt.cpython-312.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pkce.py > to _pkce.cpython-312.pyc > running install_egg_info > running egg_info > creating oauth2client.egg-info > writing oauth2client.egg-info/PKG-INFO > writing dependency_links to oauth2client.egg-info/dependency_links.txt > writing requirements to oauth2client.egg-info/requires.txt > writing top-level names to oauth2client.egg-info/top_level.txt > writing manifest file 'oauth2client.egg-info/SOURCES.txt' > reading manifest file 'oauth2client.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > adding license file 'LICENSE' > writing manifest file 'oauth2client.egg-info/SOURCES.txt' > Copying oauth2client.egg-info to > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client-4.1.3.egg-info > Skipping SOURCES.txt > running install_scripts > + pwd > + python3.11 setup.py install --install-layout=deb --root > /<<PKGBUILDDIR>>/debian/tmp > running install > /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: > SetuptoolsDeprecationWarning: setup.py install is deprecated. > !! > > > ******************************************************************************** > Please avoid running ``setup.py`` directly. > Instead, use pypa/build, pypa/installer or other > standards-based tools. > > See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html > for details. > > ******************************************************************************** > > !! > self.initialize_options() > running build > running build_py > running install_lib > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/clientsecrets.py > to clientsecrets.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_helpers.py > to _helpers.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/__init__.py > to __init__.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/tools.py > to tools.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/transport.py > to transport.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pure_python_crypt.py > to _pure_python_crypt.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_openssl_crypt.py > to _openssl_crypt.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pycrypto_crypt.py > to _pycrypto_crypt.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/service_account.py > to service_account.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_appengine_ndb.py > to _appengine_ndb.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/__init__.py > to __init__.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/dictionary_storage.py > to dictionary_storage.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/__init__.py > to __init__.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/apps.py > to apps.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/models.py > to models.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/site.py > to site.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/decorators.py > to decorators.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/storage.py > to storage.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/signals.py > to signals.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/django_util/views.py > to views.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/keyring_storage.py > to keyring_storage.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/xsrfutil.py > to xsrfutil.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/flask_util.py > to flask_util.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/gce.py > to gce.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/appengine.py > to appengine.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/_metadata.py > to _metadata.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/sqlalchemy.py > to sqlalchemy.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/multiprocess_file_storage.py > to multiprocess_file_storage.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/contrib/devshell.py > to devshell.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/client.py > to client.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/file.py > to file.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/crypt.py > to crypt.cpython-311.pyc > byte-compiling > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client/_pkce.py > to _pkce.cpython-311.pyc > running install_egg_info > running egg_info > writing oauth2client.egg-info/PKG-INFO > writing dependency_links to oauth2client.egg-info/dependency_links.txt > writing requirements to oauth2client.egg-info/requires.txt > writing top-level names to oauth2client.egg-info/top_level.txt > reading manifest file 'oauth2client.egg-info/SOURCES.txt' > reading manifest template 'MANIFEST.in' > adding license file 'LICENSE' > writing manifest file 'oauth2client.egg-info/SOURCES.txt' > removing > '/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client-4.1.3.egg-info' > (and everything under it) > Copying oauth2client.egg-info to > /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/oauth2client-4.1.3.egg-info > Skipping SOURCES.txt > running install_scripts > + pwd > + rm -rf /<<PKGBUILDDIR>>/debian/python*/usr/lib/python*/dist-packages/*.pth > + pwd > + rm -rf /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python*/dist-packages/*.pth > rm -rf debian/python*-oauth2client/usr/lib/python*/dist-packages/tests > ===> Running tests > set -e ; set -x ; for i in 3.12 3.11 ; do \ > PYMAJOR=`echo $i | cut -d'.' -f1` ; \ > echo "===> Testing with python$i (python$PYMAJOR)" ; \ > DJANGO_SETTINGS_MODULE=tests.contrib.django_util.settings > PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages python$i > -m \ > pytest -v tests --ignore=tests/contrib/django_util ; \ > done > + echo 3.12 > + cut -d. -f1 > + PYMAJOR=3 > + echo ===> Testing with python3.12 (python3) > ===> Testing with python3.12 (python3) > + DJANGO_SETTINGS_MODULE=tests.contrib.django_util.settings > PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages > python3.12 -m pytest -v tests --ignore=tests/contrib/django_util > ============================= test session starts > ============================== > platform linux -- Python 3.12.1, pytest-7.4.3, pluggy-1.3.0 -- > /usr/bin/python3.12 > cachedir: .pytest_cache > rootdir: /<<PKGBUILDDIR>> > collecting ... collected 460 items > > tests/test__helpers.py::PositionalTests::test_enforcement_ignore PASSED [ > 0%] > tests/test__helpers.py::PositionalTests::test_enforcement_warning PASSED [ > 0%] > tests/test__helpers.py::PositionalTests::test_usage PASSED [ > 0%] > tests/test__helpers.py::ScopeToStringTests::test_iterables PASSED [ > 0%] > tests/test__helpers.py::StringToScopeTests::test_conversion PASSED [ > 1%] > tests/test__helpers.py::AddQueryParameterTests::test__add_query_parameter > PASSED [ 1%] > tests/test__helpers.py::Test__parse_pem_key::test_bad_input PASSED [ > 1%] > tests/test__helpers.py::Test__parse_pem_key::test_valid_input PASSED [ > 1%] > tests/test__helpers.py::Test__json_encode::test_dictionary_input PASSED [ > 1%] > tests/test__helpers.py::Test__json_encode::test_list_input PASSED [ > 2%] > tests/test__helpers.py::Test__to_bytes::test_with_bytes PASSED [ > 2%] > tests/test__helpers.py::Test__to_bytes::test_with_nonstring_type PASSED [ > 2%] > tests/test__helpers.py::Test__to_bytes::test_with_unicode PASSED [ > 2%] > tests/test__helpers.py::Test__from_bytes::test_with_bytes PASSED [ > 3%] > tests/test__helpers.py::Test__from_bytes::test_with_nonstring_type PASSED [ > 3%] > tests/test__helpers.py::Test__from_bytes::test_with_unicode PASSED [ > 3%] > tests/test__helpers.py::Test__urlsafe_b64encode::test_valid_input_bytes > PASSED [ 3%] > tests/test__helpers.py::Test__urlsafe_b64encode::test_valid_input_str PASSED > [ 3%] > tests/test__helpers.py::Test__urlsafe_b64encode::test_valid_input_unicode > PASSED [ 4%] > tests/test__helpers.py::Test__urlsafe_b64decode::test_bad_input PASSED [ > 4%] > tests/test__helpers.py::Test__urlsafe_b64decode::test_valid_input_bytes > PASSED [ 4%] > tests/test__helpers.py::Test__urlsafe_b64decode::test_valid_input_str PASSED > [ 4%] > tests/test__helpers.py::Test__urlsafe_b64decode::test_valid_input_unicode > PASSED [ 5%] > tests/test__helpers.py::Test_update_query_params::test_update_query_params_existing_params > PASSED [ 5%] > tests/test__helpers.py::Test_update_query_params::test_update_query_params_no_params > PASSED [ 5%] > tests/test__helpers.py::Test_update_query_params::test_update_query_params_repeated_params > PASSED [ 5%] > tests/test__helpers.py::Test_update_query_params::test_update_query_params_replace_param > PASSED [ 5%] > tests/test__helpers.py::Test_parse_unique_urlencoded::test_with_repeats > PASSED [ 6%] > tests/test__helpers.py::Test_parse_unique_urlencoded::test_without_repeats > PASSED [ 6%] > tests/test__pkce.py::PKCETests::test_challenge PASSED [ > 6%] > tests/test__pkce.py::PKCETests::test_verifier PASSED [ > 6%] > tests/test__pkce.py::PKCETests::test_verifier_too_long PASSED [ > 6%] > tests/test__pkce.py::PKCETests::test_verifier_too_short PASSED [ > 7%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_cert > PASSED [ 7%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_cert_failure > PASSED [ 7%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_cert_unicode > PASSED [ 7%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_key > PASSED [ 8%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_from_string_pub_key_unicode > PASSED [ 8%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_verify_failure PASSED > [ 8%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_verify_success PASSED > [ 8%] > tests/test__pure_python_crypt.py::TestRsaVerifier::test_verify_unicode_success > PASSED [ 8%] > tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_bogus_key > PASSED [ 9%] > tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs1 > PASSED [ 9%] > tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs12 > PASSED [ 9%] > tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs1_unicode > PASSED [ 9%] > tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs8 > PASSED [ 10%] > tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs8_extra_bytes > PASSED [ 10%] > tests/test__pure_python_crypt.py::TestRsaSigner::test_from_string_pkcs8_unicode > PASSED [ 10%] > tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_from_string_unicode_key > PASSED [ 10%] > tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_verify_bad_key > PASSED [ 10%] > tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_verify_failure > PASSED [ 11%] > tests/test__pycrypto_crypt.py::TestPyCryptoVerifier::test_verify_success > PASSED [ 11%] > tests/test__pycrypto_crypt.py::TestPyCryptoSigner::test_from_string_bad_key > PASSED [ 11%] > tests/test_client.py::CredentialsTests::test__to_json_basic PASSED [ > 11%] > tests/test_client.py::CredentialsTests::test__to_json_to_serialize PASSED [ > 11%] > tests/test_client.py::CredentialsTests::test__to_json_with_strip PASSED [ > 12%] > tests/test_client.py::CredentialsTests::test_apply_abstract PASSED [ > 12%] > tests/test_client.py::CredentialsTests::test_authorize_abstract PASSED [ > 12%] > tests/test_client.py::CredentialsTests::test_from_json PASSED [ > 12%] > tests/test_client.py::CredentialsTests::test_new_from_json_bad_class PASSED [ > 13%] > tests/test_client.py::CredentialsTests::test_new_from_json_bad_module PASSED > [ 13%] > tests/test_client.py::CredentialsTests::test_new_from_json_basic_data PASSED > [ 13%] > tests/test_client.py::CredentialsTests::test_new_from_json_no_data PASSED [ > 13%] > tests/test_client.py::CredentialsTests::test_new_from_json_old_name PASSED [ > 13%] > tests/test_client.py::CredentialsTests::test_refresh_abstract PASSED [ > 14%] > tests/test_client.py::CredentialsTests::test_revoke_abstract PASSED [ > 14%] > tests/test_client.py::CredentialsTests::test_to_from_json PASSED [ > 14%] > tests/test_client.py::CredentialsTests::test_to_json PASSED [ > 14%] > tests/test_client.py::TestStorage::test_locked_delete_abstract PASSED [ > 15%] > tests/test_client.py::TestStorage::test_locked_get_abstract PASSED [ > 15%] > tests/test_client.py::TestStorage::test_locked_put_abstract PASSED [ > 15%] > tests/test_client.py::GoogleCredentialsTests::test_bad_expiry PASSED [ > 15%] > tests/test_client.py::GoogleCredentialsTests::test_create_scoped PASSED [ > 15%] > tests/test_client.py::GoogleCredentialsTests::test_create_scoped_required > PASSED [ 16%] > tests/test_client.py::GoogleCredentialsTests::test_env_name PASSED [ > 16%] > tests/test_client.py::GoogleCredentialsTests::test_environ_check_gae_module_unknown > PASSED [ 16%] > tests/test_client.py::GoogleCredentialsTests::test_environment_caching PASSED > [ 16%] > tests/test_client.py::GoogleCredentialsTests::test_environment_check_fastpath > PASSED [ 16%] > tests/test_client.py::GoogleCredentialsTests::test_environment_check_gae_local > PASSED [ 17%] > tests/test_client.py::GoogleCredentialsTests::test_environment_check_gae_production > PASSED [ 17%] > tests/test_client.py::GoogleCredentialsTests::test_environment_check_gce_prod_with_working_gae_imports > PASSED [ 17%] > tests/test_client.py::GoogleCredentialsTests::test_environment_check_gce_production > PASSED [ 17%] > tests/test_client.py::GoogleCredentialsTests::test_environment_check_gce_timeout > PASSED [ 18%] > tests/test_client.py::GoogleCredentialsTests::test_environment_check_unknown > PASSED [ 18%] > tests/test_client.py::GoogleCredentialsTests::test_from_stream_authorized_user > PASSED [ 18%] > tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_1 > FAILED [ 18%] > tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_2 > FAILED [ 18%] > tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_3 > PASSED [ 19%] > tests/test_client.py::GoogleCredentialsTests::test_from_stream_missing_file > FAILED [ 19%] > tests/test_client.py::GoogleCredentialsTests::test_from_stream_service_account > PASSED [ 19%] > tests/test_client.py::GoogleCredentialsTests::test_get_adc_env_from_well_known > PASSED [ 19%] > tests/test_client.py::GoogleCredentialsTests::test_get_adc_env_not_set_up > PASSED [ 20%] > tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_env_var_authorized_user > PASSED [ 20%] > tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_env_var_malformed_file > PASSED [ 20%] > tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_env_var_service_account > PASSED [ 20%] > tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_file_authorized_user > PASSED [ 20%] > tests/test_client.py::GoogleCredentialsTests::test_get_adc_from_file_service_account > PASSED [ 21%] > tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_1 > FAILED [ 21%] > tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_2 > FAILED [ 21%] > tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_3 > PASSED [ 21%] > tests/test_client.py::GoogleCredentialsTests::test_get_application_default_in_gae > PASSED [ 21%] > tests/test_client.py::GoogleCredentialsTests::test_get_application_default_in_gce > PASSED [ 22%] > tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file > PASSED [ 22%] > tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file_error > FAILED [ 22%] > tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file_without_env_var > PASSED [ 22%] > tests/test_client.py::GoogleCredentialsTests::test_get_well_known_file_on_windows > PASSED [ 23%] > tests/test_client.py::GoogleCredentialsTests::test_get_well_known_file_on_windows_without_appdata > PASSED [ 23%] > tests/test_client.py::GoogleCredentialsTests::test_get_well_known_file_with_custom_config_dir > PASSED [ 23%] > tests/test_client.py::GoogleCredentialsTests::test_parse_expiry PASSED [ > 23%] > tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_missing_fields > FAILED [ 23%] > tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_reading_json > FAILED [ 24%] > tests/test_client.py::GoogleCredentialsTests::test_save_to_well_known_file_authorized_user > PASSED [ 24%] > tests/test_client.py::GoogleCredentialsTests::test_save_to_well_known_file_service_account > PASSED [ 24%] > tests/test_client.py::GoogleCredentialsTests::test_save_well_known_file_with_non_existent_config_dir > PASSED [ 24%] > tests/test_client.py::GoogleCredentialsTests::test_to_from_json_authorized_user > PASSED [ 25%] > tests/test_client.py::GoogleCredentialsTests::test_to_from_json_service_account > PASSED [ 25%] > tests/test_client.py::GoogleCredentialsTests::test_to_from_json_service_account_scoped > PASSED [ 25%] > tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_basic_failure > PASSED [ 25%] > tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_failure_w_json_error > PASSED [ 25%] > tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_failure_w_json_error_and_desc > PASSED [ 26%] > tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_failure_w_json_error_and_store > PASSED [ 26%] > tests/test_client.py::BasicCredentialsTests::test__do_refresh_request_non_json_failure > PASSED [ 26%] > tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_basic_failure > PASSED [ 26%] > tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_failure_w_json_error > PASSED [ 26%] > tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_non_json_failure > PASSED [ 27%] > tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_success > PASSED [ 27%] > tests/test_client.py::BasicCredentialsTests::test__do_retrieve_scopes_success_bad_json > PASSED [ 27%] > tests/test_client.py::BasicCredentialsTests::test__do_revoke_basic_failure > PASSED [ 27%] > tests/test_client.py::BasicCredentialsTests::test__do_revoke_failure_w_json_error > PASSED [ 28%] > tests/test_client.py::BasicCredentialsTests::test__do_revoke_failure_w_json_error_and_store > PASSED [ 28%] > tests/test_client.py::BasicCredentialsTests::test__do_revoke_non_json_failure > PASSED [ 28%] > tests/test_client.py::BasicCredentialsTests::test__do_revoke_success PASSED [ > 28%] > tests/test_client.py::BasicCredentialsTests::test__do_revoke_success_with_store > PASSED [ 28%] > tests/test_client.py::BasicCredentialsTests::test__expires_in_expired PASSED > [ 29%] > tests/test_client.py::BasicCredentialsTests::test__expires_in_no_expiry > PASSED [ 29%] > tests/test_client.py::BasicCredentialsTests::test__expires_in_not_expired > PASSED [ 29%] > tests/test_client.py::BasicCredentialsTests::test_from_json_bad_token_expiry > PASSED [ 29%] > tests/test_client.py::BasicCredentialsTests::test_from_json_token_expiry > PASSED [ 30%] > tests/test_client.py::BasicCredentialsTests::test_get_access_token PASSED [ > 30%] > tests/test_client.py::BasicCredentialsTests::test_get_access_token_with_http > PASSED [ 30%] > tests/test_client.py::BasicCredentialsTests::test_get_access_token_without_http > PASSED [ 30%] > tests/test_client.py::BasicCredentialsTests::test_has_scopes PASSED [ > 30%] > tests/test_client.py::BasicCredentialsTests::test_no_unicode_in_request_params > PASSED [ 31%] > tests/test_client.py::BasicCredentialsTests::test_non_401_error_response > PASSED [ 31%] > tests/test_client.py::BasicCredentialsTests::test_recursive_authorize PASSED > [ 31%] > tests/test_client.py::BasicCredentialsTests::test_refresh_updates_id_token > PASSED [ 31%] > tests/test_client.py::BasicCredentialsTests::test_retrieve_scopes PASSED [ > 31%] > tests/test_client.py::BasicCredentialsTests::test_to_from_json PASSED [ > 32%] > tests/test_client.py::BasicCredentialsTests::test_token_refresh_failure > PASSED [ 32%] > tests/test_client.py::BasicCredentialsTests::test_token_refresh_success > PASSED [ 32%] > tests/test_client.py::BasicCredentialsTests::test_token_revoke_405 PASSED [ > 32%] > tests/test_client.py::BasicCredentialsTests::test_token_revoke_failure PASSED > [ 33%] > tests/test_client.py::BasicCredentialsTests::test_token_revoke_fallback > PASSED [ 33%] > tests/test_client.py::BasicCredentialsTests::test_token_revoke_success PASSED > [ 33%] > tests/test_client.py::BasicCredentialsTests::test_unicode_header_checks > PASSED [ 33%] > tests/test_client.py::AccessTokenCredentialsTests::test_auth_header_sent > PASSED [ 33%] > tests/test_client.py::AccessTokenCredentialsTests::test_non_401_error_response > PASSED [ 34%] > tests/test_client.py::AccessTokenCredentialsTests::test_token_refresh_success > PASSED [ 34%] > tests/test_client.py::AccessTokenCredentialsTests::test_token_revoke_failure > PASSED [ 34%] > tests/test_client.py::AccessTokenCredentialsTests::test_token_revoke_success > PASSED [ 34%] > tests/test_client.py::TestAssertionCredentials::test__generate_assertion_abstract > PASSED [ 35%] > tests/test_client.py::TestAssertionCredentials::test_assertion_body PASSED [ > 35%] > tests/test_client.py::TestAssertionCredentials::test_assertion_refresh PASSED > [ 35%] > tests/test_client.py::TestAssertionCredentials::test_sign_blob_abstract > PASSED [ 35%] > tests/test_client.py::TestAssertionCredentials::test_token_revoke_failure > PASSED [ 35%] > tests/test_client.py::TestAssertionCredentials::test_token_revoke_success > PASSED [ 36%] > tests/test_client.py::ExtractIdTokenTest::test_extract_failure PASSED [ > 36%] > tests/test_client.py::ExtractIdTokenTest::test_extract_success PASSED [ > 36%] > tests/test_client.py::OAuth2WebServerFlowTest::test__oauth2_web_server_flow_params > PASSED [ 36%] > tests/test_client.py::OAuth2WebServerFlowTest::test_construct_authorize_url > PASSED [ 36%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_dictlike PASSED > [ 37%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_fails_if_no_code > FAILED [ 37%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_failure PASSED [ > 37%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_failure_with_json_error > PASSED [ 37%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_id_token PASSED > [ 38%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_id_token_fail > PASSED [ 38%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_no_expires_in > PASSED [ 38%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_success PASSED [ > 38%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_success_binary_code > PASSED [ 38%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_success_with_device_flow_info > PASSED [ 39%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_using_authorization_header > PASSED [ 39%] > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_with_pkce PASSED > [ 39%] > tests/test_client.py::OAuth2WebServerFlowTest::test_override_flow_via_kwargs > PASSED [ 39%] > tests/test_client.py::OAuth2WebServerFlowTest::test_scope_is_required PASSED > [ 40%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_pkce > PASSED [ 40%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_pkce_invalid_verifier > PASSED [ 40%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_redirect_override > PASSED [ 40%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_without_login_hint > PASSED [ 40%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_authorize_url_without_redirect > PASSED [ 41%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes > PASSED [ 41%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_bad_payload > PASSED [ 41%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_basic_failure > PASSED [ 41%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_failure_w_json_error > PASSED [ 41%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_non_json_failure > PASSED [ 42%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_w_default_http > PASSED [ 42%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_w_user_agent > PASSED [ 42%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step1_get_device_and_user_codes_wo_device_uri > PASSED [ 42%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step2_exchange_code_and_device_flow > PASSED [ 43%] > tests/test_client.py::OAuth2WebServerFlowTest::test_step2_exchange_no_input > PASSED [ 43%] > tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_failure > FAILED [ 43%] > tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_no_expires_in > PASSED [ 43%] > tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_success > PASSED [ 43%] > tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_expires_param > PASSED [ 44%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_cached > PASSED [ 44%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_invalid > PASSED [ 44%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_invalid_w_msg > PASSED [ 44%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_invalid_w_msg_and_text > PASSED [ 45%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_success > PASSED [ 45%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_success_w_device_uri > PASSED [ 45%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_success_w_revoke_uri > PASSED [ 45%] > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_unknown_flow > FAILED [ 45%] > tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_and_cached_file_for_token > PASSED [ 46%] > tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_and_file_for_token > PASSED [ 46%] > tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_and_file_for_token_fail > PASSED [ 46%] > tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_for_token > PASSED [ 46%] > tests/test_client.py::CredentialsFromCodeTests::test_exchange_code_for_token_fail > PASSED [ 46%] > tests/test_client.py::Test__save_private_file::test_existing PASSED [ > 47%] > tests/test_client.py::Test__save_private_file::test_new PASSED [ > 47%] > tests/test_client.py::Test__get_application_default_credential_GAE::test_it > PASSED [ 47%] > tests/test_client.py::Test__get_application_default_credential_GCE::test_it > PASSED [ 47%] > tests/test_client.py::Test__require_crypto_or_die::test_with_crypto PASSED [ > 48%] > tests/test_client.py::Test__require_crypto_or_die::test_without_crypto PASSED > [ 48%] > tests/test_client.py::TestDeviceFlowInfo::test_FromResponse PASSED [ > 48%] > tests/test_client.py::TestDeviceFlowInfo::test_FromResponse_fallback_to_uri > PASSED [ 48%] > tests/test_client.py::TestDeviceFlowInfo::test_FromResponse_missing_url > PASSED [ 48%] > tests/test_client.py::TestDeviceFlowInfo::test_FromResponse_with_expires_in > PASSED [ 49%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_invalid_client_type > PASSED [ 49%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_missing_required_type_installed > PASSED [ 49%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_missing_required_type_web > PASSED [ 49%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_string_not_configured_type_installed > PASSED [ 50%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_string_not_configured_type_web > PASSED [ 50%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_success_type_installed > PASSED [ 50%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_success_type_web > PASSED [ 50%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_with_non_dictionary > PASSED [ 50%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_with_none > PASSED [ 51%] > tests/test_clientsecrets.py::Test__validate_clientsecrets::test_with_other_than_one_key > PASSED [ 51%] > tests/test_clientsecrets.py::Test__loadfile::test_bad_json PASSED [ > 51%] > tests/test_clientsecrets.py::Test__loadfile::test_non_existent PASSED [ > 51%] > tests/test_clientsecrets.py::Test__loadfile::test_success PASSED [ > 51%] > tests/test_clientsecrets.py::OAuth2CredentialsTests::test_load_by_filename_missing_file > FAILED [ 52%] > tests/test_clientsecrets.py::OAuth2CredentialsTests::test_validate_error > PASSED [ 52%] > tests/test_clientsecrets.py::CachedClientsecretsTests::test_cache_hit PASSED > [ 52%] > tests/test_clientsecrets.py::CachedClientsecretsTests::test_cache_miss PASSED > [ 52%] > tests/test_clientsecrets.py::CachedClientsecretsTests::test_validation PASSED > [ 53%] > tests/test_clientsecrets.py::CachedClientsecretsTests::test_without_cache > PASSED [ 53%] > tests/test_crypt.py::Test__bad_pkcs12_key_as_pem::test_fails PASSED [ > 53%] > tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds PASSED [ > 53%] > tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds_with_unicode_password > PASSED [ 53%] > tests/test_crypt.py::Test__verify_signature::test_failure PASSED [ > 54%] > tests/test_crypt.py::Test__verify_signature::test_success_multiple_certs > PASSED [ 54%] > tests/test_crypt.py::Test__verify_signature::test_success_single_cert PASSED > [ 54%] > tests/test_crypt.py::Test__check_audience::test_missing_aud PASSED [ > 54%] > tests/test_crypt.py::Test__check_audience::test_null_audience PASSED [ > 55%] > tests/test_crypt.py::Test__check_audience::test_success PASSED [ > 55%] > tests/test_crypt.py::Test__check_audience::test_wrong_aud PASSED [ > 55%] > tests/test_crypt.py::Test__verify_time_range::test_success PASSED [ > 55%] > tests/test_crypt.py::Test__verify_time_range::test_with_bad_token_lifetime > PASSED [ 55%] > tests/test_crypt.py::Test__verify_time_range::test_with_expiration_in_the_past > PASSED [ 56%] > tests/test_crypt.py::Test__verify_time_range::test_with_issued_at_in_future > PASSED [ 56%] > tests/test_crypt.py::Test__verify_time_range::test_without_expiration PASSED > [ 56%] > tests/test_crypt.py::Test__verify_time_range::test_without_issued_at PASSED [ > 56%] > tests/test_crypt.py::Test_verify_signed_jwt_with_certs::test_jwt_no_segments > PASSED [ 56%] > tests/test_crypt.py::Test_verify_signed_jwt_with_certs::test_jwt_payload_bad_json > PASSED [ 57%] > tests/test_crypt.py::Test_verify_signed_jwt_with_certs::test_success PASSED [ > 57%] > tests/test_file.py::OAuth2ClientFileTests::test_access_token_credentials > FAILED [ 57%] > tests/test_file.py::OAuth2ClientFileTests::test_credentials_delete PASSED [ > 57%] > tests/test_file.py::OAuth2ClientFileTests::test_directory_file_storage PASSED > [ 58%] > tests/test_file.py::OAuth2ClientFileTests::test_no_sym_link_credentials > PASSED [ 58%] > tests/test_file.py::OAuth2ClientFileTests::test_non_existent_file_storage > PASSED [ 58%] > tests/test_file.py::OAuth2ClientFileTests::test_pickle_and_json_interop > FAILED [ 58%] > tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_good_store > FAILED [ 58%] > tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_store_expired > FAILED [ 59%] > tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_store_expires_soon > PASSED [ 59%] > tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_stream_body > PASSED [ 59%] > tests/test_jwt.py::CryptTests::test_from_string_non_509_cert PASSED [ > 59%] > tests/test_jwt.py::CryptTests::test_sign_and_verify PASSED [ > 60%] > tests/test_jwt.py::CryptTests::test_sign_and_verify_from_converted_pkcs12 > PASSED [ 60%] > tests/test_jwt.py::CryptTests::test_verify_id_token PASSED [ > 60%] > tests/test_jwt.py::CryptTests::test_verify_id_token_bad_tokens PASSED [ > 60%] > tests/test_jwt.py::CryptTests::test_verify_id_token_with_certs_uri PASSED [ > 60%] > tests/test_jwt.py::CryptTests::test_verify_id_token_with_certs_uri_default_http > PASSED [ 61%] > tests/test_jwt.py::CryptTests::test_verify_id_token_with_certs_uri_fails > PASSED [ 61%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_from_string_non_509_cert > PASSED [ 61%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_sign_and_verify PASSED [ > 61%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_sign_and_verify_from_converted_pkcs12 > PASSED [ 61%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token PASSED [ > 62%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_bad_tokens > PASSED [ 62%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_with_certs_uri > PASSED [ 62%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_with_certs_uri_default_http > PASSED [ 62%] > tests/test_jwt.py::PEMCryptTestsPyCrypto::test_verify_id_token_with_certs_uri_fails > PASSED [ 63%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_from_string_non_509_cert PASSED > [ 63%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_sign_and_verify PASSED [ > 63%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_sign_and_verify_from_converted_pkcs12 > PASSED [ 63%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token PASSED [ > 63%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_bad_tokens > PASSED [ 64%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_with_certs_uri > PASSED [ 64%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_with_certs_uri_default_http > PASSED [ 64%] > tests/test_jwt.py::PEMCryptTestsOpenSSL::test_verify_id_token_with_certs_uri_fails > PASSED [ 64%] > tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_good > PASSED [ 65%] > tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_refresh_with_storage > PASSED [ 65%] > tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_refresh_without_storage > PASSED [ 65%] > tests/test_jwt.py::SignedJwtAssertionCredentialsTests::test_credentials_to_from_json > PASSED [ 65%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_good > PASSED [ 65%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_refresh_with_storage > PASSED [ 66%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_refresh_without_storage > PASSED [ 66%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsOpenSSLTests::test_credentials_to_from_json > PASSED [ 66%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_good > PASSED [ 66%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_refresh_with_storage > PASSED [ 66%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_refresh_without_storage > PASSED [ 67%] > tests/test_jwt.py::PEMSignedJwtAssertionCredentialsPyCryptoTests::test_credentials_to_from_json > PASSED [ 67%] > tests/test_jwt.py::TestHasOpenSSLFlag::test_true PASSED [ > 67%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test__to_json_override > PASSED [ 67%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_access_token > PASSED [ 68%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_delegated > PASSED [ 68%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_delegated_existing_sub > PASSED [ 68%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_scoped > PASSED [ 68%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_scoped_required_with_scopes > PASSED [ 68%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_create_scoped_required_without_scopes > PASSED [ 69%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_json_keyfile_name_factory > PASSED [ 69%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_json_keyfile_name_factory_bad_type > PASSED [ 69%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_json_keyfile_name_factory_missing_field > PASSED [ 69%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_defaults > PASSED [ 70%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_explicit > PASSED [ 70%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_with_pycrypto > PASSED [ 70%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_from_p12_keyfile_with_rsa > PASSED [ 70%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_service_account_email > PASSED [ 70%] > tests/test_service_account.py::ServiceAccountCredentialsTests::test_sign_blob > PASSED [ 71%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_401 > FAILED [ 71%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_no_aud > PASSED [ 71%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_stale_token > FAILED [ 71%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_success > PASSED [ 71%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_create_scoped > PASSED [ 72%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_create_scoped_required > PASSED [ 72%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_get_access_token_additional_claims > PASSED [ 72%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_get_access_token_no_claims > PASSED [ 72%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_refresh FAILED > [ 73%] > tests/test_service_account.py::JWTAccessCredentialsTests::test_revoke PASSED > [ 73%] > tests/test_tools.py::TestClientRedirectServer::test_ClientRedirectServer > SKIPPED [ 73%] > tests/test_tools.py::TestRunFlow::test_run_flow_no_webserver PASSED [ > 73%] > tests/test_tools.py::TestRunFlow::test_run_flow_no_webserver_exchange_error > PASSED [ 73%] > tests/test_tools.py::TestRunFlow::test_run_flow_no_webserver_explicit_flags > PASSED [ 74%] > tests/test_tools.py::TestRunFlow::test_run_flow_webserver PASSED [ > 74%] > tests/test_tools.py::TestRunFlow::test_run_flow_webserver_exchange_error > PASSED [ 74%] > tests/test_tools.py::TestRunFlow::test_run_flow_webserver_fallback PASSED [ > 74%] > tests/test_tools.py::TestRunFlow::test_run_flow_webserver_no_code PASSED [ > 75%] > tests/test_tools.py::TestMessageIfMissing::test_message_if_missing PASSED [ > 75%] > tests/test_transport.py::TestMemoryCache::test_get_set_delete PASSED [ > 75%] > tests/test_transport.py::Test_get_cached_http::test_global PASSED [ > 75%] > tests/test_transport.py::Test_get_cached_http::test_value PASSED [ > 75%] > tests/test_transport.py::Test_get_http_object::test_it PASSED [ > 76%] > tests/test_transport.py::Test_get_http_object::test_with_args PASSED [ > 76%] > tests/test_transport.py::Test__initialize_headers::test_copy PASSED [ > 76%] > tests/test_transport.py::Test__initialize_headers::test_null PASSED [ > 76%] > tests/test_transport.py::Test__apply_user_agent::test_append PASSED [ > 76%] > tests/test_transport.py::Test__apply_user_agent::test_new_agent PASSED [ > 77%] > tests/test_transport.py::Test__apply_user_agent::test_null PASSED [ > 77%] > tests/test_transport.py::Test_clean_headers::test_cast_object PASSED [ > 77%] > tests/test_transport.py::Test_clean_headers::test_cast_unicode PASSED [ > 77%] > tests/test_transport.py::Test_clean_headers::test_no_modify PASSED [ > 78%] > tests/test_transport.py::Test_clean_headers::test_unicode_failure PASSED [ > 78%] > tests/test_transport.py::Test_wrap_http_for_auth::test_wrap PASSED [ > 78%] > tests/test_transport.py::Test_request::test_with_callable_http PASSED [ > 78%] > tests/test_transport.py::Test_request::test_with_request_attr PASSED [ > 78%] > tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_empty_list > PASSED [ 79%] > tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_full_list > PASSED [ 79%] > tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_with_bad_json > PASSED [ 79%] > tests/contrib/test_devshell.py::TestCredentialInfoResponse::test_constructor_with_non_list > PASSED [ 79%] > tests/contrib/test_devshell.py::Test_SendRecv::test_no_newline_in_received_header > PASSED [ 80%] > tests/contrib/test_devshell.py::Test_SendRecv::test_port_zero PASSED [ > 80%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_bad_message_to_mock_server > PASSED [ 80%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_from_json > PASSED [ 80%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_ignores_extra_fields > PASSED [ 80%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_skipped_fields > PASSED [ 81%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_tiny_response > PASSED [ 81%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_no_refresh_token > FAILED [ 81%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_reads_credentials > PASSED [ 81%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_refuses_to_save_to_well_known_file > PASSED [ 81%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_request_response > PASSED [ 82%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_serialization_data > PASSED [ 82%] > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_signals_no_server > PASSED [ 82%] > tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_constructor_defaults > PASSED [ 82%] > tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_constructor_explicit > PASSED [ 83%] > tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_delete > PASSED [ 83%] > tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_get > PASSED [ 83%] > tests/contrib/test_dictionary_storage.py::DictionaryStorageTests::test_put > PASSED [ 83%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_app_configuration > PASSED [ 83%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_authorize_callback > PASSED [ 84%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_authorize_view > PASSED [ 84%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_bad_client_secrets > PASSED [ 84%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_bad_id_token PASSED > [ 84%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_callback_view PASSED > [ 85%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_callback_view_errors > PASSED [ 85%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_create_flow PASSED [ > 85%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_delayed_configuration > PASSED [ 85%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_delete PASSED [ > 85%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_explicit_configuration > PASSED [ 86%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_explicit_scopes > PASSED [ 86%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_explicit_storage > PASSED [ 86%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_incremental_auth_exchange > PASSED [ 86%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_no_configuration > PASSED [ 86%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_no_credentials > PASSED [ 87%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_refresh PASSED [ > 87%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_required PASSED [ > 87%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_credentials > PASSED [ 87%] > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_expired_credentials > PASSED [ 88%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_constructor > PASSED [ 88%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_constructor_with_scopes > PASSED [ 88%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_create_scoped_required > PASSED [ 88%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_custom_metadata_root_from_env > PASSED [ 88%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_from_json > PASSED [ 89%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token > PASSED [ 89%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token_failed_fetch > PASSED [ 89%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_retrieve_scopes > PASSED [ 89%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_retrieve_scopes_bad_email > PASSED [ 90%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_save_to_well_known_file > PASSED [ 90%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_serialization_data > PASSED [ 90%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_sign_blob_not_implemented > PASSED [ 90%] > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_to_json PASSED > [ 90%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_acquire_lock > PASSED [ 91%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_constructor > PASSED [ 91%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_and_set_with_json_credentials_stored > FAILED [ 91%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_malformed_json_credentials_stored > FAILED [ 91%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_no_credentials_stored > FAILED [ 91%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_locked_delete > PASSED [ 92%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_locked_get > PASSED [ 92%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_locked_put > PASSED [ 92%] > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_release_lock > PASSED [ 92%] > tests/contrib/test_metadata.py::TestMetadata::test_get_failure PASSED [ > 93%] > tests/contrib/test_metadata.py::TestMetadata::test_get_success_json PASSED [ > 93%] > tests/contrib/test_metadata.py::TestMetadata::test_get_success_string PASSED > [ 93%] > tests/contrib/test_metadata.py::TestMetadata::test_get_token_success PASSED [ > 93%] > tests/contrib/test_metadata.py::TestMetadata::test_service_account_info > PASSED [ 93%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_basic_operations > PASSED [ 94%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_multi_process_refresh > PASSED [ 94%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_read_only_file_fail_lock > PASSED [ 94%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_single_process_refresh > PASSED [ 94%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__create_file_if_needed > PASSED [ 95%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__get_backend > PASSED [ 95%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_file_bad_file_version > PASSED [ 95%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_file_invalid_json > PASSED [ 95%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_file_no_file_version > PASSED [ 95%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__load_credentials_no_open_file > PASSED [ 96%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__read_write_credentials_file > PASSED [ 96%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__refresh_predicate > PASSED [ 96%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test_acquire_lock_nonexistent_file > PASSED [ 96%] > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test_release_lock_with_no_file > PASSED [ 96%] > tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_delete PASSED [ > 97%] > tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_get PASSED [ > 97%] > tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_put PASSED [ > 97%] > tests/contrib/test_xsrfutil.py::Test_generate_token::test_it PASSED [ > 97%] > tests/contrib/test_xsrfutil.py::Test_generate_token::test_with_system_time > PASSED [ 98%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_no_token PASSED [ > 98%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_success PASSED [ > 98%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_differs_from_generated_but_same_length > PASSED [ 98%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_length_differs_from_generated > PASSED [ 98%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_non_integer > PASSED [ 99%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_not_valid_base64 > PASSED [ 99%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_too_old_explicit_current_time > PASSED [ 99%] > tests/contrib/test_xsrfutil.py::Test_validate_token::test_token_too_old_implicit_current_time > PASSED [ 99%] > tests/contrib/test_xsrfutil.py::XsrfUtilTests::testGenerateAndValidateToken > PASSED [100%] > > =================================== FAILURES > =================================== > ___________ GoogleCredentialsTests.test_from_stream_malformed_file_1 > ___________ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_from_stream_malformed_file_1> > > def test_from_stream_malformed_file_1(self): > credentials_file = datafile( > os.path.join('gcloud', > 'application_default_credentials_malformed_1.json')) > expected_err_msg = ( > 'An error was encountered while reading json file: ' + > credentials_file + > ' \(provided as parameter to the from_stream\(\) method\): ' + > "'type' field should be defined \(and have one of the '" + > client.AUTHORIZED_USER + "' or '" + client.SERVICE_ACCOUNT + > "' values\)") > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:740: AttributeError > ___________ GoogleCredentialsTests.test_from_stream_malformed_file_2 > ___________ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_from_stream_malformed_file_2> > > def test_from_stream_malformed_file_2(self): > credentials_file = datafile( > os.path.join('gcloud', > 'application_default_credentials_malformed_2.json')) > expected_err_msg = ( > 'An error was encountered while reading json file: ' + > credentials_file + > ' \(provided as parameter to the from_stream\(\) method\): ' > 'The following field\(s\) must be defined: ' > 'private_key_id') > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:755: AttributeError > _____________ GoogleCredentialsTests.test_from_stream_missing_file > _____________ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_from_stream_missing_file> > > def test_from_stream_missing_file(self): > credentials_filename = None > expected_err_msg = (r'The parameter passed to the from_stream\(\) ' > r'method should point to a file.') > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:724: AttributeError > _ > GoogleCredentialsTests.test_get_application_default_credential_from_malformed_file_1 > _ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_get_application_default_credential_from_malformed_file_1> > > def test_get_application_default_credential_from_malformed_file_1(self): > credentials_file = datafile( > os.path.join('gcloud', > 'application_default_credentials_malformed_1.json')) > expected_err_msg = ( > "'type' field should be defined \(and have one of the '{0}' or " > "'{1}' values\)".format(client.AUTHORIZED_USER, > client.SERVICE_ACCOUNT)) > > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:544: AttributeError > _ > GoogleCredentialsTests.test_get_application_default_credential_from_malformed_file_2 > _ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_get_application_default_credential_from_malformed_file_2> > > def test_get_application_default_credential_from_malformed_file_2(self): > credentials_file = datafile( > os.path.join('gcloud', > 'application_default_credentials_malformed_2.json')) > expected_err_msg = ( > 'The following field\(s\) must be defined: private_key_id') > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:555: AttributeError > _______ GoogleCredentialsTests.test_get_environment_variable_file_error > ________ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_get_environment_variable_file_error> > > def test_get_environment_variable_file_error(self): > nonexistent_file = datafile('nonexistent') > os.environ[client.GOOGLE_APPLICATION_CREDENTIALS] = nonexistent_file > expected_err_msg = ( > 'File {0} \(pointed by {1} environment variable\) does not ' > 'exist!'.format( > nonexistent_file, client.GOOGLE_APPLICATION_CREDENTIALS)) > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:439: AttributeError > ________ GoogleCredentialsTests.test_raise_exception_for_missing_fields > ________ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_raise_exception_for_missing_fields> > > def test_raise_exception_for_missing_fields(self): > missing_fields = ['first', 'second', 'third'] > expected_err_msg = ('The following field\(s\) must be defined: ' + > ', '.join(missing_fields)) > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:572: AttributeError > _________ GoogleCredentialsTests.test_raise_exception_for_reading_json > _________ > > self = <tests.test_client.GoogleCredentialsTests > testMethod=test_raise_exception_for_reading_json> > > def test_raise_exception_for_reading_json(self): > credential_file = 'any_file' > extra_help = ' be good' > error = client.ApplicationDefaultCredentialsError('stuff happens') > expected_err_msg = ('An error was encountered while reading ' > 'json file: ' + credential_file + > extra_help + ': ' + str(error)) > > with > > self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError, > expected_err_msg): > E AttributeError: 'GoogleCredentialsTests' > object has no attribute 'assertRaisesRegexp'. Did you mean: > 'assertRaisesRegex'? > > tests/test_client.py:583: AttributeError > ____________ OAuth2WebServerFlowTest.test_exchange_fails_if_no_code > ____________ > > self = <tests.test_client.OAuth2WebServerFlowTest > testMethod=test_exchange_fails_if_no_code> > > def test_exchange_fails_if_no_code(self): > payload = (b'{' > b' "access_token":"SlAV32hkKG",' > b' "refresh_token":"8xLOxBtZp8"' > b'}') > http = http_mock.HttpMock(data=payload) > > code = {'error': 'thou shall not pass'} > > with self.assertRaisesRegexp( > client.FlowExchangeError, 'shall not pass'): > E AttributeError: 'OAuth2WebServerFlowTest' object has no > attribute 'assertRaisesRegexp'. Did you mean: 'assertRaisesRegex'? > > tests/test_client.py:2058: AttributeError > ___________ OAuth2WebServerFlowTest.test_urlencoded_exchange_failure > ___________ > > self = <tests.test_client.OAuth2WebServerFlowTest > testMethod=test_urlencoded_exchange_failure> > > def test_urlencoded_exchange_failure(self): > http = http_mock.HttpMock( > headers={'status': http_client.BAD_REQUEST}, > data=b'error=invalid_request', > ) > > > with self.assertRaisesRegexp(client.FlowExchangeError, > 'invalid_request'): > E AttributeError: > 'OAuth2WebServerFlowTest' object has no attribute 'assertRaisesRegexp'. Did > you mean: 'assertRaisesRegex'? > > tests/test_client.py:1875: AttributeError > ____ FlowFromCachedClientsecrets.test_flow_from_clientsecrets_unknown_flow > _____ > > self = <tests.test_client.FlowFromCachedClientsecrets > testMethod=test_flow_from_clientsecrets_unknown_flow> > loadfile_mock = <MagicMock name='loadfile' id='139816734703792'> > > @mock.patch('oauth2client.clientsecrets.loadfile') > def test_flow_from_clientsecrets_unknown_flow(self, loadfile_mock): > client_type = 'UNKNOWN' > loadfile_mock.return_value = client_type, None > filename = object() > cache = object() > > err_msg = ('This OAuth 2.0 flow is unsupported: ' > '{0!r}'.format(client_type)) > > with self.assertRaisesRegexp(client.UnknownClientSecretsFlowError, > err_msg): > E AttributeError: > 'FlowFromCachedClientsecrets' object has no attribute 'assertRaisesRegexp'. > Did you mean: 'assertRaisesRegex'? > > tests/test_client.py:2191: AttributeError > __________ OAuth2CredentialsTests.test_load_by_filename_missing_file > ___________ > > self = <tests.test_clientsecrets.OAuth2CredentialsTests > testMethod=test_load_by_filename_missing_file> > > def test_load_by_filename_missing_file(self): > with self.assertRaises( > clientsecrets.InvalidClientSecretsError) as exc_manager: > clientsecrets._loadfile(NONEXISTENT_FILE) > > > self.assertEquals(exc_manager.exception.args[1], NONEXISTENT_FILE) > E AttributeError: 'OAuth2CredentialsTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_clientsecrets.py:218: AttributeError > _____________ OAuth2ClientFileTests.test_access_token_credentials > ______________ > > self = <tests.test_file.OAuth2ClientFileTests > testMethod=test_access_token_credentials> > > def test_access_token_credentials(self): > access_token = 'foo' > user_agent = 'refresh_checker/1.0' > > credentials = client.AccessTokenCredentials(access_token, user_agent) > > storage = file_module.Storage(FILENAME) > credentials = storage.put(credentials) > credentials = storage.get() > > self.assertIsNotNone(credentials) > > self.assertEquals('foo', credentials.access_token) > E AttributeError: 'OAuth2ClientFileTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_file.py:266: AttributeError > ______________ OAuth2ClientFileTests.test_pickle_and_json_interop > ______________ > > self = <tests.test_file.OAuth2ClientFileTests > testMethod=test_pickle_and_json_interop> > > def test_pickle_and_json_interop(self): > # Write a file with a pickled OAuth2Credentials. > credentials = self._create_test_credentials() > > credentials_file = open(FILENAME, 'wb') > pickle.dump(credentials, credentials_file) > credentials_file.close() > > # Storage should be not be able to read that object, as the capability > # to read and write credentials as pickled objects has been removed. > storage = file_module.Storage(FILENAME) > read_credentials = storage.get() > self.assertIsNone(read_credentials) > > # Now write it back out and confirm it has been rewritten as JSON > storage.put(credentials) > with open(FILENAME) as credentials_file: > data = json.load(credentials_file) > > > self.assertEquals(data['access_token'], 'foo') > E AttributeError: 'OAuth2ClientFileTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_file.py:125: AttributeError > _____________ OAuth2ClientFileTests.test_token_refresh_good_store > ______________ > > self = <tests.test_file.OAuth2ClientFileTests > testMethod=test_token_refresh_good_store> > > def test_token_refresh_good_store(self): > expiration = (datetime.datetime.utcnow() + > datetime.timedelta(minutes=15)) > credentials = self._create_test_credentials(expiration=expiration) > > storage = file_module.Storage(FILENAME) > storage.put(credentials) > credentials = storage.get() > new_cred = copy.copy(credentials) > new_cred.access_token = 'bar' > storage.put(new_cred) > > credentials._refresh(None) > > self.assertEquals(credentials.access_token, 'bar') > E AttributeError: 'OAuth2ClientFileTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_file.py:210: AttributeError > ____________ OAuth2ClientFileTests.test_token_refresh_store_expired > ____________ > > self = <tests.test_file.OAuth2ClientFileTests > testMethod=test_token_refresh_store_expired> > > def test_token_refresh_store_expired(self): > expiration = (datetime.datetime.utcnow() - > datetime.timedelta(minutes=15)) > credentials = self._create_test_credentials(expiration=expiration) > > storage = file_module.Storage(FILENAME) > storage.put(credentials) > credentials = storage.get() > new_cred = copy.copy(credentials) > new_cred.access_token = 'bar' > storage.put(new_cred) > > access_token = '1/3w' > token_response = {'access_token': access_token, 'expires_in': 3600} > response_content = json.dumps(token_response).encode('utf-8') > http = http_mock.HttpMock(data=response_content) > > credentials._refresh(http) > > self.assertEquals(credentials.access_token, access_token) > E AttributeError: 'OAuth2ClientFileTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_file.py:147: AttributeError > _________________ JWTAccessCredentialsTests.test_authorize_401 > _________________ > > self = <tests.test_service_account.JWTAccessCredentialsTests > testMethod=test_authorize_401> > utcnow = <MagicMock name='_UTCNOW' id='139816733352848'> > > @mock.patch('oauth2client.client._UTCNOW') > def test_authorize_401(self, utcnow): > utcnow.return_value = T1_DATE > > http = http_mock.HttpMockSequence([ > ({'status': http_client.OK}, b''), > ({'status': http_client.UNAUTHORIZED}, b''), > ({'status': http_client.OK}, b''), > ]) > self.jwt.authorize(http) > transport.request(http, self.url) > token_1 = self.jwt.access_token > > utcnow.return_value = T2_DATE > response, _ = transport.request(http, self.url) > > self.assertEquals(response.status, http_client.OK) > E AttributeError: 'JWTAccessCredentialsTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_service_account.py:618: AttributeError > _____________ JWTAccessCredentialsTests.test_authorize_stale_token > _____________ > > self = <tests.test_service_account.JWTAccessCredentialsTests > testMethod=test_authorize_stale_token> > utcnow = <MagicMock name='_UTCNOW' id='139816732738048'> > > @mock.patch('oauth2client.client._UTCNOW') > def test_authorize_stale_token(self, utcnow): > utcnow.return_value = T1_DATE > # Create an initial token > http = http_mock.HttpMockSequence([ > ({'status': http_client.OK}, b''), > ({'status': http_client.OK}, b''), > ]) > self.jwt.authorize(http) > transport.request(http, self.url) > token_1 = self.jwt.access_token > > # Expire the token > utcnow.return_value = T3_DATE > transport.request(http, self.url) > token_2 = self.jwt.access_token > > self.assertEquals(self.jwt.token_expiry, T3_EXPIRY_DATE) > E AttributeError: 'JWTAccessCredentialsTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_service_account.py:574: AttributeError > ____________________ JWTAccessCredentialsTests.test_refresh > ____________________ > > self = <tests.test_service_account.JWTAccessCredentialsTests > testMethod=test_refresh> > utcnow = <MagicMock name='_UTCNOW' id='139816735587984'> > > @mock.patch('oauth2client.client._UTCNOW') > def test_refresh(self, utcnow): > utcnow.return_value = T1_DATE > token_1 = self.jwt.access_token > > utcnow.return_value = T2_DATE > self.jwt.refresh(None) > token_2 = self.jwt.access_token > > self.assertEquals(self.jwt.token_expiry, T2_EXPIRY_DATE) > E AttributeError: 'JWTAccessCredentialsTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/test_service_account.py:657: AttributeError > ________________ DevshellCredentialsTests.test_no_refresh_token > ________________ > > self = <tests.contrib.test_devshell.DevshellCredentialsTests > testMethod=test_no_refresh_token> > > def test_no_refresh_token(self): > with _AuthReferenceServer(): > creds = devshell.DevshellCredentials() > > self.assertEquals(None, creds.refresh_token) > E AttributeError: 'DevshellCredentialsTests' object has no > attribute 'assertEquals'. Did you mean: 'assertEqual'? > > tests/contrib/test_devshell.py:208: AttributeError > ______ KeyringStorageTests.test_get_and_set_with_json_credentials_stored > _______ > > self = <tests.contrib.test_keyring_storage.KeyringStorageTests > testMethod=test_get_and_set_with_json_credentials_stored> > > def test_get_and_set_with_json_credentials_stored(self): > access_token = 'foo' > client_id = 'some_client_id' > client_secret = 'cOuDdkfjxxnv+' > refresh_token = '1/0/a.df219fjls0' > token_expiry = datetime.datetime.utcnow() > user_agent = 'refresh_checker/1.0' > > credentials = client.OAuth2Credentials( > access_token, client_id, client_secret, > refresh_token, token_expiry, oauth2client.GOOGLE_TOKEN_URI, > user_agent) > > # Setting autospec on a mock with an iterable side_effect is > # currently broken (http://bugs.python.org/issue17826), so instead > # we patch twice. > with mock.patch.object(keyring, 'get_password', > return_value=None, > autospec=True) as get_password: > with mock.patch.object(keyring, 'set_password', > return_value=None, > autospec=True) as set_password: > store = keyring_storage.Storage('my_unit_test', 'me') > > self.assertEquals(None, store.get()) > E AttributeError: 'KeyringStorageTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/contrib/test_keyring_storage.py:142: AttributeError > _____ KeyringStorageTests.test_get_with_malformed_json_credentials_stored > ______ > > self = <tests.contrib.test_keyring_storage.KeyringStorageTests > testMethod=test_get_with_malformed_json_credentials_stored> > > def test_get_with_malformed_json_credentials_stored(self): > with mock.patch.object(keyring, 'get_password', > return_value='{', > autospec=True) as get_password: > store = keyring_storage.Storage('my_unit_test', 'me') > credentials = store.get() > > self.assertEquals(None, credentials) > E AttributeError: 'KeyringStorageTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/contrib/test_keyring_storage.py:116: AttributeError > ___________ KeyringStorageTests.test_get_with_no_credentials_stored > ____________ > > self = <tests.contrib.test_keyring_storage.KeyringStorageTests > testMethod=test_get_with_no_credentials_stored> > > def test_get_with_no_credentials_stored(self): > with mock.patch.object(keyring, 'get_password', > return_value=None, > autospec=True) as get_password: > store = keyring_storage.Storage('my_unit_test', 'me') > credentials = store.get() > > self.assertEquals(None, credentials) > E AttributeError: 'KeyringStorageTests' object has no attribute > 'assertEquals'. Did you mean: 'assertEqual'? > > tests/contrib/test_keyring_storage.py:107: AttributeError > =============================== warnings summary > =============================== > tests/test_client.py:436 > /<<PKGBUILDDIR>>/tests/test_client.py:436: SyntaxWarning: invalid escape > sequence '\(' > 'File {0} \(pointed by {1} environment variable\) does not ' > > tests/test_client.py:540 > /<<PKGBUILDDIR>>/tests/test_client.py:540: SyntaxWarning: invalid escape > sequence '\(' > "'type' field should be defined \(and have one of the '{0}' or " > > tests/test_client.py:541 > /<<PKGBUILDDIR>>/tests/test_client.py:541: SyntaxWarning: invalid escape > sequence '\)' > "'{1}' values\)".format(client.AUTHORIZED_USER, > > tests/test_client.py:554 > /<<PKGBUILDDIR>>/tests/test_client.py:554: SyntaxWarning: invalid escape > sequence '\(' > 'The following field\(s\) must be defined: private_key_id') > > tests/test_client.py:570 > /<<PKGBUILDDIR>>/tests/test_client.py:570: SyntaxWarning: invalid escape > sequence '\(' > expected_err_msg = ('The following field\(s\) must be defined: ' + > > tests/test_client.py:736 > /<<PKGBUILDDIR>>/tests/test_client.py:736: SyntaxWarning: invalid escape > sequence '\(' > ' \(provided as parameter to the from_stream\(\) method\): ' + > > tests/test_client.py:737 > /<<PKGBUILDDIR>>/tests/test_client.py:737: SyntaxWarning: invalid escape > sequence '\(' > "'type' field should be defined \(and have one of the '" + > > tests/test_client.py:739 > /<<PKGBUILDDIR>>/tests/test_client.py:739: SyntaxWarning: invalid escape > sequence '\)' > "' values\)") > > tests/test_client.py:752 > /<<PKGBUILDDIR>>/tests/test_client.py:752: SyntaxWarning: invalid escape > sequence '\(' > ' \(provided as parameter to the from_stream\(\) method\): ' > > tests/test_client.py:753 > /<<PKGBUILDDIR>>/tests/test_client.py:753: SyntaxWarning: invalid escape > sequence '\(' > 'The following field\(s\) must be defined: ' > > oauth2client/contrib/flask_util.py:173 > oauth2client/contrib/flask_util.py:173 > /<<PKGBUILDDIR>>/oauth2client/contrib/flask_util.py:173: > DeprecationWarning: '_app_ctx_stack' is deprecated and will be removed in > Flask 2.3. > from flask import _app_ctx_stack > > ../../../usr/lib/python3/dist-packages/sqlalchemy/sql/sqltypes.py:2061 > /usr/lib/python3/dist-packages/sqlalchemy/sql/sqltypes.py:2061: > DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and > scheduled for removal in a future version. Use timezone-aware objects to > represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, > datetime.UTC). > epoch = dt.datetime.utcfromtimestamp(0) > > tests/contrib/test_sqlalchemy.py:27 > /<<PKGBUILDDIR>>/tests/contrib/test_sqlalchemy.py:27: MovedIn20Warning: > Deprecated API features detected! These feature(s) are not compatible with > SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating > applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set > environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. > Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this > message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) > Base = sqlalchemy.ext.declarative.declarative_base() > > tests/test_client.py: 38 warnings > /<<PKGBUILDDIR>>/tests/test_client.py:858: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > token_expiry = datetime.datetime.utcnow() > > tests/test_client.py::BasicCredentialsTests::test__expires_in_expired > /<<PKGBUILDDIR>>/tests/test_client.py:1062: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > credentials.token_expiry = datetime.datetime.utcnow() > > tests/test_client.py::BasicCredentialsTests::test__expires_in_not_expired > /<<PKGBUILDDIR>>/tests/test_client.py:1073: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > credentials.token_expiry = datetime.datetime.utcnow() > > tests/test_client.py::BasicCredentialsTests::test_no_unicode_in_request_params > /<<PKGBUILDDIR>>/tests/test_client.py:1023: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > token_expiry = str(datetime.datetime.utcnow()) > > tests/test_client.py: 2 warnings > tests/test_jwt.py: 15 warnings > tests/contrib/test_multiprocess_file_storage.py: 1 warning > /<<PKGBUILDDIR>>/oauth2client/client.py:789: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > self.token_expiry = delta + _UTCNOW() > > tests/test_client.py: 1 warning > tests/contrib/test_flask_util.py: 2 warnings > tests/contrib/test_gce.py: 3 warnings > tests/contrib/test_multiprocess_file_storage.py: 9 warnings > /<<PKGBUILDDIR>>/oauth2client/client.py:647: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > now = _UTCNOW() > > tests/test_client.py::BasicCredentialsTests::test_unicode_header_checks > /<<PKGBUILDDIR>>/tests/test_client.py:991: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > token_expiry = str(datetime.datetime.utcnow()) > > tests/test_client.py: 8 warnings > tests/contrib/test_flask_util.py: 3 warnings > /<<PKGBUILDDIR>>/oauth2client/client.py:2066: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > token_expiry = delta + _UTCNOW() > > tests/test_crypt.py: 2 warnings > tests/test_jwt.py: 13 warnings > tests/test_service_account.py: 4 warnings > /<<PKGBUILDDIR>>/oauth2client/_openssl_crypt.py:119: DeprecationWarning: > PKCS#12 support in pyOpenSSL is deprecated. You should use the APIs in > cryptography. > pkey = crypto.load_pkcs12(key, password).get_privatekey() > > tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds > tests/test_crypt.py::Test_pkcs12_key_as_pem::test_succeeds_with_unicode_password > /<<PKGBUILDDIR>>/oauth2client/_openssl_crypt.py:134: DeprecationWarning: > PKCS#12 support in pyOpenSSL is deprecated. You should use the APIs in > cryptography. > pkcs12 = crypto.load_pkcs12(private_key_bytes, private_key_password) > > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_handles_ignores_extra_fields > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_no_refresh_token > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_refuses_to_save_to_well_known_file > /<<PKGBUILDDIR>>/oauth2client/contrib/devshell.py:132: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > self.token_expiry = client._UTCNOW() + delta > > tests/contrib/test_flask_util.py: 185 warnings > /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:726: > DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; > use ast.Constant instead > parts = parts or [ast.Str("")] > > tests/contrib/test_flask_util.py: 430 warnings > /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:723: > DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; > use ast.Constant instead > _convert(elem) if is_dynamic else ast.Str(s=elem) > > tests/contrib/test_flask_util.py: 430 warnings > /usr/lib/python3.12/ast.py:587: DeprecationWarning: Attribute s is > deprecated and will be removed in Python 3.14; use value instead > return Constant(*args, **kwargs) > > tests/contrib/test_flask_util.py: 554 warnings > /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:730: > DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; > use ast.Constant instead > if isinstance(p, ast.Str) and isinstance(ret[-1], ast.Str): > > tests/contrib/test_flask_util.py: 492 warnings > /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:731: > DeprecationWarning: Attribute s is deprecated and will be removed in Python > 3.14; use value instead > ret[-1] = ast.Str(ret[-1].s + p.s) > > tests/contrib/test_flask_util.py: 246 warnings > /usr/lib/python3/dist-packages/werkzeug/routing/rules.py:731: > DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; > use ast.Constant instead > ret[-1] = ast.Str(ret[-1].s + p.s) > > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_bad_id_token > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_delete > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_refresh > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_required > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_credentials > tests/contrib/test_flask_util.py::FlaskOAuth2Tests::test_with_expired_credentials > /<<PKGBUILDDIR>>/tests/contrib/test_flask_util.py:62: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > datetime.datetime.utcnow() + datetime.timedelta(seconds=3600), > > tests/contrib/test_flask_util.py: 49 warnings > /<<PKGBUILDDIR>>/oauth2client/contrib/flask_util.py:437: > DeprecationWarning: '_app_ctx_stack' is deprecated and will be removed in > Flask 2.3. Use 'g' to store data, or 'app_ctx' to access the current context. > ctx = _app_ctx_stack.top > > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token > tests/contrib/test_gce.py::AppAssertionCredentialsTests::test_refresh_token > /<<PKGBUILDDIR>>/oauth2client/client.py:690: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > now = _UTCNOW() > > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_and_set_with_json_credentials_stored > /<<PKGBUILDDIR>>/tests/contrib/test_keyring_storage.py:124: > DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled > for removal in a future version. Use timezone-aware objects to represent > datetimes in UTC: datetime.datetime.now(datetime.UTC). > token_expiry = datetime.datetime.utcnow() > > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_basic_operations > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_multi_process_refresh > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_read_only_file_fail_lock > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_single_process_refresh > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__read_write_credentials_file > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__refresh_predicate > /<<PKGBUILDDIR>>/tests/contrib/test_multiprocess_file_storage.py:55: > DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled > for removal in a future version. Use timezone-aware objects to represent > datetimes in UTC: datetime.datetime.now(datetime.UTC). > datetime.datetime.utcnow() + datetime.timedelta(seconds=3600)) > > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageBehaviorTests::test_read_only_file_fail_lock > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test_acquire_lock_nonexistent_file > /<<PKGBUILDDIR>>/oauth2client/contrib/multiprocess_file_storage.py:234: > DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead > logger.warn( > > tests/contrib/test_multiprocess_file_storage.py::MultiprocessStorageUnitTests::test__refresh_predicate > /<<PKGBUILDDIR>>/tests/contrib/test_multiprocess_file_storage.py:329: > DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled > for removal in a future version. Use timezone-aware objects to represent > datetimes in UTC: datetime.datetime.now(datetime.UTC). > datetime.datetime.utcnow() - datetime.timedelta(seconds=3600))) > > tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_delete > tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_get > tests/contrib/test_sqlalchemy.py::TestSQLAlchemyStorage::test_put > /<<PKGBUILDDIR>>/tests/contrib/test_sqlalchemy.py:51: DeprecationWarning: > datetime.datetime.utcnow() is deprecated and scheduled for removal in a > future version. Use timezone-aware objects to represent datetimes in UTC: > datetime.datetime.now(datetime.UTC). > token_expiry=datetime.datetime.utcnow(), > > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html > =========================== short test summary info > ============================ > FAILED > tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_1 > FAILED > tests/test_client.py::GoogleCredentialsTests::test_from_stream_malformed_file_2 > FAILED > tests/test_client.py::GoogleCredentialsTests::test_from_stream_missing_file > FAILED > tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_1 > FAILED > tests/test_client.py::GoogleCredentialsTests::test_get_application_default_credential_from_malformed_file_2 > FAILED > tests/test_client.py::GoogleCredentialsTests::test_get_environment_variable_file_error > FAILED > tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_missing_fields > FAILED > tests/test_client.py::GoogleCredentialsTests::test_raise_exception_for_reading_json > FAILED > tests/test_client.py::OAuth2WebServerFlowTest::test_exchange_fails_if_no_code > FAILED > tests/test_client.py::OAuth2WebServerFlowTest::test_urlencoded_exchange_failure > FAILED > tests/test_client.py::FlowFromCachedClientsecrets::test_flow_from_clientsecrets_unknown_flow > FAILED > tests/test_clientsecrets.py::OAuth2CredentialsTests::test_load_by_filename_missing_file > FAILED > tests/test_file.py::OAuth2ClientFileTests::test_access_token_credentials > FAILED tests/test_file.py::OAuth2ClientFileTests::test_pickle_and_json_interop > FAILED > tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_good_store > FAILED > tests/test_file.py::OAuth2ClientFileTests::test_token_refresh_store_expired > FAILED > tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_401 > FAILED > tests/test_service_account.py::JWTAccessCredentialsTests::test_authorize_stale_token > FAILED tests/test_service_account.py::JWTAccessCredentialsTests::test_refresh > FAILED > tests/contrib/test_devshell.py::DevshellCredentialsTests::test_no_refresh_token > FAILED > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_and_set_with_json_credentials_stored > FAILED > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_malformed_json_credentials_stored > FAILED > tests/contrib/test_keyring_storage.py::KeyringStorageTests::test_get_with_no_credentials_stored > =========== 23 failed, 436 passed, 1 skipped, 2531 warnings in 6.45s > =========== > make[1]: *** [debian/rules:30: override_dh_auto_install] Error 1 The full build log is available from: http://qa-logs.debian.net/2023/12/12/python-oauth2client_4.1.3-5_unstable.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;users=lu...@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.