Mock Version: 3.5 Mock Version: 3.5 Mock Version: 3.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'], chrootPath='/var/lib/mock/dist-an23-build-200296-60963/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=990gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674086400 Wrote: /builddir/build/SRPMS/python-jwt-2.6.0-1.an23.src.rpm RPM build warnings: Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'], chrootPath='/var/lib/mock/dist-an23-build-200296-60963/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=990gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674086400 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.36r3MU + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pyjwt-2.6.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/2.6.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pyjwt-2.6.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf PyJWT.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.sFeXNd + umask 022 + cd /builddir/build/BUILD + cd pyjwt-2.6.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py310 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/anolis/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 Import error: No module named 'toml' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-jwt-2.6.0-1.an23.buildreqs.nosrc.rpm RPM build warnings: Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'], chrootPath='/var/lib/mock/dist-an23-build-200296-60963/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=990gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674086400 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.tYjyAK + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pyjwt-2.6.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/2.6.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pyjwt-2.6.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf PyJWT.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.LUuHuS + umask 022 + cd /builddir/build/BUILD + cd pyjwt-2.6.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py310 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/anolis/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 60.9.3) warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no previously-included files matching '*.py[co]' found under directory '*' warning: no previously-included files matching '__pycache__' found under directory '*' HOOK STDOUT: running egg_info HOOK STDOUT: creating PyJWT.egg-info HOOK STDOUT: writing PyJWT.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to PyJWT.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to PyJWT.egg-info/requires.txt HOOK STDOUT: writing top-level names to PyJWT.egg-info/top_level.txt HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS.rst' HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement not satisfied: wheel Exiting dependency generation pass: get_requires_for_build_wheel + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-jwt-2.6.0-1.an23.buildreqs.nosrc.rpm RPM build warnings: Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'], chrootPath='/var/lib/mock/dist-an23-build-200296-60963/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=990gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674086400 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.XFusYd + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pyjwt-2.6.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/2.6.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pyjwt-2.6.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf PyJWT.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.VnNadb + umask 022 + cd /builddir/build/BUILD + cd pyjwt-2.6.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py310 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/anolis/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 60.9.3) warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no previously-included files matching '*.py[co]' found under directory '*' warning: no previously-included files matching '__pycache__' found under directory '*' HOOK STDOUT: running egg_info HOOK STDOUT: creating PyJWT.egg-info HOOK STDOUT: writing PyJWT.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to PyJWT.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to PyJWT.egg-info/requires.txt HOOK STDOUT: writing top-level names to PyJWT.egg-info/top_level.txt HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS.rst' HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.38.4) warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no previously-included files matching '*.py[co]' found under directory '*' warning: no previously-included files matching '__pycache__' found under directory '*' HOOK STDOUT: running dist_info HOOK STDOUT: writing PyJWT.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to PyJWT.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to PyJWT.egg-info/requires.txt HOOK STDOUT: writing top-level names to PyJWT.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS.rst' HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: creating '/builddir/build/BUILD/pyjwt-2.6.0/PyJWT.dist-info' Handling cryptography (>=3.4.0) ; extra == 'crypto' from wheel metadata: Requires-Dist Ignoring alien requirement: cryptography (>=3.4.0) ; extra == 'crypto' Handling sphinx (<5.0.0,>=4.5.0) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx (<5.0.0,>=4.5.0) ; extra == 'dev' Handling sphinx-rtd-theme ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx-rtd-theme ; extra == 'dev' Handling zope.interface ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: zope.interface ; extra == 'dev' Handling cryptography (>=3.4.0) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: cryptography (>=3.4.0) ; extra == 'dev' Handling pytest (<7.0.0,>=6.0.0) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: pytest (<7.0.0,>=6.0.0) ; extra == 'dev' Handling coverage[toml] (==5.0.4) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: coverage[toml] (==5.0.4) ; extra == 'dev' Handling pre-commit ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: pre-commit ; extra == 'dev' Handling sphinx (<5.0.0,>=4.5.0) ; extra == 'docs' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx (<5.0.0,>=4.5.0) ; extra == 'docs' Handling sphinx-rtd-theme ; extra == 'docs' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx-rtd-theme ; extra == 'docs' Handling zope.interface ; extra == 'docs' from wheel metadata: Requires-Dist Ignoring alien requirement: zope.interface ; extra == 'docs' Handling pytest (<7.0.0,>=6.0.0) ; extra == 'tests' from wheel metadata: Requires-Dist Ignoring alien requirement: pytest (<7.0.0,>=6.0.0) ; extra == 'tests' Handling coverage[toml] (==5.0.4) ; extra == 'tests' from wheel metadata: Requires-Dist Ignoring alien requirement: coverage[toml] (==5.0.4) ; extra == 'tests' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-jwt-2.6.0-1.an23.buildreqs.nosrc.rpm RPM build warnings: Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'], chrootPath='/var/lib/mock/dist-an23-build-200296-60963/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=990gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 25: %pypi_source warning: Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1674086400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.yvc1lc + umask 022 + cd /builddir/build/BUILD + cd pyjwt-2.6.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo 'python3dist(toml)' + rm -rfv PyJWT.dist-info/ removed 'PyJWT.dist-info/top_level.txt' removed 'PyJWT.dist-info/METADATA' removed 'PyJWT.dist-info/LICENSE' removed 'PyJWT.dist-info/AUTHORS.rst' removed directory 'PyJWT.dist-info/' + '[' -f /usr/bin/python3 ']' + RPM_TOXENV=py310 + HOSTNAME=rpmbuild + /usr/bin/python3 -s /usr/lib/rpm/anolis/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 Handling setuptools from build-system.requires Requirement satisfied: setuptools (installed: setuptools 60.9.3) warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no previously-included files matching '*.py[co]' found under directory '*' warning: no previously-included files matching '__pycache__' found under directory '*' HOOK STDOUT: running egg_info HOOK STDOUT: creating PyJWT.egg-info HOOK STDOUT: writing PyJWT.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to PyJWT.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to PyJWT.egg-info/requires.txt HOOK STDOUT: writing top-level names to PyJWT.egg-info/top_level.txt HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS.rst' HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.38.4) warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no previously-included files matching '*.py[co]' found under directory '*' warning: no previously-included files matching '__pycache__' found under directory '*' HOOK STDOUT: running dist_info HOOK STDOUT: writing PyJWT.egg-info/PKG-INFO HOOK STDOUT: writing dependency_links to PyJWT.egg-info/dependency_links.txt HOOK STDOUT: writing requirements to PyJWT.egg-info/requires.txt HOOK STDOUT: writing top-level names to PyJWT.egg-info/top_level.txt HOOK STDOUT: reading manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: reading manifest template 'MANIFEST.in' HOOK STDOUT: adding license file 'LICENSE' HOOK STDOUT: adding license file 'AUTHORS.rst' HOOK STDOUT: writing manifest file 'PyJWT.egg-info/SOURCES.txt' HOOK STDOUT: creating '/builddir/build/BUILD/pyjwt-2.6.0/PyJWT.dist-info' Handling cryptography (>=3.4.0) ; extra == 'crypto' from wheel metadata: Requires-Dist Ignoring alien requirement: cryptography (>=3.4.0) ; extra == 'crypto' Handling sphinx (<5.0.0,>=4.5.0) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx (<5.0.0,>=4.5.0) ; extra == 'dev' Handling sphinx-rtd-theme ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx-rtd-theme ; extra == 'dev' Handling zope.interface ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: zope.interface ; extra == 'dev' Handling cryptography (>=3.4.0) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: cryptography (>=3.4.0) ; extra == 'dev' Handling pytest (<7.0.0,>=6.0.0) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: pytest (<7.0.0,>=6.0.0) ; extra == 'dev' Handling coverage[toml] (==5.0.4) ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: coverage[toml] (==5.0.4) ; extra == 'dev' Handling pre-commit ; extra == 'dev' from wheel metadata: Requires-Dist Ignoring alien requirement: pre-commit ; extra == 'dev' Handling sphinx (<5.0.0,>=4.5.0) ; extra == 'docs' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx (<5.0.0,>=4.5.0) ; extra == 'docs' Handling sphinx-rtd-theme ; extra == 'docs' from wheel metadata: Requires-Dist Ignoring alien requirement: sphinx-rtd-theme ; extra == 'docs' Handling zope.interface ; extra == 'docs' from wheel metadata: Requires-Dist Ignoring alien requirement: zope.interface ; extra == 'docs' Handling pytest (<7.0.0,>=6.0.0) ; extra == 'tests' from wheel metadata: Requires-Dist Ignoring alien requirement: pytest (<7.0.0,>=6.0.0) ; extra == 'tests' Handling coverage[toml] (==5.0.4) ; extra == 'tests' from wheel metadata: Requires-Dist Ignoring alien requirement: coverage[toml] (==5.0.4) ; extra == 'tests' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.2eIbQk + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/anolis/anolis-hardened-ld -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd pyjwt-2.6.0 + mkdir -p /builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/anolis/anolis-hardened-ld -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir + /usr/bin/python3 -m pip wheel --wheel-dir /builddir/build/BUILD/pyjwt-2.6.0/pyproject-wheeldir --no-deps --use-pep517 --no-build-isolation --disable-pip-version-check --no-clean --progress-bar off --verbose . Processing /builddir/build/BUILD/pyjwt-2.6.0 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) running dist_info creating /builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info writing /builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info/dependency_links.txt writing requirements to /builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no previously-included files matching '*.py[co]' found under directory '*' warning: no previously-included files matching '__pycache__' found under directory '*' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file '/builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-modern-metadata-yzm8ic45/PyJWT.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: PyJWT Building wheel for PyJWT (pyproject.toml): started Running command Building wheel for PyJWT (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/jwt copying jwt/__init__.py -> build/lib/jwt copying jwt/algorithms.py -> build/lib/jwt copying jwt/api_jwk.py -> build/lib/jwt copying jwt/api_jws.py -> build/lib/jwt copying jwt/api_jwt.py -> build/lib/jwt copying jwt/exceptions.py -> build/lib/jwt copying jwt/help.py -> build/lib/jwt copying jwt/jwk_set_cache.py -> build/lib/jwt copying jwt/jwks_client.py -> build/lib/jwt copying jwt/utils.py -> build/lib/jwt copying jwt/warnings.py -> build/lib/jwt running egg_info creating PyJWT.egg-info writing PyJWT.egg-info/PKG-INFO writing dependency_links to PyJWT.egg-info/dependency_links.txt writing requirements to PyJWT.egg-info/requires.txt writing top-level names to PyJWT.egg-info/top_level.txt writing manifest file 'PyJWT.egg-info/SOURCES.txt' reading manifest file 'PyJWT.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files matching '*' found under directory 'docs/_build' warning: no previously-included files matching '*.py[co]' found under directory '*' warning: no previously-included files matching '__pycache__' found under directory '*' adding license file 'LICENSE' adding license file 'AUTHORS.rst' writing manifest file 'PyJWT.egg-info/SOURCES.txt' copying jwt/py.typed -> build/lib/jwt installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/__init__.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/algorithms.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/api_jwk.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/api_jws.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/api_jwt.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/exceptions.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/help.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/jwk_set_cache.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/jwks_client.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/utils.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/warnings.py -> build/bdist.linux-x86_64/wheel/jwt copying build/lib/jwt/py.typed -> build/bdist.linux-x86_64/wheel/jwt running install_egg_info Copying PyJWT.egg-info to build/bdist.linux-x86_64/wheel/PyJWT-2.6.0-py3.10.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/PyJWT-2.6.0.dist-info/WHEEL creating '/builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir/pip-wheel-grjdjjhv/tmpzu93bp_a/PyJWT-2.6.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'jwt/__init__.py' adding 'jwt/algorithms.py' adding 'jwt/api_jwk.py' adding 'jwt/api_jws.py' adding 'jwt/api_jwt.py' adding 'jwt/exceptions.py' adding 'jwt/help.py' adding 'jwt/jwk_set_cache.py' adding 'jwt/jwks_client.py' adding 'jwt/py.typed' adding 'jwt/utils.py' adding 'jwt/warnings.py' adding 'PyJWT-2.6.0.dist-info/AUTHORS.rst' adding 'PyJWT-2.6.0.dist-info/LICENSE' adding 'PyJWT-2.6.0.dist-info/METADATA' adding 'PyJWT-2.6.0.dist-info/WHEEL' adding 'PyJWT-2.6.0.dist-info/top_level.txt' adding 'PyJWT-2.6.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Building wheel for PyJWT (pyproject.toml): finished with status 'done' Created wheel for PyJWT: filename=PyJWT-2.6.0-py3-none-any.whl size=20345 sha256=be0ee34b5f3c9d787a2378fb925d6a71ff2ba60f4fb0b2fa53ae76d431acd17b Stored in directory: /builddir/.cache/pip/wheels/85/60/29/62921fa96d8f6a68bbe2d9b06bb5fc0aa244e533e9c7949807 Successfully built PyJWT + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.PGtsIk + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch ++ dirname /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/anolis/anolis-hardened-ld -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd pyjwt-2.6.0 ++ ls /builddir/build/BUILD/pyjwt-2.6.0/pyproject-wheeldir/PyJWT-2.6.0-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=PyJWT==2.6.0 + TMPDIR=/builddir/build/BUILD/pyjwt-2.6.0/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/pyjwt-2.6.0/pyproject-wheeldir PyJWT==2.6.0 Using pip 22.0.4 from /usr/lib/python3.10/site-packages/pip (python 3.10) Looking in links: /builddir/build/BUILD/pyjwt-2.6.0/pyproject-wheeldir Processing ./pyproject-wheeldir/PyJWT-2.6.0-py3-none-any.whl Installing collected packages: PyJWT Successfully installed PyJWT-2.6.0 + '[' -d /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/bin ']' + rm -f /builddir/build/BUILD/pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages ']' + site_dirs+=("/usr/lib/python3.10/site-packages") + '[' /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib64/python3.10/site-packages '!=' /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages ']' + '[' -d /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib64/python3.10/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.10/site-packages/PyJWT-2.6.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages/PyJWT-2.6.0.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/anolis + /usr/bin/python3 -B /usr/lib/rpm/anolis/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch --record /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages/PyJWT-2.6.0.dist-info/RECORD --output /builddir/build/BUILD/pyproject-record + rm -fv /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages/PyJWT-2.6.0.dist-info/RECORD removed '/builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages/PyJWT-2.6.0.dist-info/RECORD' + rm -fv /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages/PyJWT-2.6.0.dist-info/REQUESTED removed '/builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages/PyJWT-2.6.0.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + /usr/bin/find-debuginfo -j80 --strict-build-id -m -i --build-id-seed 2.6.0-1.an23 --unique-debug-suffix -2.6.0-1.an23.noarch --unique-debug-src-base python-jwt-2.6.0-1.an23.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/pyjwt-2.6.0 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/anolis/brp-ldconfig + COMPRESS='zstd -f --rm -19 -T0' + COMPRESS_EXT=.zst + /usr/lib/rpm/brp-compress + /usr/lib/rpm/anolis/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/anolis/brp-mangle-shebangs + /usr/lib/rpm/anolis/remove-info-dir + /usr/lib/rpm/anolis/relink_symlinks + /usr/lib/rpm/anolis/check-desktop-files + /usr/lib/rpm/anolis/brp-python-bytecompile '' 1 0 Bytecompiling .py files below /builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10 using python3.10 + /usr/lib/rpm/anolis/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.bv6OsL + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/anolis/anolis-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I/usr/lib/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/anolis/anolis-hardened-ld -specs=/usr/lib/rpm/anolis/anolis-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd pyjwt-2.6.0 + PYTHONPATH=/builddir/build/BUILDROOT/python-jwt-2.6.0-1.an23.noarch/usr/lib/python3.10/site-packages + py.test-3.10 --verbose tests ============================= test session starts ============================== platform linux -- Python 3.10.9, pytest-7.1.3, pluggy-1.0.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/pyjwt-2.6.0, configfile: tox.ini, testpaths: tests collecting ... collected 242 items tests/test_advisory.py::TestAdvisory::test_ghsa_ffqj_6fqr_9h24 PASSED [ 0%] tests/test_algorithms.py::TestAlgorithms::test_algorithm_should_throw_exception_if_prepare_key_not_impl PASSED [ 0%] tests/test_algorithms.py::TestAlgorithms::test_algorithm_should_throw_exception_if_sign_not_impl PASSED [ 1%] tests/test_algorithms.py::TestAlgorithms::test_algorithm_should_throw_exception_if_verify_not_impl PASSED [ 1%] tests/test_algorithms.py::TestAlgorithms::test_algorithm_should_throw_exception_if_to_jwk_not_impl PASSED [ 2%] tests/test_algorithms.py::TestAlgorithms::test_algorithm_should_throw_exception_if_from_jwk_not_impl PASSED [ 2%] tests/test_algorithms.py::TestAlgorithms::test_none_algorithm_should_throw_exception_if_key_is_not_none PASSED [ 2%] tests/test_algorithms.py::TestAlgorithms::test_hmac_should_reject_nonstring_key PASSED [ 3%] tests/test_algorithms.py::TestAlgorithms::test_hmac_should_accept_unicode_key PASSED [ 3%] tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem0] PASSED [ 4%] tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey2_rsa.pub.pem1] PASSED [ 4%] tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_pkcs1.pub.pem] PASSED [ 4%] tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.cer] PASSED [ 5%] tests/test_algorithms.py::TestAlgorithms::test_hmac_should_throw_exception[testkey_rsa.pub] PASSED [ 5%] tests/test_algorithms.py::TestAlgorithms::test_hmac_jwk_should_parse_and_verify PASSED [ 6%] tests/test_algorithms.py::TestAlgorithms::test_hmac_to_jwk_returns_correct_values PASSED [ 6%] tests/test_algorithms.py::TestAlgorithms::test_hmac_from_jwk_should_raise_exception_if_not_hmac_key PASSED [ 7%] tests/test_algorithms.py::TestAlgorithms::test_rsa_should_parse_pem_public_key PASSED [ 7%] tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_pem_private_key_bytes PASSED [ 7%] tests/test_algorithms.py::TestAlgorithms::test_rsa_should_accept_unicode_key PASSED [ 8%] tests/test_algorithms.py::TestAlgorithms::test_rsa_should_reject_non_string_key PASSED [ 8%] tests/test_algorithms.py::TestAlgorithms::test_rsa_verify_should_return_false_if_signature_invalid PASSED [ 9%] tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_public_and_private_keys_should_parse_and_verify PASSED [ 9%] tests/test_algorithms.py::TestAlgorithms::test_ec_jwk_fails_on_invalid_json PASSED [ 9%] tests/test_algorithms.py::TestAlgorithms::test_ec_private_key_to_jwk_works_with_from_jwk PASSED [ 10%] tests/test_algorithms.py::TestAlgorithms::test_ec_public_key_to_jwk_works_with_from_jwk PASSED [ 10%] tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_public_key PASSED [ 11%] tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_returns_correct_values_for_private_key PASSED [ 11%] tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_raises_exception_on_invalid_key PASSED [ 11%] tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_valid_curves PASSED [ 12%] tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_invalid_curve FAILED [ 12%] tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_public_and_private_keys_should_parse_and_verify PASSED [ 13%] tests/test_algorithms.py::TestAlgorithms::test_rsa_private_key_to_jwk_works_with_from_jwk PASSED [ 13%] tests/test_algorithms.py::TestAlgorithms::test_rsa_public_key_to_jwk_works_with_from_jwk PASSED [ 14%] tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_other_primes_is_invalid PASSED [ 14%] tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_values_is_invalid PASSED [ 14%] tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_can_recover_prime_factors PASSED [ 15%] tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_private_key_with_missing_required_values_is_invalid PASSED [ 15%] tests/test_algorithms.py::TestAlgorithms::test_rsa_jwk_raises_exception_if_not_a_valid_key PASSED [ 16%] tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_public_key PASSED [ 16%] tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_returns_correct_values_for_private_key PASSED [ 16%] tests/test_algorithms.py::TestAlgorithms::test_rsa_to_jwk_raises_exception_on_invalid_key PASSED [ 17%] tests/test_algorithms.py::TestAlgorithms::test_rsa_from_jwk_raises_exception_on_invalid_key PASSED [ 17%] tests/test_algorithms.py::TestAlgorithms::test_ec_should_reject_non_string_key PASSED [ 18%] tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_pem_private_key_bytes PASSED [ 18%] tests/test_algorithms.py::TestAlgorithms::test_ec_should_accept_ssh_public_key_bytes PASSED [ 19%] tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_invalid PASSED [ 19%] tests/test_algorithms.py::TestAlgorithms::test_ec_verify_should_return_false_if_signature_wrong_length PASSED [ 19%] tests/test_algorithms.py::TestAlgorithms::test_ec_should_throw_exception_on_wrong_key PASSED [ 20%] tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_sign_then_verify_should_return_true PASSED [ 20%] tests/test_algorithms.py::TestAlgorithms::test_rsa_pss_verify_should_return_false_if_signature_invalid PASSED [ 21%] tests/test_algorithms.py::TestAlgorithmsRFC7520::test_hmac_verify_should_return_true_for_test_vector PASSED [ 21%] tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsa_verify_should_return_true_for_test_vector PASSED [ 21%] tests/test_algorithms.py::TestAlgorithmsRFC7520::test_rsapss_verify_should_return_true_for_test_vector PASSED [ 22%] tests/test_algorithms.py::TestAlgorithmsRFC7520::test_ec_verify_should_return_true_for_test_vector PASSED [ 22%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_should_reject_non_string_key PASSED [ 23%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_should_accept_unicode_key PASSED [ 23%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_sign_should_generate_correct_signature_value PASSED [ 23%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_false_if_signature_invalid PASSED [ 24%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_verify_should_return_true_if_signature_valid PASSED [ 24%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_prepare_key_should_be_idempotent PASSED [ 25%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify PASSED [ 25%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED [ 26%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_public_key_should_parse_and_verify PASSED [ 26%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_jwk_fails_on_invalid_json PASSED [ 26%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed25519_to_jwk_works_with_from_jwk PASSED [ 27%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_to_jwk_raises_exception_on_invalid_key PASSED [ 27%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify PASSED [ 28%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_private_key_should_parse_and_verify_with_private_key_as_is PASSED [ 28%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_public_key_should_parse_and_verify PASSED [ 28%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_jwk_fails_on_invalid_json PASSED [ 29%] tests/test_algorithms.py::TestOKPAlgorithms::test_okp_ed448_to_jwk_works_with_from_jwk PASSED [ 29%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_dict PASSED [ 30%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_jwk_data_json_string PASSED [ 30%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_without_alg_from_dict PASSED [ 30%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_from_dict_with_algorithm PASSED [ 31%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p256_from_dict PASSED [ 31%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p384_from_dict PASSED [ 32%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_p521_from_dict PASSED [ 32%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_ec_secp256k1_from_dict PASSED [ 33%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_from_dict PASSED [ 33%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_hmac_without_alg_from_dict PASSED [ 33%] tests/test_api_jwk.py::TestPyJWK::test_should_load_key_okp_without_alg_from_dict PASSED [ 34%] tests/test_api_jwk.py::TestPyJWK::test_from_dict_should_throw_exception_if_arg_is_invalid PASSED [ 34%] tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_dict PASSED [ 35%] tests/test_api_jwk.py::TestPyJWKSet::test_should_load_keys_from_jwk_data_json_string PASSED [ 35%] tests/test_api_jwk.py::TestPyJWKSet::test_keyset_should_index_by_kid PASSED [ 35%] tests/test_api_jwk.py::TestPyJWKSet::test_keyset_with_unknown_alg PASSED [ 36%] tests/test_api_jwk.py::TestPyJWKSet::test_invalid_keys_list PASSED [ 36%] tests/test_api_jwk.py::TestPyJWKSet::test_empty_keys_list PASSED [ 37%] tests/test_api_jws.py::TestJWS::test_register_algo_does_not_allow_duplicate_registration PASSED [ 37%] tests/test_api_jws.py::TestJWS::test_register_algo_rejects_non_algorithm_obj PASSED [ 38%] tests/test_api_jws.py::TestJWS::test_unregister_algo_removes_algorithm PASSED [ 38%] tests/test_api_jws.py::TestJWS::test_unregister_algo_throws_error_if_not_registered PASSED [ 38%] tests/test_api_jws.py::TestJWS::test_algo_parameter_removes_alg_from_algorithms_list PASSED [ 39%] tests/test_api_jws.py::TestJWS::test_override_options PASSED [ 39%] tests/test_api_jws.py::TestJWS::test_non_object_options_dont_persist PASSED [ 40%] tests/test_api_jws.py::TestJWS::test_options_must_be_dict PASSED [ 40%] tests/test_api_jws.py::TestJWS::test_encode_decode PASSED [ 40%] tests/test_api_jws.py::TestJWS::test_decode_fails_when_alg_is_not_on_method_algorithms_param PASSED [ 41%] tests/test_api_jws.py::TestJWS::test_decode_works_with_unicode_token PASSED [ 41%] tests/test_api_jws.py::TestJWS::test_decode_missing_segments_throws_exception PASSED [ 42%] tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_none PASSED [ 42%] tests/test_api_jws.py::TestJWS::test_decode_invalid_token_type_is_int PASSED [ 42%] tests/test_api_jws.py::TestJWS::test_decode_with_non_mapping_header_throws_exception PASSED [ 43%] tests/test_api_jws.py::TestJWS::test_encode_algorithm_param_should_be_case_sensitive PASSED [ 43%] tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_none PASSED [ 44%] tests/test_api_jws.py::TestJWS::test_encode_with_headers_alg_es256 PASSED [ 44%] tests/test_api_jws.py::TestJWS::test_encode_with_alg_hs256_and_headers_alg_es256 PASSED [ 45%] tests/test_api_jws.py::TestJWS::test_decode_algorithm_param_should_be_case_sensitive PASSED [ 45%] tests/test_api_jws.py::TestJWS::test_bad_secret PASSED [ 45%] tests/test_api_jws.py::TestJWS::test_decodes_valid_jws PASSED [ 46%] tests/test_api_jws.py::TestJWS::test_decodes_complete_valid_jws PASSED [ 46%] tests/test_api_jws.py::TestJWS::test_decodes_valid_es384_jws PASSED [ 47%] tests/test_api_jws.py::TestJWS::test_decodes_valid_rs384_jws PASSED [ 47%] tests/test_api_jws.py::TestJWS::test_load_verify_valid_jws PASSED [ 47%] tests/test_api_jws.py::TestJWS::test_allow_skip_verification PASSED [ 48%] tests/test_api_jws.py::TestJWS::test_decode_with_optional_algorithms PASSED [ 48%] tests/test_api_jws.py::TestJWS::test_decode_no_algorithms_verify_signature_false PASSED [ 49%] tests/test_api_jws.py::TestJWS::test_load_no_verification PASSED [ 49%] tests/test_api_jws.py::TestJWS::test_no_secret PASSED [ 50%] tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_secret PASSED [ 50%] tests/test_api_jws.py::TestJWS::test_verify_signature_with_no_algo_header_throws_exception PASSED [ 50%] tests/test_api_jws.py::TestJWS::test_invalid_crypto_alg PASSED [ 51%] tests/test_api_jws.py::TestJWS::test_missing_crypto_library_better_error_messages SKIPPED [ 51%] tests/test_api_jws.py::TestJWS::test_unicode_secret PASSED [ 52%] tests/test_api_jws.py::TestJWS::test_nonascii_secret PASSED [ 52%] tests/test_api_jws.py::TestJWS::test_bytes_secret PASSED [ 52%] tests/test_api_jws.py::TestJWS::test_decode_invalid_header_padding PASSED [ 53%] tests/test_api_jws.py::TestJWS::test_decode_invalid_header_string PASSED [ 53%] tests/test_api_jws.py::TestJWS::test_decode_invalid_payload_padding PASSED [ 54%] tests/test_api_jws.py::TestJWS::test_decode_invalid_crypto_padding PASSED [ 54%] tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_should_fail PASSED [ 54%] tests/test_api_jws.py::TestJWS::test_decode_with_algo_none_and_verify_false_should_pass PASSED [ 55%] tests/test_api_jws.py::TestJWS::test_get_unverified_header_returns_header_values PASSED [ 55%] tests/test_api_jws.py::TestJWS::test_get_unverified_header_fails_on_bad_header_types PASSED [ 56%] tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS256] PASSED [ 56%] tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS384] PASSED [ 57%] tests/test_api_jws.py::TestJWS::test_encode_decode_rsa_related_algorithms[RS512] PASSED [ 57%] tests/test_api_jws.py::TestJWS::test_rsa_related_algorithms PASSED [ 57%] tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256] PASSED [ 58%] tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES256K] PASSED [ 58%] tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES384] PASSED [ 59%] tests/test_api_jws.py::TestJWS::test_encode_decode_ecdsa_related_algorithms[ES512] PASSED [ 59%] tests/test_api_jws.py::TestJWS::test_ecdsa_related_algorithms PASSED [ 59%] tests/test_api_jws.py::TestJWS::test_skip_check_signature PASSED [ 60%] tests/test_api_jws.py::TestJWS::test_decode_options_must_be_dict PASSED [ 60%] tests/test_api_jws.py::TestJWS::test_custom_json_encoder PASSED [ 61%] tests/test_api_jws.py::TestJWS::test_encode_headers_parameter_adds_headers PASSED [ 61%] tests/test_api_jws.py::TestJWS::test_encode_with_typ PASSED [ 61%] tests/test_api_jws.py::TestJWS::test_encode_with_typ_empty_string PASSED [ 62%] tests/test_api_jws.py::TestJWS::test_encode_with_typ_none PASSED [ 62%] tests/test_api_jws.py::TestJWS::test_encode_with_typ_without_keywords PASSED [ 63%] tests/test_api_jws.py::TestJWS::test_encode_fails_on_invalid_kid_types PASSED [ 63%] tests/test_api_jws.py::TestJWS::test_encode_decode_with_detached_content PASSED [ 64%] tests/test_api_jws.py::TestJWS::test_encode_detached_content_with_b64_header PASSED [ 64%] tests/test_api_jws.py::TestJWS::test_decode_detached_content_without_proper_argument PASSED [ 64%] tests/test_api_jws.py::TestJWS::test_decode_warns_on_unsupported_kwarg PASSED [ 65%] tests/test_api_jws.py::TestJWS::test_decode_complete_warns_on_unuspported_kwarg PASSED [ 65%] tests/test_api_jwt.py::TestJWT::test_decodes_valid_jwt PASSED [ 66%] tests/test_api_jwt.py::TestJWT::test_decodes_complete_valid_jwt PASSED [ 66%] tests/test_api_jwt.py::TestJWT::test_load_verify_valid_jwt PASSED [ 66%] tests/test_api_jwt.py::TestJWT::test_decode_invalid_payload_string PASSED [ 67%] tests/test_api_jwt.py::TestJWT::test_decode_with_non_mapping_payload_throws_exception PASSED [ 67%] tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_audience_param_throws_exception PASSED [ 68%] tests/test_api_jwt.py::TestJWT::test_decode_with_nonlist_aud_claim_throws_exception PASSED [ 68%] tests/test_api_jwt.py::TestJWT::test_decode_with_invalid_aud_list_member_throws_exception PASSED [ 69%] tests/test_api_jwt.py::TestJWT::test_encode_bad_type PASSED [ 69%] tests/test_api_jwt.py::TestJWT::test_encode_with_typ PASSED [ 69%] tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_exp_is_not_int PASSED [ 70%] tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_not_int PASSED [ 70%] tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_iat_is_greater_than_now PASSED [ 71%] tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_nbf_is_not_int PASSED [ 71%] tests/test_api_jwt.py::TestJWT::test_decode_raises_exception_if_aud_is_none PASSED [ 71%] tests/test_api_jwt.py::TestJWT::test_encode_datetime PASSED [ 72%] tests/test_api_jwt.py::TestJWT::test_decodes_valid_es256_jwt PASSED [ 72%] tests/test_api_jwt.py::TestJWT::test_decodes_valid_rs384_jwt PASSED [ 73%] tests/test_api_jwt.py::TestJWT::test_decode_with_expiration PASSED [ 73%] tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore PASSED [ 73%] tests/test_api_jwt.py::TestJWT::test_decode_skip_expiration_verification PASSED [ 74%] tests/test_api_jwt.py::TestJWT::test_decode_skip_notbefore_verification PASSED [ 74%] tests/test_api_jwt.py::TestJWT::test_decode_with_expiration_with_leeway PASSED [ 75%] tests/test_api_jwt.py::TestJWT::test_decode_with_notbefore_with_leeway PASSED [ 75%] tests/test_api_jwt.py::TestJWT::test_check_audience_when_valid PASSED [ 76%] tests/test_api_jwt.py::TestJWT::test_check_audience_list_when_valid PASSED [ 76%] tests/test_api_jwt.py::TestJWT::test_check_audience_none_specified PASSED [ 76%] tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_list PASSED [ 77%] tests/test_api_jwt.py::TestJWT::test_check_audience_in_array_when_valid PASSED [ 77%] tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience PASSED [ 78%] tests/test_api_jwt.py::TestJWT::test_raise_exception_audience_as_bytes PASSED [ 78%] tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_audience_in_array PASSED [ 78%] tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_issuer PASSED [ 79%] tests/test_api_jwt.py::TestJWT::test_raise_exception_token_without_audience PASSED [ 79%] tests/test_api_jwt.py::TestJWT::test_raise_exception_token_with_aud_none_and_without_audience PASSED [ 80%] tests/test_api_jwt.py::TestJWT::test_check_issuer_when_valid PASSED [ 80%] tests/test_api_jwt.py::TestJWT::test_raise_exception_invalid_issuer PASSED [ 80%] tests/test_api_jwt.py::TestJWT::test_skip_check_audience PASSED [ 81%] tests/test_api_jwt.py::TestJWT::test_skip_check_exp PASSED [ 81%] tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_exp_required_but_not_present PASSED [ 82%] tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_iat_required_but_not_present PASSED [ 82%] tests/test_api_jwt.py::TestJWT::test_decode_should_raise_error_if_nbf_required_but_not_present PASSED [ 83%] tests/test_api_jwt.py::TestJWT::test_skip_check_signature PASSED [ 83%] tests/test_api_jwt.py::TestJWT::test_skip_check_iat PASSED [ 83%] tests/test_api_jwt.py::TestJWT::test_skip_check_nbf PASSED [ 84%] tests/test_api_jwt.py::TestJWT::test_custom_json_encoder PASSED [ 84%] tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option PASSED [ 85%] tests/test_api_jwt.py::TestJWT::test_decode_with_verify_exp_option_and_signature_off PASSED [ 85%] tests/test_api_jwt.py::TestJWT::test_decode_with_optional_algorithms PASSED [ 85%] tests/test_api_jwt.py::TestJWT::test_decode_no_algorithms_verify_signature_false PASSED [ 86%] tests/test_api_jwt.py::TestJWT::test_decode_legacy_verify_warning PASSED [ 86%] tests/test_api_jwt.py::TestJWT::test_decode_no_options_mutation PASSED [ 87%] tests/test_api_jwt.py::TestJWT::test_decode_warns_on_unsupported_kwarg PASSED [ 87%] tests/test_api_jwt.py::TestJWT::test_decode_complete_warns_on_unsupported_kwarg PASSED [ 88%] tests/test_exceptions.py::test_missing_required_claim_error_has_proper_str PASSED [ 88%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set PASSED [ 88%] tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys PASSED [ 89%] tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_if_no_use_provided PASSED [ 89%] tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_keys_raises_if_none_found PASSED [ 90%] tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key PASSED [ 90%] tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_caches_result PASSED [ 90%] tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_does_not_cache_opt_out PASSED [ 91%] tests/test_jwks_client.py::TestPyJWKClient::test_get_signing_key_from_jwt PASSED [ 91%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwk_set_caches_result PASSED [ 92%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_expired_result PASSED [ 92%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_cache_disabled PASSED [ 92%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_failed_request_should_clear_cache PASSED [ 93%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_refresh_cache PASSED [ 93%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_no_matching_kid_after_second_attempt PASSED [ 94%] tests/test_jwks_client.py::TestPyJWKClient::test_get_jwt_set_invalid_lifespan PASSED [ 94%] tests/test_jwt.py::test_encode_decode PASSED [ 95%] tests/test_utils.py::test_to_base64url_uint[0-AA] PASSED [ 95%] tests/test_utils.py::test_to_base64url_uint[1-AQ] PASSED [ 95%] tests/test_utils.py::test_to_base64url_uint[255-_w] PASSED [ 96%] tests/test_utils.py::test_to_base64url_uint[65537-AQAB] PASSED [ 96%] tests/test_utils.py::test_to_base64url_uint[123456789-B1vNFQ] PASSED [ 97%] tests/test_utils.py::test_to_base64url_uint[-1-] XFAIL [ 97%] tests/test_utils.py::test_from_base64url_uint[AA-0] PASSED [ 97%] tests/test_utils.py::test_from_base64url_uint[AQ-1] PASSED [ 98%] tests/test_utils.py::test_from_base64url_uint[_w-255] PASSED [ 98%] tests/test_utils.py::test_from_base64url_uint[AQAB-65537] PASSED [ 99%] tests/test_utils.py::test_from_base64url_uint[B1vNFQ-123456789] PASSED [ 99%] tests/test_utils.py::test_force_bytes_raises_error_on_invalid_object PASSED [100%] =================================== FAILURES =================================== _______________ TestAlgorithms.test_ec_to_jwk_with_invalid_curve _______________ self = key = b'-----BEGIN PRIVATE KEY-----\nMG8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEEVTBTAgEBBBiON6kYcPu8ZUDRTu8W\neXJ2FmX7e9yq0hahNAMyAARHecLjkXWDUJfZ4wiFH61JpmonCYH1GpinVlqw68Sf\nwtDHg2F6SifQEFC6VKj1ZXw=\n-----END PRIVATE KEY-----\n' def prepare_key(self, key): if isinstance(key, (EllipticCurvePrivateKey, EllipticCurvePublicKey)): return key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key.startswith(b"ecdsa-sha2-"): key = load_ssh_public_key(key) else: > key = load_pem_public_key(key) jwt/algorithms.py:411: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = b'-----BEGIN PRIVATE KEY-----\nMG8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEEVTBTAgEBBBiON6kYcPu8ZUDRTu8W\neXJ2FmX7e9yq0hahNAMyAARHecLjkXWDUJfZ4wiFH61JpmonCYH1GpinVlqw68Sf\nwtDHg2F6SifQEFC6VKj1ZXw=\n-----END PRIVATE KEY-----\n' backend = None def load_pem_public_key( data: bytes, backend: typing.Any = None ) -> PUBLIC_KEY_TYPES: from cryptography.hazmat.backends.openssl.backend import backend as ossl > return ossl.load_pem_public_key(data) /usr/lib64/python3.10/site-packages/cryptography/hazmat/primitives/serialization/base.py:30: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = data = b'-----BEGIN PRIVATE KEY-----\nMG8CAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQEEVTBTAgEBBBiON6kYcPu8ZUDRTu8W\neXJ2FmX7e9yq0hahNAMyAARHecLjkXWDUJfZ4wiFH61JpmonCYH1GpinVlqw68Sf\nwtDHg2F6SifQEFC6VKj1ZXw=\n-----END PRIVATE KEY-----\n' def load_pem_public_key(self, data: bytes) -> PUBLIC_KEY_TYPES: mem_bio = self._bytes_to_bio(data) # In OpenSSL 3.0.x the PEM_read_bio_PUBKEY function will invoke # the default password callback if you pass an encrypted private # key. This is very, very, very bad as the default callback can # trigger an interactive console prompt, which will hang the # Python process. We therefore provide our own callback to # catch this and error out properly. userdata = self._ffi.new("CRYPTOGRAPHY_PASSWORD_DATA *") evp_pkey = self._lib.PEM_read_bio_PUBKEY( mem_bio.bio, self._ffi.NULL, self._ffi.addressof( self._lib._original_lib, "Cryptography_pem_password_cb" ), userdata, ) if evp_pkey != self._ffi.NULL: evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) return self._evp_pkey_to_public_key(evp_pkey) else: # It's not a (RSA/DSA/ECDSA) subjectPublicKeyInfo, but we still # need to check to see if it is a pure PKCS1 RSA public key (not # embedded in a subjectPublicKeyInfo) self._consume_errors() res = self._lib.BIO_reset(mem_bio.bio) self.openssl_assert(res == 1) rsa_cdata = self._lib.PEM_read_bio_RSAPublicKey( mem_bio.bio, self._ffi.NULL, self._ffi.addressof( self._lib._original_lib, "Cryptography_pem_password_cb" ), userdata, ) if rsa_cdata != self._ffi.NULL: rsa_cdata = self._ffi.gc(rsa_cdata, self._lib.RSA_free) evp_pkey = self._rsa_cdata_to_evp_pkey(rsa_cdata) return _RSAPublicKey(self, rsa_cdata, evp_pkey) else: > self._handle_key_loading_error() /usr/lib64/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py:968: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _handle_key_loading_error(self) -> typing.NoReturn: errors = self._consume_errors() if not errors: raise ValueError( "Could not deserialize key data. The data may be in an " "incorrect format or it may be encrypted with an unsupported " "algorithm." ) elif ( errors[0]._lib_reason_match( self._lib.ERR_LIB_EVP, self._lib.EVP_R_BAD_DECRYPT ) or errors[0]._lib_reason_match( self._lib.ERR_LIB_PKCS12, self._lib.PKCS12_R_PKCS12_CIPHERFINAL_ERROR, ) or ( self._lib.Cryptography_HAS_PROVIDERS and errors[0]._lib_reason_match( self._lib.ERR_LIB_PROV, self._lib.PROV_R_BAD_DECRYPT, ) ) ): raise ValueError("Bad decrypt. Incorrect password?") elif any( error._lib_reason_match( self._lib.ERR_LIB_EVP, self._lib.EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM, ) for error in errors ): raise ValueError("Unsupported public key algorithm.") else: errors_with_text = binding._errors_with_text(errors) > raise ValueError( "Could not deserialize key data. The data may be in an " "incorrect format, it may be encrypted with an unsupported " "algorithm, or it may be an unsupported key type (e.g. EC " "curves with explicit parameters).", errors_with_text, ) E ValueError: ('Could not deserialize key data. The data may be in an incorrect format, it may be encrypted with an unsupported algorithm, or it may be an unsupported key type (e.g. EC curves with explicit parameters).', [_OpenSSLErrorWithText(code=75497580, lib=9, reason=108, reason_text=b'error:0480006C:PEM routines::no start line')]) /usr/lib64/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py:1248: ValueError During handling of the above exception, another exception occurred: self = @crypto_required def test_ec_to_jwk_with_invalid_curve(self): algo = ECAlgorithm(ECAlgorithm.SHA256) with open(key_path("testkey_ec_secp192r1.priv")) as keyfile: > priv_key = algo.prepare_key(keyfile.read()) tests/test_algorithms.py:331: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ jwt/algorithms.py:413: in prepare_key key = load_pem_private_key(key, password=None) /usr/lib64/python3.10/site-packages/cryptography/hazmat/primitives/serialization/base.py:22: in load_pem_private_key return ossl.load_pem_private_key(data, password) /usr/lib64/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py:921: in load_pem_private_key return self._load_key( /usr/lib64/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py:1189: in _load_key self._handle_key_loading_error() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _handle_key_loading_error(self) -> typing.NoReturn: errors = self._consume_errors() if not errors: raise ValueError( "Could not deserialize key data. The data may be in an " "incorrect format or it may be encrypted with an unsupported " "algorithm." ) elif ( errors[0]._lib_reason_match( self._lib.ERR_LIB_EVP, self._lib.EVP_R_BAD_DECRYPT ) or errors[0]._lib_reason_match( self._lib.ERR_LIB_PKCS12, self._lib.PKCS12_R_PKCS12_CIPHERFINAL_ERROR, ) or ( self._lib.Cryptography_HAS_PROVIDERS and errors[0]._lib_reason_match( self._lib.ERR_LIB_PROV, self._lib.PROV_R_BAD_DECRYPT, ) ) ): raise ValueError("Bad decrypt. Incorrect password?") elif any( error._lib_reason_match( self._lib.ERR_LIB_EVP, self._lib.EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM, ) for error in errors ): raise ValueError("Unsupported public key algorithm.") else: errors_with_text = binding._errors_with_text(errors) > raise ValueError( "Could not deserialize key data. The data may be in an " "incorrect format, it may be encrypted with an unsupported " "algorithm, or it may be an unsupported key type (e.g. EC " "curves with explicit parameters).", errors_with_text, ) E ValueError: ('Could not deserialize key data. The data may be in an incorrect format, it may be encrypted with an unsupported algorithm, or it may be an unsupported key type (e.g. EC curves with explicit parameters).', [_OpenSSLErrorWithText(code=503841036, lib=60, reason=524556, reason_text=b'error:1E08010C:DECODER routines::unsupported'), _OpenSSLErrorWithText(code=134217857, lib=16, reason=129, reason_text=b'error:08000081:elliptic curve routines::unknown group')]) /usr/lib64/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py:1248: ValueError =========================== short test summary info ============================ SKIPPED [1] tests/test_api_jws.py:388: Requires cryptography library not installed XFAIL tests/test_utils.py::test_to_base64url_uint[-1-] FAILED tests/test_algorithms.py::TestAlgorithms::test_ec_to_jwk_with_invalid_curve ============= 1 failed, 239 passed, 1 skipped, 1 xfailed in 5.30s ============== error: Bad exit status from /var/tmp/rpm-tmp.bv6OsL (%check) RPM build warnings: RPM build errors: Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 25: %pypi_source Macro expanded in comment on line 73: %{python3_sitelib}/%{eggname}-%{version}-py%{python3_version}.egg-info Bad exit status from /var/tmp/rpm-tmp.bv6OsL (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.6/site-packages/mockbuild/util.py", line 598, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-jwt.spec