Source: lexicon Version: 3.3.17-1 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20220212 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[1]: Entering directory '/<<PKGBUILDDIR>>' > pytest-3 lexicon/tests/ -k "not namecheap and not route53 and not subreg and > not transip and not plesk and not henet and not easyname and not localzone > and not auto and not hetzner and not gratisdns and not gransy" > ============================= test session starts > ============================== > platform linux -- Python 3.9.10, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 > rootdir: /<<PKGBUILDDIR>> > collected 1987 items / 380 deselected / 1607 selected > > lexicon/tests/test_client.py FFFFFF....FF [ > 0%] > lexicon/tests/test_config.py ......... [ > 1%] > lexicon/tests/test_library.py ..FFFFF [ > 1%] > lexicon/tests/test_output.py ..... [ > 2%] > lexicon/tests/test_parser.py ..... [ > 2%] > lexicon/tests/providers/test_aliyun.py ..................ss......... [ > 4%] > lexicon/tests/providers/test_aurora.py ..................ss......... [ > 5%] > lexicon/tests/providers/test_azure.py ..................ss......... [ > 7%] > lexicon/tests/providers/test_cloudflare.py ..................ss......s.. [ > 9%] > [ > 9%] > lexicon/tests/providers/test_cloudns.py ..................ss......... [ > 11%] > lexicon/tests/providers/test_cloudxns.py ..................ss......s.. [ > 13%] > lexicon/tests/providers/test_conoha.py ..................ss......... [ > 14%] > lexicon/tests/providers/test_constellix.py ..................ss......... [ > 16%] > [ > 16%] > lexicon/tests/providers/test_digitalocean.py ................s.ss......s [ > 18%] > .. [ > 18%] > lexicon/tests/providers/test_dinahosting.py ................s.ss........ [ > 20%] > . [ > 20%] > lexicon/tests/providers/test_directadmin.py ..................ss........ [ > 22%] > . [ > 22%] > lexicon/tests/providers/test_dnsimple.py ..................ss......... [ > 24%] > lexicon/tests/providers/test_dnsmadeeasy.py ..................ss......s. [ > 25%] > . [ > 25%] > lexicon/tests/providers/test_dnspark.py ........ss....ssssss..s...s.. [ > 27%] > lexicon/tests/providers/test_dnspod.py ........ss....ssssss..s...s.. [ > 29%] > lexicon/tests/providers/test_dreamhost.py ...................s.ss....... [ > 31%] > .. [ > 31%] > lexicon/tests/providers/test_easydns.py ........ss....ss.sss..s...s.. [ > 33%] > lexicon/tests/providers/test_euserv.py ..................ss......... [ > 35%] > lexicon/tests/providers/test_exoscale.py ..................ss......... [ > 36%] > lexicon/tests/providers/test_gandi.py ..................ss.............. [ > 38%] > .............ss......... [ > 40%] > lexicon/tests/providers/test_gehirn.py ........ss....ss.sss..s...... [ > 42%] > lexicon/tests/providers/test_glesys.py ........ss....ss.sss..s...s.. [ > 44%] > lexicon/tests/providers/test_godaddy.py ..................ss......... [ > 45%] > lexicon/tests/providers/test_googleclouddns.py ..................ss..... [ > 47%] > .... [ > 47%] > lexicon/tests/providers/test_hostingde.py ..................ss......... [ > 49%] > lexicon/tests/providers/test_hover.py ..................ss......... [ > 51%] > lexicon/tests/providers/test_infoblox.py ..................ss......... [ > 53%] > lexicon/tests/providers/test_internetbs.py ..................ss......... [ > 54%] > [ > 54%] > lexicon/tests/providers/test_inwx.py ..................ss......... [ > 56%] > lexicon/tests/providers/test_linode.py ................s.ss......... [ > 58%] > lexicon/tests/providers/test_linode4.py ................s.ss......... [ > 60%] > lexicon/tests/providers/test_luadns.py ....s.............ss......s.. [ > 62%] > lexicon/tests/providers/test_memset.py ..................ss......s.. [ > 63%] > lexicon/tests/providers/test_namesilo.py ..................ss......s.. [ > 65%] > lexicon/tests/providers/test_netcup.py ................s.ss......... [ > 67%] > lexicon/tests/providers/test_nfsn.py ..................ss......... [ > 69%] > lexicon/tests/providers/test_nsone.py ................s.ss......s.. [ > 71%] > lexicon/tests/providers/test_onapp.py ..................ss......... [ > 72%] > lexicon/tests/providers/test_online.py .............s....ss......... [ > 74%] > lexicon/tests/providers/test_ovh.py ..................ss......... [ > 76%] > lexicon/tests/providers/test_pointhq.py ................s.ss......s.. [ > 78%] > lexicon/tests/providers/test_powerdns.py ..................ss......s.. [ > 80%] > lexicon/tests/providers/test_rackspace.py ..................ss......... [ > 81%] > lexicon/tests/providers/test_rage4.py ..................ss.....ss.s [ > 83%] > lexicon/tests/providers/test_rcodezero.py ..................ss......... [ > 85%] > lexicon/tests/providers/test_safedns.py ....s...........s.ss......... [ > 87%] > lexicon/tests/providers/test_sakuracloud.py ........ss...sss.sss..s..... [ > 89%] > . [ > 89%] > lexicon/tests/providers/test_softlayer.py ........ss....ss.sss..s...... [ > 90%] > lexicon/tests/providers/test_vultr.py ........ss....ss.sss..s...s.. [ > 92%] > lexicon/tests/providers/test_yandex.py ..................ss......s.. [ > 94%] > lexicon/tests/providers/test_zeit.py ................s.ss......... [ > 96%] > lexicon/tests/providers/test_zilore.py ..................ss......... [ > 98%] > lexicon/tests/providers/test_zonomi.py ........ss....ss.sss..s...s.. > [100%] > > =================================== FAILURES > =================================== > ____________________________ test_client_basic_init > ____________________________ > > def test_client_basic_init(): > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'example.com', > 'type': 'TXT' > } > > client = lexicon.client.Client(ConfigResolver().with_dict(options)) > > lexicon/tests/test_client.py:25: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65bcbbe0> > config = <lexicon.config.ConfigResolver object at 0x7efd65bcbb50> > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > ___________________________ test_client_legacy_init > ____________________________ > > def test_client_legacy_init(): > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'example.com', > 'type': 'TXT' > } > > client = lexicon.client.Client(options) > > lexicon/tests/test_client.py:40: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65bec8b0> > config = {'action': 'list', 'domain': 'example.com', 'provider_name': > 'fakeprovider', 'type': 'TXT'} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _________ test_client_init_when_domain_includes_subdomain_should_strip > _________ > > def test_client_init_when_domain_includes_subdomain_should_strip(): > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'www.example.com', > 'type': 'TXT' > } > > client = lexicon.client.Client(options) > > lexicon/tests/test_client.py:55: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65baccd0> > config = {'action': 'list', 'domain': 'www.example.com', 'provider_name': > 'fakeprovider', 'type': 'TXT'} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _________________ test_client_init_with_delegated_domain_name > __________________ > > def test_client_init_with_delegated_domain_name(): > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'www.sub.example.com', > 'delegated': 'sub', > 'type': 'TXT' > } > > client = lexicon.client.Client(options) > > lexicon/tests/test_client.py:71: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65de7550> > config = {'action': 'list', 'delegated': 'sub', 'domain': > 'www.sub.example.com', 'provider_name': 'fakeprovider', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _________________ test_client_init_with_delegated_domain_fqdn > __________________ > > def test_client_init_with_delegated_domain_fqdn(): > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'www.sub.example.com', > 'delegated': 'sub.example.com', > 'type': 'TXT' > } > > client = lexicon.client.Client(options) > > lexicon/tests/test_client.py:87: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65b93af0> > config = {'action': 'list', 'delegated': 'sub.example.com', 'domain': > 'www.sub.example.com', 'provider_name': 'fakeprovider', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _______________ test_client_init_with_same_delegated_domain_fqdn > _______________ > > def test_client_init_with_same_delegated_domain_fqdn(): > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'www.example.com', > 'delegated': 'example.com', > 'type': 'TXT' > } > > client = lexicon.client.Client(options) > > lexicon/tests/test_client.py:103: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65dcd130> > config = {'action': 'list', 'delegated': 'example.com', 'domain': > 'www.example.com', 'provider_name': 'fakeprovider', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _____________ test_client_parse_env_with_no_keys_should_do_nothing > _____________ > > monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7efd65de6b80> > > def test_client_parse_env_with_no_keys_should_do_nothing(monkeypatch): > if os.environ.get('LEXICON_FAKEPROVIDER_TOKEN'): > monkeypatch.delenv('LEXICON_FAKEPROVIDER_TOKEN') > if os.environ.get('LEXICON_FAKEPROVIDER_USERNAME'): > monkeypatch.delenv('LEXICON_FAKEPROVIDER_USERNAME') > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'www.example.com', > 'type': 'TXT' > } > > client = lexicon.client.Client(options) > > lexicon/tests/test_client.py:162: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65de6610> > config = {'action': 'list', 'domain': 'www.example.com', 'provider_name': > 'fakeprovider', 'type': 'TXT'} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _____________________ test_client_parse_env_with_auth_keys > _____________________ > > monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7efd65ddb4f0> > > def test_client_parse_env_with_auth_keys(monkeypatch): > monkeypatch.setenv('LEXICON_FAKEPROVIDER_TOKEN', 'test-token') > monkeypatch.setenv('LEXICON_FAKEPROVIDER_USERNAME', > 'test-usern...@example.com') > options = { > 'provider_name': 'fakeprovider', > 'action': 'list', > 'domain': 'www.example.com', > 'type': 'TXT' > } > > client = lexicon.client.Client(options) > > lexicon/tests/test_client.py:182: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65c93610> > config = {'action': 'list', 'domain': 'www.example.com', 'provider_name': > 'fakeprovider', 'type': 'TXT'} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > ______ test_missing_optional_client_config_parameter_does_not_raise_error > ______ > > lexicon_client = <module 'lexicon.client' from > '/<<PKGBUILDDIR>>/lexicon/client.py'> > > def > test_missing_optional_client_config_parameter_does_not_raise_error(lexicon_client): > > lexicon_client.Client({'action': 'list', 'provider_name': > > 'fakeprovider', > 'domain': 'example.com', 'type': 'TXT', > 'no-name': 'fake', 'no-content': 'fake'}) > > lexicon/tests/test_library.py:126: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65af4550> > config = {'action': 'list', 'domain': 'example.com', 'no-content': 'fake', > 'no-name': 'fake', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > ______________ test_list_action_is_correctly_handled_by_provider > _______________ > > capsys = <_pytest.capture.CaptureFixture object at 0x7efd65ca6040> > lexicon_client = <module 'lexicon.client' from > '/<<PKGBUILDDIR>>/lexicon/client.py'> > > def test_list_action_is_correctly_handled_by_provider(capsys, > lexicon_client): > > client = lexicon_client.Client({'action': 'list', 'provider_name': > > 'fakeprovider', > 'domain': 'example.com', 'type': > 'TXT', > 'name': 'fake', 'content': > 'fake-content'}) > > lexicon/tests/test_library.py:132: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65a93550> > config = {'action': 'list', 'content': 'fake-content', 'domain': > 'example.com', 'name': 'fake', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _____________ test_create_action_is_correctly_handled_by_provider > ______________ > > capsys = <_pytest.capture.CaptureFixture object at 0x7efd65c94a60> > lexicon_client = <module 'lexicon.client' from > '/<<PKGBUILDDIR>>/lexicon/client.py'> > > def test_create_action_is_correctly_handled_by_provider(capsys, > lexicon_client): > > client = lexicon_client.Client({'action': 'create', 'provider_name': > > 'fakeprovider', > 'domain': 'example.com', 'type': > 'TXT', > 'name': 'fake', 'content': > 'fake-content'}) > > lexicon/tests/test_library.py:148: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65c94760> > config = {'action': 'create', 'content': 'fake-content', 'domain': > 'example.com', 'name': 'fake', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _____________ test_update_action_is_correctly_handled_by_provider > ______________ > > capsys = <_pytest.capture.CaptureFixture object at 0x7efd65c8ffa0> > lexicon_client = <module 'lexicon.client' from > '/<<PKGBUILDDIR>>/lexicon/client.py'> > > def test_update_action_is_correctly_handled_by_provider(capsys, > lexicon_client): > > client = lexicon_client.Client({'action': 'update', 'provider_name': > > 'fakeprovider', > 'domain': 'example.com', > 'identifier': 'fake-id', > 'type': 'TXT', 'name': 'fake', > 'content': 'fake-content'}) > > lexicon/tests/test_library.py:164: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65c8fd90> > config = {'action': 'update', 'content': 'fake-content', 'domain': > 'example.com', 'identifier': 'fake-id', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > _____________ test_delete_action_is_correctly_handled_by_provider > ______________ > > capsys = <_pytest.capture.CaptureFixture object at 0x7efd65ded040> > lexicon_client = <module 'lexicon.client' from > '/<<PKGBUILDDIR>>/lexicon/client.py'> > > def test_delete_action_is_correctly_handled_by_provider(capsys, > lexicon_client): > > client = lexicon_client.Client({'action': 'delete', 'provider_name': > > 'fakeprovider', > 'domain': 'example.com', > 'identifier': 'fake-id', > 'type': 'TXT', 'name': 'fake', > 'content': 'fake-content'}) > > lexicon/tests/test_library.py:181: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > self = <lexicon.client.Client object at 0x7efd65dceeb0> > config = {'action': 'delete', 'content': 'fake-content', 'domain': > 'example.com', 'identifier': 'fake-id', ...} > > def __init__(self, config=None): > if not config: > # If there is not config specified, we load a non-interactive > configuration. > self.config = non_interactive_config_resolver() > elif not isinstance(config, ConfigResolver): > # If config is not a ConfigResolver, we are in a legacy situation. > # We protect this part of the Client API. > self.config = legacy_config_resolver(config) > else: > self.config = config > > # Validate configuration > self._validate_config() > > runtime_config = {} > > # Process domain, strip subdomain > > domain_extractor = > > tldextract.TLDExtract(cache_file=TLDEXTRACT_CACHE_FILE, > > include_psl_private_domains=True) > E TypeError: __init__() got an unexpected keyword argument 'cache_file' > > lexicon/client.py:45: TypeError > =============================== warnings summary > =============================== > lexicon/tests/providers/integration_tests.py:319 > /<<PKGBUILDDIR>>/lexicon/tests/providers/integration_tests.py:319: > PytestUnknownMarkWarning: Unknown pytest.mark.ext_suite_1 - is this a typo? > You can register custom marks to avoid this warning - for details, see > https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ext_suite_1 > > lexicon/tests/providers/integration_tests.py:331 > /<<PKGBUILDDIR>>/lexicon/tests/providers/integration_tests.py:331: > PytestUnknownMarkWarning: Unknown pytest.mark.ext_suite_1 - is this a typo? > You can register custom marks to avoid this warning - for details, see > https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ext_suite_1 > > lexicon/tests/providers/integration_tests.py:340 > /<<PKGBUILDDIR>>/lexicon/tests/providers/integration_tests.py:340: > PytestUnknownMarkWarning: Unknown pytest.mark.ext_suite_1 - is this a typo? > You can register custom marks to avoid this warning - for details, see > https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ext_suite_1 > > lexicon/tests/providers/integration_tests.py:348 > /<<PKGBUILDDIR>>/lexicon/tests/providers/integration_tests.py:348: > PytestUnknownMarkWarning: Unknown pytest.mark.ext_suite_1 - is this a typo? > You can register custom marks to avoid this warning - for details, see > https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ext_suite_1 > > lexicon/tests/providers/integration_tests.py:360 > /<<PKGBUILDDIR>>/lexicon/tests/providers/integration_tests.py:360: > PytestUnknownMarkWarning: Unknown pytest.mark.ext_suite_1 - is this a typo? > You can register custom marks to avoid this warning - for details, see > https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ext_suite_1 > > lexicon/tests/providers/integration_tests.py:375 > /<<PKGBUILDDIR>>/lexicon/tests/providers/integration_tests.py:375: > PytestUnknownMarkWarning: Unknown pytest.mark.ext_suite_1 - is this a typo? > You can register custom marks to avoid this warning - for details, see > https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ext_suite_1 > > lexicon/tests/providers/test_auto.py:57 > /<<PKGBUILDDIR>>/lexicon/tests/providers/test_auto.py:57: > PytestUnknownMarkWarning: Unknown pytest.mark.ignore_nslookup_mock - is this > a typo? You can register custom marks to avoid this warning - for details, > see https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ignore_nslookup_mock('yes') > > lexicon/tests/providers/test_hetzner.py:51 > /<<PKGBUILDDIR>>/lexicon/tests/providers/test_hetzner.py:51: > PytestUnknownMarkWarning: Unknown pytest.mark.ignore_dns_cname_mock - is this > a typo? You can register custom marks to avoid this warning - for details, > see https://docs.pytest.org/en/stable/mark.html > @pytest.mark.ignore_dns_cname_mock > > lexicon/tests/test_client.py: 11 warnings > lexicon/tests/test_config.py: 1 warning > lexicon/tests/test_library.py: 10 warnings > /<<PKGBUILDDIR>>/lexicon/config.py:193: DeprecationWarning: Legacy > configuration object has been used to load the ConfigResolver. > warnings.warn(DeprecationWarning('Legacy configuration object has been > used ' > > lexicon/tests/test_config.py::test_config_lexicon_file_resolution > lexicon/tests/test_config.py::test_provider_config_lexicon_file_resolution > lexicon/tests/test_config.py::test_provider_config_dir_resolution > lexicon/tests/test_config.py::test_prioritized_resolution > /<<PKGBUILDDIR>>/lexicon/config.py:292: YAMLLoadWarning: calling > yaml.load() without Loader=... is deprecated, as the default Loader is > unsafe. Please read https://msg.pyyaml.org/load for full details. > yaml_object = yaml.load(stream) or {} > > lexicon/tests/providers/test_godaddy.py: 117 warnings > /<<PKGBUILDDIR>>/lexicon/providers/godaddy.py:246: DeprecationWarning: > Using 'method_whitelist' with Retry is deprecated and will be removed in > v2.0. Use 'allowed_methods' instead > retries = Retry( > > -- Docs: https://docs.pytest.org/en/stable/warnings.html > =========================== short test summary info > ============================ > FAILED lexicon/tests/test_client.py::test_client_basic_init - TypeError: > __in... > FAILED lexicon/tests/test_client.py::test_client_legacy_init - TypeError: > __i... > FAILED > lexicon/tests/test_client.py::test_client_init_when_domain_includes_subdomain_should_strip > FAILED > lexicon/tests/test_client.py::test_client_init_with_delegated_domain_name > FAILED > lexicon/tests/test_client.py::test_client_init_with_delegated_domain_fqdn > FAILED > lexicon/tests/test_client.py::test_client_init_with_same_delegated_domain_fqdn > FAILED > lexicon/tests/test_client.py::test_client_parse_env_with_no_keys_should_do_nothing > FAILED lexicon/tests/test_client.py::test_client_parse_env_with_auth_keys - > T... > FAILED > lexicon/tests/test_library.py::test_missing_optional_client_config_parameter_does_not_raise_error > FAILED > lexicon/tests/test_library.py::test_list_action_is_correctly_handled_by_provider > FAILED > lexicon/tests/test_library.py::test_create_action_is_correctly_handled_by_provider > FAILED > lexicon/tests/test_library.py::test_update_action_is_correctly_handled_by_provider > FAILED > lexicon/tests/test_library.py::test_delete_action_is_correctly_handled_by_provider > = 13 failed, 1396 passed, 198 skipped, 380 deselected, 151 warnings in 43.32s > == > make[1]: *** [debian/rules:13: override_dh_auto_test] Error 1 The full build log is available from: http://qa-logs.debian.net/2022/02/12/lexicon_3.3.17-1_unstable.log A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please marking it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.