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.

Reply via email to