Mock Version: 5.6 Mock Version: 5.6 Mock Version: 5.6 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.spec'], chrootPath='/var/lib/mock/f42-build-53665542-6436008/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'f51775ae855a4241be20b39faade4f09', '-D', '/var/lib/mock/f42-build-53665542-6436008/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1721347200 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.17.0-6.fc42.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.spec'], chrootPath='/var/lib/mock/f42-build-53665542-6436008/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'bb4a54dd2e494a9084a537ec08e628eb', '-D', '/var/lib/mock/f42-build-53665542-6436008/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1721347200 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.5oWJO5 + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + test -d /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + /usr/bin/rm -rf /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.5wsXSk + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + rm -rf lexicon-3.17.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/lexicon-3.17.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd lexicon-3.17.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf dns-lexicon.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.JhcoU4 + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + cd lexicon-3.17.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.0.0 from build-system.requires Requirement not satisfied: poetry-core>=1.0.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.17.0-6.fc42.buildreqs.nosrc.rpm 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 --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.spec'], chrootPath='/var/lib/mock/f42-build-53665542-6436008/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '4656c66f10e5423091f292a7dae6177c', '-D', '/var/lib/mock/f42-build-53665542-6436008/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1721347200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.MECjvp + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + cd lexicon-3.17.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement not satisfied: tox-current-env >= 0.0.6 Exiting dependency generation pass: tox itself + cat /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.17.0-6.fc42.buildreqs.nosrc.rpm 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 --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.spec'], chrootPath='/var/lib/mock/f42-build-53665542-6436008/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '253a4a0f7aa04d9fb62b7b9dda22c3b4', '-D', '/var/lib/mock/f42-build-53665542-6436008/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1721347200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.cryZsc + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + cd lexicon-3.17.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.12) light: OK (0.01 seconds) congratulations :) (0.09 seconds) Handling tox from tox --print-deps-only: light Requirement satisfied: tox (installed: tox 4.16.0) Handling beautifulsoup4 (>=4) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: beautifulsoup4 (>=4) Handling boto3 (>=1.28) ; extra == "route53" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: boto3 (>=1.28) ; extra == "route53" or extra == "full" Handling cryptography (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: cryptography (>=2) Handling dnspython (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: dnspython (>=2) Handling importlib-metadata (>=4.6) ; python_version < "3.10" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: importlib-metadata (>=4.6) ; python_version < "3.10" Handling localzone (>=0.9.8) ; extra == "localzone" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: localzone (>=0.9.8) ; extra == "localzone" or extra == "full" Handling oci (>=2) ; extra == "oci" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: oci (>=2) ; extra == "oci" or extra == "full" Handling pyotp (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: pyotp (>=2) Handling pyyaml (>=3) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyyaml (>=3) (installed: pyyaml 6.0.1) Handling requests (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: requests (>=2) Handling softlayer (>=5) ; extra == "softlayer" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: softlayer (>=5) ; extra == "softlayer" or extra == "full" Handling tldextract (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: tldextract (>=2) Handling zeep (>=3) ; extra == "gransy" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement not satisfied: zeep (>=3) ; extra == "gransy" or extra == "full" + cat /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires + rm -rfv dns_lexicon-3.17.0.dist-info/ removed 'dns_lexicon-3.17.0.dist-info/entry_points.txt' removed 'dns_lexicon-3.17.0.dist-info/WHEEL' removed 'dns_lexicon-3.17.0.dist-info/METADATA' removed 'dns_lexicon-3.17.0.dist-info/LICENSE' removed directory 'dns_lexicon-3.17.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.17.0-6.fc42.buildreqs.nosrc.rpm 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 --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.spec'], chrootPath='/var/lib/mock/f42-build-53665542-6436008/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '83e5c7ee6d53464fa07aa33e58085bdf', '-D', '/var/lib/mock/f42-build-53665542-6436008/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-dns-lexicon.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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1721347200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.8KR5rh + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + cd lexicon-3.17.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.12) light: OK (0.01 seconds) congratulations :) (0.08 seconds) Handling tox from tox --print-deps-only: light Requirement satisfied: tox (installed: tox 4.16.0) Handling beautifulsoup4 (>=4) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: beautifulsoup4 (>=4) (installed: beautifulsoup4 4.12.3) Handling boto3 (>=1.28) ; extra == "route53" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: boto3 (>=1.28) ; extra == "route53" or extra == "full" (installed: boto3 1.35.19) Handling cryptography (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: cryptography (>=2) (installed: cryptography 43.0.0) Handling dnspython (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: dnspython (>=2) (installed: dnspython 2.6.1) Handling importlib-metadata (>=4.6) ; python_version < "3.10" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: importlib-metadata (>=4.6) ; python_version < "3.10" Handling localzone (>=0.9.8) ; extra == "localzone" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: localzone (>=0.9.8) ; extra == "localzone" or extra == "full" (installed: localzone 0.9.8) Handling oci (>=2) ; extra == "oci" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: oci (>=2) ; extra == "oci" or extra == "full" (installed: oci 2.133.0) Handling pyotp (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyotp (>=2) (installed: pyotp 2.9.0) Handling pyyaml (>=3) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyyaml (>=3) (installed: pyyaml 6.0.1) Handling requests (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: requests (>=2) (installed: requests 2.32.3) Handling softlayer (>=5) ; extra == "softlayer" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: softlayer (>=5) ; extra == "softlayer" or extra == "full" Handling tldextract (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: tldextract (>=2) (installed: tldextract 5.1.2) Handling zeep (>=3) ; extra == "gransy" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: zeep (>=3) ; extra == "gransy" or extra == "full" (installed: zeep 4.2.1) + cat /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires + rm -rfv dns_lexicon-3.17.0.dist-info/ removed 'dns_lexicon-3.17.0.dist-info/entry_points.txt' removed 'dns_lexicon-3.17.0.dist-info/WHEEL' removed 'dns_lexicon-3.17.0.dist-info/METADATA' removed 'dns_lexicon-3.17.0.dist-info/LICENSE' removed directory 'dns_lexicon-3.17.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dns-lexicon-3.17.0-6.fc42.buildreqs.nosrc.rpm 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 /builddir/build/SPECS/python-dns-lexicon.spec'], chrootPath='/var/lib/mock/f42-build-53665542-6436008/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '152d5a1f4c17436ba0cd445a640588b2', '-D', '/var/lib/mock/f42-build-53665542-6436008/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/python-dns-lexicon.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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1721347200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.DIYFmj + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + cd lexicon-3.17.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + RPM_TOXENV=light + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir --output /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires -r -t -e light -x gransy,localzone,oci,route53 Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling tox-current-env >= 0.0.6 from tox itself Requirement satisfied: tox-current-env >= 0.0.6 (installed: tox-current-env 0.0.12) light: OK (0.01 seconds) congratulations :) (0.08 seconds) Handling tox from tox --print-deps-only: light Requirement satisfied: tox (installed: tox 4.16.0) Handling beautifulsoup4 (>=4) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: beautifulsoup4 (>=4) (installed: beautifulsoup4 4.12.3) Handling boto3 (>=1.28) ; extra == "route53" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: boto3 (>=1.28) ; extra == "route53" or extra == "full" (installed: boto3 1.35.19) Handling cryptography (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: cryptography (>=2) (installed: cryptography 43.0.0) Handling dnspython (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: dnspython (>=2) (installed: dnspython 2.6.1) Handling importlib-metadata (>=4.6) ; python_version < "3.10" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: importlib-metadata (>=4.6) ; python_version < "3.10" Handling localzone (>=0.9.8) ; extra == "localzone" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: localzone (>=0.9.8) ; extra == "localzone" or extra == "full" (installed: localzone 0.9.8) Handling oci (>=2) ; extra == "oci" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: oci (>=2) ; extra == "oci" or extra == "full" (installed: oci 2.133.0) Handling pyotp (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyotp (>=2) (installed: pyotp 2.9.0) Handling pyyaml (>=3) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: pyyaml (>=3) (installed: pyyaml 6.0.1) Handling requests (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: requests (>=2) (installed: requests 2.32.3) Handling softlayer (>=5) ; extra == "softlayer" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Ignoring alien requirement: softlayer (>=5) ; extra == "softlayer" or extra == "full" Handling tldextract (>=2) from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: tldextract (>=2) (installed: tldextract 5.1.2) Handling zeep (>=3) ; extra == "gransy" or extra == "full" from hook generated metadata: Requires-Dist (dns-lexicon) Requirement satisfied: zeep (>=3) ; extra == "gransy" or extra == "full" (installed: zeep 4.2.1) + cat /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-buildrequires + rm -rfv dns_lexicon-3.17.0.dist-info/ removed 'dns_lexicon-3.17.0.dist-info/entry_points.txt' removed 'dns_lexicon-3.17.0.dist-info/WHEEL' removed 'dns_lexicon-3.17.0.dist-info/METADATA' removed 'dns_lexicon-3.17.0.dist-info/LICENSE' removed directory 'dns_lexicon-3.17.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.HiWfa7 + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 lexicon-3.17.0 + sed -i 1d src/lexicon/_private/cli.py + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir Processing /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: dns-lexicon Building wheel for dns-lexicon (pyproject.toml): started Running command Building wheel for dns-lexicon (pyproject.toml) Building wheel for dns-lexicon (pyproject.toml): finished with status 'done' Created wheel for dns-lexicon: filename=dns_lexicon-3.17.0-py3-none-any.whl size=242538 sha256=29ebf0a40922bb6bad7e97bfd1153ad11751447f35714a136319050a3a2f25fb Stored in directory: /builddir/.cache/pip/wheels/c2/fc/8d/7e9a1970e2603d681349acfea2000a4c1925dddde6225fc528 Successfully built dns-lexicon + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.85KYAH + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + '[' /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + mkdir /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 lexicon-3.17.0 ++ ls /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir/dns_lexicon-3.17.0-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=dns_lexicon==3.17.0 + '[' -z dns_lexicon==3.17.0 ']' + TMPDIR=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT --prefix /usr --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/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir dns_lexicon==3.17.0 Using pip 24.2 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/pyproject-wheeldir Processing ./pyproject-wheeldir/dns_lexicon-3.17.0-py3-none-any.whl Installing collected packages: dns_lexicon Creating /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/bin/lexicon to 755 Successfully installed dns_lexicon-3.17.0 + '[' -d /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/bin/lexicon /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/bin/lexicon: updating + rm -rfv /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/dns_lexicon-3.17.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.17.0.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT --record /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.17.0.dist-info/RECORD --output /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-record + rm -fv /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.17.0.dist-info/RECORD removed '/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.17.0.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.17.0.dist-info/REQUESTED removed '/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/dns_lexicon-3.17.0.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/python-dns-lexicon-3.17.0-6.fc42.noarch-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + install -pm 0755 /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT//usr/bin/lexicon /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT//usr/bin/lexicon-3.13 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT//usr/bin + ln -s lexicon-3.13 lexicon-3 + rm -rf /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/tests + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j8 Bytecompiling .py files below /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j8 /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/aurora.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ddns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/cloudns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/digitalocean.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/cloudxns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/auto.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/conoha.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/aliyun.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dinahosting.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/easydns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnsservices.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/directadmin.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnsimple.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/constellix.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/flexibleengine.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/godaddy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/easyname.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/henet.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dreamhost.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/azure.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/euserv.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/easyname.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/infoblox.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/azure.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/googleclouddns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/hetzner.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/cloudflare.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnsmadeeasy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/duckdns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gandi.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/exoscale.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/hostingde.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/infomaniak.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/internetbs.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnspark.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/luadns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dynu.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/hover.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/dnspod.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/joker.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/inwx.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gehirn.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/nfsn.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/namecheap.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gransy.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/njalla.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/memset.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/pointhq.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/glesys.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/onapp.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/gratisdns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/rage4.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/linode.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/misaka.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/rcodezero.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/online.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/namecom.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/porkbun.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/namesilo.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/nsone.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ovh.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/linode4.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/sakuracloud.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/netcup.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/mythicbeasts.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/oci.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/route53.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/powerdns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/localzone.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/plesk.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/softlayer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/plesk.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/safedns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/wedos.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/zilore.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/rackspace.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/valuedomain.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/transip.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/yandex.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/zonomi.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/valuedomain.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/vercel.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ultradns.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/yandexcloud.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/vultr.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/ultradns.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/zeit.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/providers/__pycache__/webgo.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/cli.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/discovery.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/providers/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/_private/__pycache__/parser.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/interfaces.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/client.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages/lexicon/__pycache__/config.cpython-313.pyc: rewriting with normalized contents Scanned 15 directories and 291 files, processed 99 inodes, 99 modified (10 replaced + 89 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.PSudQI + umask 022 + cd /builddir/build/BUILD/python-dns-lexicon-3.17.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-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 lexicon-3.17.0 + TEST_SELECTOR='not AutoProviderTests and not NamecheapProviderTests and not NamecheapManagedProviderTests and not Route53Provider and not AliyunProviderTests and not AuroraProviderTests and not Route53ProviderTests' + TEST_SELECTOR+=' and not SoftLayerProviderTests' + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + PATH=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=8 + /usr/bin/pytest -v -k 'not AutoProviderTests and not NamecheapProviderTests and not NamecheapManagedProviderTests and not Route53Provider and not AliyunProviderTests and not AuroraProviderTests and not Route53ProviderTests and not SoftLayerProviderTests' ============================= test session starts ============================== platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-dns-lexicon-3.17.0-build/lexicon-3.17.0 configfile: pyproject.toml plugins: vcr-1.0.2 collecting ... collected 2394 items / 193 deselected / 2201 selected tests/providers/test_azure.py::AzureTests::test_provider_authenticate PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 0%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 1%] tests/providers/test_azure.py::AzureTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_authenticate PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 1%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 2%] tests/providers/test_cloudflare.py::CloudflareProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_authenticate PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 2%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 3%] tests/providers/test_cloudns.py::CloudnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_authenticate PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 3%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 4%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 5%] tests/providers/test_cloudxns.py::CloudXNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_authenticate PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 5%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 6%] tests/providers/test_conoha.py::ConohaProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_authenticate PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 6%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 7%] tests/providers/test_constellix.py::ConstellixProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_authenticate SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set SKIPPED [ 7%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record SKIPPED [ 8%] tests/providers/test_ddns.py::DDNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_authenticate PASSED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 8%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 9%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 10%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 10%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 10%] tests/providers/test_digitalocean.py::DigitalOceanProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_authenticate PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 10%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 11%] tests/providers/test_dinahosting.py::DinahostingProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_authenticate PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 11%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 12%] tests/providers/test_directadmin.py::DirectAdminProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_authenticate PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 12%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 13%] tests/providers/test_dnsimple.py::DnsimpleProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 13%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_authenticate PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 14%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 15%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 15%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 15%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 15%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 15%] tests/providers/test_dnsmadeeasy.py::DnsmadeeasyProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_authenticate PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 15%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 16%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 16%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 16%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 16%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 16%] tests/providers/test_dnspark.py::DnsParkProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_authenticate PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 16%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 17%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 17%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 17%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 17%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 17%] tests/providers/test_dnspod.py::DnsPodProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_authenticate PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 17%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 18%] tests/providers/test_dnsservices.py::DNSservicesProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_id_to_dreamhost_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_id_to_record PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_identifier PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_authenticate PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 18%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 19%] tests/providers/test_dreamhost.py::DreamhostProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_duckdns_domain_logic PASSED [ 19%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_authenticate SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 20%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 21%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 21%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 21%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 21%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record SKIPPED [ 21%] tests/providers/test_duckdns.py::DuckdnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_authenticate PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 21%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 22%] tests/providers/test_dynu.py::DynuProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_authenticate PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 22%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 23%] tests/providers/test_easydns.py::EasyDnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_authenticate PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 23%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 24%] tests/providers/test_easyname.py::EasynameProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_authenticate PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 24%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 25%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 26%] tests/providers/test_euserv.py::EUservProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_authenticate PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 26%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 27%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 27%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 27%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 27%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 27%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 27%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 27%] tests/providers/test_exoscale.py::ExoscaleProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_authenticate PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 27%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record SKIPPED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record SKIPPED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record SKIPPED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 28%] tests/providers/test_flexibleengine.py::FlexibleEngineProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_authenticate PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 28%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRPCProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_authenticate PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 29%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 30%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 31%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 31%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 31%] tests/providers/test_gandi.py::GandiRESTProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_authenticate PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 31%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 32%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 32%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 32%] tests/providers/test_gehirn.py::GehirnProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_authenticate PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 32%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 33%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 33%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 33%] tests/providers/test_glesys.py::GlesysProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_authenticate PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 33%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 34%] tests/providers/test_godaddy.py::GoDaddyProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_authenticate PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 34%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 35%] tests/providers/test_googleclouddns.py::GoogleCloudDnsTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_authenticate PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 35%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 36%] tests/providers/test_gransy.py::GransyProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 36%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_authenticate PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 37%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 38%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 38%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 38%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 38%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 38%] tests/providers/test_gratisdns.py::GratisDNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_authenticate PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 38%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 39%] tests/providers/test_henet.py::HenetProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_authenticate PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 39%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 40%] tests/providers/test_hetzner.py::HetznerProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_authenticate PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 40%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 41%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 42%] tests/providers/test_hostingde.py::FooProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_authenticate PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 42%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 43%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 43%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 43%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 43%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 43%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 43%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 43%] tests/providers/test_hover.py::HoverProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_authenticate PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 43%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 44%] tests/providers/test_infoblox.py::InfobloxProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_authenticate PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 44%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 45%] tests/providers/test_infomaniak.py::InfomaniakProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_authenticate PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 45%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 46%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 47%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 47%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 47%] tests/providers/test_internetbs.py::InternetbsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_authenticate PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 47%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 48%] tests/providers/test_inwx.py::InwxProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_authenticate PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 48%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 49%] tests/providers/test_joker.py::JokerProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_authenticate PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 49%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 50%] tests/providers/test_linode.py::LinodeProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 50%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_authenticate PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 51%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 52%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 52%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 52%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 52%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 52%] tests/providers/test_linode4.py::Linode4ProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_authenticate SKIPPED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 52%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 53%] tests/providers/test_localzone.py::LocalzoneProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_authenticate PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 53%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 54%] tests/providers/test_luadns.py::LuaDNSProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_authenticate PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 54%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 55%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 56%] tests/providers/test_memset.py::MemsetProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_authenticate PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 56%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 57%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 57%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 57%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 57%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 57%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 57%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 57%] tests/providers/test_misaka.py::MisakaProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_authenticate PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 57%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 58%] tests/providers/test_mythicbeasts.py::MythicBeastsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_authenticate PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_authentication_method PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_MX_with_no_priority PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_MX_with_priority PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 58%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_should_fail_on_http_error PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_should_pass_if_no_record_to_delete PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_with_no_identifier_or_rtype_and_name_should_fail PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 59%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_by_identifier_with_no_other_args_should_pass PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_filter_by_content_should_pass PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_fail_if_multiple_records_to_update PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_fail_if_no_record_to_update PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 60%] tests/providers/test_namecom.py::NamecomProviderTests::test_provider_when_calling_update_record_with_no_identifier_or_rtype_and_name_should_fail PASSED [ 60%] tests/providers/test_namecom.py::test_subparser_configuration PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_authenticate PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 60%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 61%] tests/providers/test_namesilo.py::NameSiloProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_authenticate PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 61%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 62%] tests/providers/test_netcup.py::NetcupProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 62%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_authenticate PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 63%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 64%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 64%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 64%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 64%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 64%] tests/providers/test_nfsn.py::NFSNProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_authenticate PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop SKIPPED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 64%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 65%] tests/providers/test_njalla.py::NjallaProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_authenticate PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 65%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 66%] tests/providers/test_nsone.py::Ns1ProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_authenticate PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 66%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 67%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 68%] tests/providers/test_oci.py::OciProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_authenticate PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 68%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 69%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 69%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 69%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 69%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 69%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 69%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 69%] tests/providers/test_oci.py::OciInstancePrincipalProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_authenticate PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 69%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 70%] tests/providers/test_onapp.py::OnappProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_authenticate PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 70%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 71%] tests/providers/test_online.py::OnlineProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_authenticate PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 71%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 72%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 73%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 73%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 73%] tests/providers/test_ovh.py::OvhProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_authenticate PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 73%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 74%] tests/providers/test_plesk.py::PleskProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_authenticate PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 74%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 75%] tests/providers/test_pointhq.py::PointHqProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_authenticate PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 75%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 76%] tests/providers/test_porkbun.py::PorkbunProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 76%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_authenticate PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 77%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 78%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 78%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 78%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 78%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 78%] tests/providers/test_powerdns.py::PowerdnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_authenticate PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 78%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 79%] tests/providers/test_rackspace.py::RackspaceProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_authenticate PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 79%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 80%] tests/providers/test_rage4.py::Rage4ProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_authenticate PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 80%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 81%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 82%] tests/providers/test_rcodezero.py::RcodezeroProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_authenticate PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 82%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 83%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 83%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 83%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 83%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 83%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 83%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 83%] tests/providers/test_safedns.py::SafednsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_authenticate PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 83%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 84%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 84%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 84%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 84%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 84%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 84%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 84%] tests/providers/test_sakuracloud.py::SakruaCloudProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_authenticate PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 84%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 85%] tests/providers/test_transip.py::TransipProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_authenticate PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 85%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 86%] tests/providers/test_ultradns.py::UltradnsProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 86%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_authenticate SKIPPED [ 86%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail SKIPPED [ 86%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_after_setting_ttl SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_should_handle_record_sets SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all SKIPPED [ 87%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_should_modify_record SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record SKIPPED [ 88%] tests/providers/test_valuedomain.py::ValueDomainProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record SKIPPED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_authenticate PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 88%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 89%] tests/providers/test_vercel.py::VercelProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_authenticate PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 89%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 90%] tests/providers/test_vultr.py::VultrProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_authenticate PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 90%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 91%] tests/providers/test_webgo.py::WebgoProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 91%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_authenticate PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 92%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 93%] tests/providers/test_wedos.py::WedosProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_authenticate PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 93%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 94%] tests/providers/test_yandex.py::YandexPDDProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_authenticate PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 94%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 95%] tests/providers/test_yandexcloud.py::YandexCloudProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_authenticate PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 95%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_multiple_times_should_create_record_set PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_create_record_with_duplicate_records_should_be_noop PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_delete_record_with_record_set_name_remove_all PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_should_handle_record_sets PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_invalid_filter_should_be_empty_list PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified PASSED [ 96%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 97%] tests/providers/test_zilore.py::ZiloreProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_authenticate PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_authenticate_with_unmanaged_domain_should_fail PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_A_with_valid_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_CNAME_with_valid_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_TXT_with_fqdn_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_TXT_with_full_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_create_record_for_TXT_with_valid_name_and_content PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_filter_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_delete_record_by_identifier_should_remove_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_after_setting_ttl PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_should_return_empty_list_if_no_records_found SKIPPED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_arguments_should_filter_list SKIPPED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_fqdn_name_filter_should_return_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_full_name_filter_should_return_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_name_filter_should_return_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_list_records_with_no_arguments_should_list_all PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_should_modify_record PASSED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_should_modify_record_name_specified SKIPPED [ 97%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_with_fqdn_name_should_modify_record PASSED [ 98%] tests/providers/test_zonomi.py::ZonomiProviderTests::test_provider_when_calling_update_record_with_full_name_should_modify_record PASSED [ 98%] tests/test_client.py::test_client_basic_init FAILED [ 98%] tests/test_client.py::test_client_legacy_init FAILED [ 98%] tests/test_client.py::test_client_init_when_domain_includes_subdomain_should_strip FAILED [ 98%] tests/test_client.py::test_client_init_with_delegated_domain_name FAILED [ 98%] tests/test_client.py::test_client_init_with_delegated_domain_fqdn FAILED [ 98%] tests/test_client.py::test_client_init_with_same_delegated_domain_fqdn FAILED [ 98%] tests/test_client.py::test_client_init_when_missing_provider_should_fail PASSED [ 98%] tests/test_client.py::test_client_init_when_missing_action_should_fail FAILED [ 98%] tests/test_client.py::test_client_init_when_missing_domain_should_fail PASSED [ 98%] tests/test_client.py::test_client_init_when_missing_type_should_fail FAILED [ 98%] tests/test_client.py::test_client_parse_env_with_no_keys_should_do_nothing FAILED [ 98%] tests/test_client.py::test_client_parse_env_with_auth_keys FAILED [ 98%] tests/test_config.py::test_environment_resolution PASSED [ 98%] tests/test_config.py::test_argparse_resolution PASSED [ 98%] tests/test_config.py::test_dict_resolution PASSED [ 98%] tests/test_config.py::test_config_lexicon_file_resolution PASSED [ 98%] tests/test_config.py::test_provider_config_lexicon_file_resolution PASSED [ 98%] tests/test_config.py::test_provider_config_dir_resolution PASSED [ 98%] tests/test_config.py::test_generic_config_feeder_resolution PASSED [ 98%] tests/test_config.py::test_legacy_dict_config_resolution PASSED [ 98%] tests/test_config.py::test_prioritized_resolution PASSED [ 99%] tests/test_library.py::test_unknown_provider_raises_error_on_instantiation PASSED [ 99%] tests/test_library.py::test_missing_required_client_config_parameter_raises_error_on_instantiation PASSED [ 99%] tests/test_library.py::test_missing_required_client_config_parameter_raises_error_on_execute FAILED [ 99%] tests/test_library.py::test_missing_optional_client_config_parameter_does_not_raise_error_on_execute FAILED [ 99%] tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_execute FAILED [ 99%] tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_context_manager FAILED [ 99%] tests/test_output.py::test_output_function_outputs_json_as_table PASSED [ 99%] tests/test_output.py::test_output_function_outputs_json_as_table_with_no_header PASSED [ 99%] tests/test_output.py::test_output_function_outputs_json_as_json_string PASSED [ 99%] tests/test_output.py::test_output_function_output_nothing_when_quiet PASSED [ 99%] tests/test_output.py::test_output_function_outputs_nothing_with_not_a_json_serializable PASSED [ 99%] tests/test_parser.py::test_base_provider_parser PASSED [ 99%] tests/test_parser.py::test_base_provider_parser_without_domain PASSED [ 99%] tests/test_parser.py::test_base_provider_parser_without_options PASSED [ 99%] tests/test_parser.py::test_cli_main_parser PASSED [ 99%] tests/test_parser.py::test_cli_main_parser_without_args PASSED [100%] =================================== FAILURES =================================== ____________________________ test_client_basic_init ____________________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ___________________________ test_client_legacy_init ____________________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fff8a9f1630> mock_provider = None > ??? tests/test_client.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________ test_client_init_when_domain_includes_subdomain_should_strip _________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________________ test_client_init_with_delegated_domain_name __________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:66: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________________ test_client_init_with_delegated_domain_fqdn __________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _______________ test_client_init_with_same_delegated_domain_fqdn _______________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _______________ test_client_init_when_missing_action_should_fail _______________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: > ??? tests/test_client.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________________ test_client_init_when_missing_type_should_fail ________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: mock_provider = None > ??? tests/test_client.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____________ test_client_parse_env_with_no_keys_should_do_nothing _____________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fff8abada20> mock_provider = None > ??? tests/test_client.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____________________ test_client_parse_env_with_auth_keys _____________________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fff8ca54750> mock_provider = None > ??? tests/test_client.py:164: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_missing_required_client_config_parameter_raises_error_on_execute _____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: lexicon_client = mock_provider = None > ??? tests/test_library.py:61: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _ test_missing_optional_client_config_parameter_does_not_raise_error_on_execute _ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: lexicon_client = mock_provider = None > ??? tests/test_library.py:87: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _________ test_list_action_is_correctly_handled_by_provider_on_execute _________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff8a7dfe00> lexicon_client = mock_provider = None > ??? tests/test_library.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) _____ test_list_action_is_correctly_handled_by_provider_on_context_manager _____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff8a7574d0> lexicon_client = mock_provider = None > ??? tests/test_library.py:131: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_create_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff8a755d10> lexicon_client = mock_provider = None > ??? tests/test_library.py:154: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_create_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff8876d0f0> lexicon_client = mock_provider = None > ??? tests/test_library.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_update_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff8876d810> lexicon_client = mock_provider = None > ??? tests/test_library.py:204: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_update_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff88746c30> lexicon_client = mock_provider = None > ??? tests/test_library.py:233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ________ test_delete_action_is_correctly_handled_by_provider_on_execute ________ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff886dd9d0> lexicon_client = mock_provider = None > ??? tests/test_library.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) ____ test_delete_action_is_correctly_handled_by_provider_on_context_manager ____ self = func = namespace = 'publicsuffix.org-tlds' kwargs = {'cache': , 'cache_fetch_timeout': None, 'fallback_to_snapshot': True, 'session': None, ...} hashed_argnames = ['urls', 'fallback_to_snapshot'] def run_and_cache( self, func: Callable[..., T], namespace: str, kwargs: dict[str, Hashable], hashed_argnames: Iterable[str], ) -> T: """Get a url but cache the response.""" if not self.enabled: return func(**kwargs) key_args = {k: v for k, v in kwargs.items() if k in hashed_argnames} cache_filepath = self._key_to_cachefile_path(namespace, key_args) lock_path = cache_filepath + ".lock" try: _make_dir(cache_filepath) except OSError as ioe: global _DID_LOG_UNABLE_TO_CACHE if not _DID_LOG_UNABLE_TO_CACHE: LOG.warning( "unable to cache %s.%s in %s. This could refresh the " "Public Suffix List over HTTP every app startup. " "Construct your `TLDExtract` with a writable `cache_dir` or " "set `cache_dir=None` to silence this warning. %s", namespace, key_args, cache_filepath, ioe, ) _DID_LOG_UNABLE_TO_CACHE = True return func(**kwargs) with FileLock(lock_path, timeout=self.lock_timeout): try: > result = cast(T, self.get(namespace=namespace, key=key_args)) /usr/lib/python3.13/site-packages/tldextract/cache.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = namespace = 'publicsuffix.org-tlds' key = {'fallback_to_snapshot': True, 'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat')} def get(self, namespace: str, key: str | dict[str, Hashable]) -> object: """Retrieve a value from the disk cache.""" if not self.enabled: raise KeyError("Cache is disabled") cache_filepath = self._key_to_cachefile_path(namespace, key) if not os.path.isfile(cache_filepath): > raise KeyError("namespace: " + namespace + " key: " + repr(key)) E KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" /usr/lib/python3.13/site-packages/tldextract/cache.py:111: KeyError During handling of the above exception, another exception occurred: cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None, fallback_to_snapshot = True, session = None def _get_suffix_lists( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None, fallback_to_snapshot: bool, session: requests.Session | None = None, ) -> tuple[list[str], list[str]]: """Fetch, parse, and cache the suffix lists.""" try: > text = find_first_response( cache, urls, cache_fetch_timeout=cache_fetch_timeout, session=session ) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cache = urls = ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat') cache_fetch_timeout = None session = def find_first_response( cache: DiskCache, urls: Sequence[str], cache_fetch_timeout: float | int | None = None, session: requests.Session | None = None, ) -> str: """Decode the first successfully fetched URL, from UTF-8 encoding to Python unicode.""" session_created = False if session is None: session = requests.Session() session.mount("file://", FileAdapter()) session_created = True try: for url in urls: try: return cache.cached_fetch_url( session=session, url=url, timeout=cache_fetch_timeout ) except requests.exceptions.RequestException: LOG.exception("Exception reading Public Suffix List url %s", url) finally: # Ensure the session is always closed if it's constructed in the method if session_created: session.close() > raise SuffixListNotFound( "No remote Public Suffix List found. Consider using a mirror, or avoid this" " fetch by constructing your TLDExtract with `suffix_list_urls=()`." ) E tldextract.suffix_list.SuffixListNotFound: No remote Public Suffix List found. Consider using a mirror, or avoid this fetch by constructing your TLDExtract with `suffix_list_urls=()`. /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:56: SuffixListNotFound During handling of the above exception, another exception occurred: capsys = <_pytest.capture.CaptureFixture object at 0x7fff886decf0> lexicon_client = mock_provider = None > ??? tests/test_library.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/lexicon/client.py:121: in __init__ domain_parts = domain_extractor(domain) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:227: in __call__ return self.extract_str(url, include_psl_private_domains, session=session) /usr/lib/python3.13/site-packages/tldextract/tldextract.py:256: in extract_str return self._extract_netloc( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:307: in _extract_netloc suffix_index, is_private = self._get_tld_extractor( /usr/lib/python3.13/site-packages/tldextract/tldextract.py:355: in _get_tld_extractor public_tlds, private_tlds = get_suffix_lists( /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:81: in get_suffix_lists return cache.run_and_cache( /usr/lib/python3.13/site-packages/tldextract/cache.py:211: in run_and_cache result = func(**kwargs) /usr/lib/python3.13/site-packages/tldextract/suffix_list.py:109: in _get_suffix_lists maybe_pkg_data = pkgutil.get_data("tldextract", ".tld_set_snapshot") /usr/lib64/python3.13/pkgutil.py:453: in get_data return loader.get_data(resource_name) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_frozen_importlib_external.SourceFileLoader object at 0x7fff8c6d1a30> path = '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' > ??? E FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/python3.13/site-packages/tldextract/.tld_set_snapshot' :1213: FileNotFoundError ------------------------------ Captured log call ------------------------------- ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://publicsuffix.org/list/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://publicsuffix.org/list/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='publicsuffix.org', port=443): Max retries exceeded with url: /list/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'publicsuffix.org' ([Errno -3] Temporary failure in name resolution)")) ERROR tldextract:suffix_list.py:50 Exception reading Public Suffix List url https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: publicsuffix.org-tlds key: {'urls': ('https://publicsuffix.org/list/public_suffix_list.dat', 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'), 'fallback_to_snapshot': True}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 209, in run_and_cache result = cast(T, self.get(namespace=namespace, key=key_args)) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 111, in get raise KeyError("namespace: " + namespace + " key: " + repr(key)) KeyError: "namespace: urls key: {'url': 'https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat'}" During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 199, in _new_conn sock = connection.create_connection( (self._dns_host, self.port), ...<2 lines>... socket_options=self.socket_options, ) File "/usr/lib/python3.13/site-packages/urllib3/util/connection.py", line 60, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/socket.py", line 975, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ socket.gaierror: [Errno -3] Temporary failure in name resolution The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 789, in urlopen response = self._make_request( conn, ...<10 lines>... **response_kw, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 490, in _make_request raise new_e File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 466, in _make_request self._validate_conn(conn) ~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn conn.connect() ~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 693, in connect self.sock = sock = self._new_conn() ~~~~~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/urllib3/connection.py", line 206, in _new_conn raise NameResolutionError(self.host, self, e) from e urllib3.exceptions.NameResolutionError: : Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 668, in send resp = conn.urlopen( method=request.method, ...<9 lines>... chunked=chunked, ) File "/usr/lib/python3.13/site-packages/urllib3/connectionpool.py", line 843, in urlopen retries = retries.increment( method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2] ) File "/usr/lib/python3.13/site-packages/urllib3/util/retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/tldextract/suffix_list.py", line 46, in find_first_response return cache.cached_fetch_url( ~~~~~~~~~~~~~~~~~~~~~~^ session=session, url=url, timeout=cache_fetch_timeout ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 220, in cached_fetch_url return self.run_and_cache( ~~~~~~~~~~~~~~~~~~^ func=_fetch_url, ^^^^^^^^^^^^^^^^ ...<2 lines>... hashed_argnames=["url"], ^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 211, in run_and_cache result = func(**kwargs) File "/usr/lib/python3.13/site-packages/tldextract/cache.py", line 229, in _fetch_url response = session.get(url, timeout=timeout) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 602, in get return self.request("GET", url, **kwargs) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) File "/usr/lib/python3.13/site-packages/requests/sessions.py", line 703, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.13/site-packages/requests/adapters.py", line 701, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /publicsuffix/list/master/public_suffix_list.dat (Caused by NameResolutionError(": Failed to resolve 'raw.githubusercontent.com' ([Errno -3] Temporary failure in name resolution)")) =========================== short test summary info ============================ FAILED tests/test_client.py::test_client_basic_init - FileNotFoundError: [Err... FAILED tests/test_client.py::test_client_legacy_init - FileNotFoundError: [Er... FAILED tests/test_client.py::test_client_init_when_domain_includes_subdomain_should_strip FAILED tests/test_client.py::test_client_init_with_delegated_domain_name - Fi... FAILED tests/test_client.py::test_client_init_with_delegated_domain_fqdn - Fi... FAILED tests/test_client.py::test_client_init_with_same_delegated_domain_fqdn FAILED tests/test_client.py::test_client_init_when_missing_action_should_fail FAILED tests/test_client.py::test_client_init_when_missing_type_should_fail FAILED tests/test_client.py::test_client_parse_env_with_no_keys_should_do_nothing FAILED tests/test_client.py::test_client_parse_env_with_auth_keys - FileNotFo... FAILED tests/test_library.py::test_missing_required_client_config_parameter_raises_error_on_execute FAILED tests/test_library.py::test_missing_optional_client_config_parameter_does_not_raise_error_on_execute FAILED tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_list_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_create_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_update_action_is_correctly_handled_by_provider_on_context_manager FAILED tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_execute FAILED tests/test_library.py::test_delete_action_is_correctly_handled_by_provider_on_context_manager === 20 failed, 1921 passed, 260 skipped, 193 deselected in 107.16s (0:01:47) === RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.PSudQI (%check) Bad exit status from /var/tmp/rpm-tmp.PSudQI (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M 152d5a1f4c17436ba0cd445a640588b2 -D /var/lib/mock/f42-build-53665542-6436008/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin \'--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"\' \'--setenv=PS1= \\s-\\v\\$ \' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c \'/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/python-dns-lexicon.spec\'\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/mockbuild/util.py", line 612, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (cmd_pretty(command, env), output), child.returncode) mockbuild.exception.Error: Command failed: # /usr/bin/systemd-nspawn -q -M 152d5a1f4c17436ba0cd445a640588b2 -D /var/lib/mock/f42-build-53665542-6436008/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.e06g0oqq:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/python-dns-lexicon.spec'