Your message dated Thu, 31 Mar 2022 06:18:51 +0000
with message-id <e1nzo8x-0003nz...@fasolo.debian.org>
and subject line Bug#1005686: fixed in lexicon 3.9.4-1
has caused the Debian Bug report #1005686,
regarding lexicon: FTBFS: tests failed
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1005686: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005686
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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.

--- End Message ---
--- Begin Message ---
Source: lexicon
Source-Version: 3.9.4-1
Done: Harlan Lieberman-Berg <hlieber...@debian.org>

We believe that the bug you reported is fixed in the latest version of
lexicon, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1005...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Harlan Lieberman-Berg <hlieber...@debian.org> (supplier of updated lexicon 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 31 Mar 2022 01:00:14 -0400
Source: lexicon
Architecture: source
Version: 3.9.4-1
Distribution: unstable
Urgency: medium
Maintainer: Ana Custura <a...@netstat.org.uk>
Changed-By: Harlan Lieberman-Berg <hlieber...@debian.org>
Closes: 1005686
Changes:
 lexicon (3.9.4-1) unstable; urgency=medium
 .
   * Team upload.
 .
   [ Ondřej Nový ]
   * d/control: Update Vcs-* fields with new Debian Python Team Salsa
     layout.
 .
   [ Sandro Tosi ]
   * Use the new Debian Python Team contact name and address
 .
   [ Ana Custura ]
   * New upstream version 3.3.17
 .
   [ Harlan Lieberman-Berg ]
   * New upstream version 3.9.4 (Closes: #1005686)
   * Update dependencies in d/control
   * Bump S-V, dh
   * Update tests run.
   * Add Rules-Requires-Root
   * Switch to pyproject plugin for pybuild
   * Add lintian override for very long lines in test dir
Checksums-Sha1:
 f130edf541aa8ac604f5cc4959fef4c01df10a5d 2531 lexicon_3.9.4-1.dsc
 a9e4a0de4af618d86e5c835f052abfad9c230537 8358079 lexicon_3.9.4.orig.tar.gz
 ff6b89a774603fa28a6d9866bd5b60473eb872f6 4744 lexicon_3.9.4-1.debian.tar.xz
 26ed4e15c1f0225b882655eb9f3e6c7e8652ab6b 9087 lexicon_3.9.4-1_amd64.buildinfo
Checksums-Sha256:
 77c42b6bd87ca084819e786c8cba54d1ee2499bb2a9b9b1e42e095cc4c512ce8 2531 
lexicon_3.9.4-1.dsc
 e751e81eb90e4f7f25b0a2e028e13fcebcbeee8e9f05c2b9cfab252862f3b528 8358079 
lexicon_3.9.4.orig.tar.gz
 c7273f3059383dab8e0455a96683bd2ed40bdf0ef1bf3fb8c6f30aa4f7af403f 4744 
lexicon_3.9.4-1.debian.tar.xz
 e414627e91dbd24b6eb1ac5282230b45c8f9723b0582f14f0db1882059cddf4f 9087 
lexicon_3.9.4-1_amd64.buildinfo
Files:
 73a537b60765837610267beaae4cb730 2531 python optional lexicon_3.9.4-1.dsc
 eb59bff9103c40824345af7f83a0795a 8358079 python optional 
lexicon_3.9.4.orig.tar.gz
 b732e596864380ac045d97c1d7ac2fdb 4744 python optional 
lexicon_3.9.4-1.debian.tar.xz
 0980d5d0419e035fc8de5a6428f1d567 9087 python optional 
lexicon_3.9.4-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQKqBAEBCgCUFiEELyAgabIlUqb16FUfGikbTg3OS1cFAmJFQwxfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDJG
MjAyMDY5QjIyNTUyQTZGNUU4NTUxRjFBMjkxQjRFMERDRTRCNTcWHGhsaWViZXJt
YW5AZGViaWFuLm9yZwAKCRAaKRtODc5LV/oZD/92M+vzp9BBq/KqqvEge0T73z4r
RyLGf29HPVt92tgsIjZPihn8Ie2XzDdzq+/xCWFAJUzawNlg3y2WZ3PBPOdnmpti
1WNGLIxg+q/Bfh5mvAuLG++rPalDLN0zBn0V7YCx7lbNFM1dTxVpD+QsmEC+d4ux
WIpw+j3HO6XLkWSGLDEb22xAFRaiFvQp03XEmLsm4agGqgDX/c/xMHSdx+bsXEIy
CzEckVX834dvdmySUxo3GpxjACuOjaY3RWDFV9MQkAoYtHmTrByP3TsWx1XMq1BM
gwAhKkbFYSP40RNJ4na4WIdZOb+NTn98IS64SC0t47jFD35LQR9+d/qLCEUeMMUS
csDtz6sqh3EuTA+XqG3XINJ3VUWGszrf9AMkJxCdtJDY5ax/Z4MuZI+7DytNajt1
KqScGVUnuQkj+dG3JVGNtMbecmWPyGdq0zvxIHOQ84grxU4/68PlCO9Lwhx6fUZ8
HxXUA9/bOFJQHMvIW6VCnejwc6u1f3/JJn67YCuH9JsKcGJVBQW8mB+DRkmm7pVY
qNfPC9FccpxUxw1f4NYk2tWNN/doKYMFGMKWZqYn97pWwPuSjvDVmcEVAkeyVidS
YLDiqZTb5Tbn4HgdZsEy3w15mjEBNkbVoOxyC9FDQ7/+0gznH1tem/3gChJN18Of
ErSJUpLxfTxtvTC8Nw==
=CO7r
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to