Your message dated Tue, 26 Jan 2021 15:33:51 +0000
with message-id <e1l4qln-000hxv...@fasolo.debian.org>
and subject line Bug#980697: fixed in borgmatic 1.5.12-2
has caused the Debian Bug report #980697,
regarding borgmatic: FTBFS: dh_auto_test: error: pybuild --test --test-pytest 
-i python{version} -p 3.9 returned exit code 13
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.)


-- 
980697: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=980697
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: borgmatic
Version: 1.5.12-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20210120 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_clean
> rm -rf borgmatic.egg-info
> for man in borgmatic generate-borgmatic-config upgrade-borgmatic-config 
> validate-borgmatic-config ; do \
>       [ ! -f debian/$man.1 ] || rm debian/$man.1 ; \
> done
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>  dpkg-source -b .
> dpkg-source: info: using source format '3.0 (quilt)'
> dpkg-source: info: building borgmatic using existing 
> ./borgmatic_1.5.12.orig.tar.gz
> dpkg-source: info: using patch list from debian/patches/series
> dpkg-source: info: building borgmatic in borgmatic_1.5.12-1.debian.tar.xz
> dpkg-source: info: building borgmatic in borgmatic_1.5.12-1.dsc
>  debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:232: python3.9 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:232: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic
> copying borgmatic/execute.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic
> copying borgmatic/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic
> copying borgmatic/verbosity.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic
> copying borgmatic/logger.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic
> copying borgmatic/signals.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/healthchecks.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/cronitor.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/command.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/dispatch.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/postgresql.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/monitor.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/cronhub.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/mysql.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/pagerduty.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> copying borgmatic/hooks/dump.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/hooks
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/validate.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/convert.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/override.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/load.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/legacy.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/normalize.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/collect.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/generate.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> copying borgmatic/config/checks.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/commands
> copying borgmatic/commands/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/commands
> copying borgmatic/commands/borgmatic.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/commands
> copying borgmatic/commands/generate_config.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/commands
> copying borgmatic/commands/arguments.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/commands
> copying borgmatic/commands/validate_config.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/commands
> copying borgmatic/commands/convert_config.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/commands
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/prune.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/umount.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/mount.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/flags.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/environment.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/check.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/create.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/list.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/info.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/init.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/export_tar.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> copying borgmatic/borg/extract.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/borg
> running egg_info
> creating borgmatic.egg-info
> writing borgmatic.egg-info/PKG-INFO
> writing dependency_links to borgmatic.egg-info/dependency_links.txt
> writing entry points to borgmatic.egg-info/entry_points.txt
> writing requirements to borgmatic.egg-info/requires.txt
> writing top-level names to borgmatic.egg-info/top_level.txt
> writing manifest file 'borgmatic.egg-info/SOURCES.txt'
> reading manifest file 'borgmatic.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> writing manifest file 'borgmatic.egg-info/SOURCES.txt'
> copying borgmatic/config/schema.yaml -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/borgmatic/config
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:232: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; 
> python3.9 -m pytest --ignore=tests/end-to-end --ignore=tests/integration
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.9.1+, pytest-6.0.2, py-1.10.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>, configfile: setup.cfg
> collected 540 items
> 
> tests/unit/test_execute.py .....................................         [  
> 6%]
> tests/unit/test_logger.py ......................................         [ 
> 13%]
> tests/unit/test_verbosity.py ..                                          [ 
> 14%]
> tests/unit/borg/test_check.py ......................................     [ 
> 21%]
> tests/unit/borg/test_create.py ......................................... [ 
> 28%]
> ..............................................                           [ 
> 37%]
> tests/unit/borg/test_environment.py .......                              [ 
> 38%]
> tests/unit/borg/test_export_tar.py .............                         [ 
> 41%]
> tests/unit/borg/test_extract.py .....................                    [ 
> 45%]
> tests/unit/borg/test_flags.py ........                                   [ 
> 46%]
> tests/unit/borg/test_info.py ...............                             [ 
> 49%]
> tests/unit/borg/test_init.py ...........                                 [ 
> 51%]
> tests/unit/borg/test_list.py ..............................              [ 
> 56%]
> tests/unit/borg/test_mount.py .........                                  [ 
> 58%]
> tests/unit/borg/test_prune.py .................                          [ 
> 61%]
> tests/unit/borg/test_umount.py ...                                       [ 
> 62%]
> tests/unit/commands/test_arguments.py ........                           [ 
> 63%]
> tests/unit/commands/test_borgmatic.py .................................. [ 
> 70%]
> ....F                                                                    [ 
> 70%]
> tests/unit/config/test_checks.py ...                                     [ 
> 71%]
> tests/unit/config/test_collect.py ............                           [ 
> 73%]
> tests/unit/config/test_convert.py .......                                [ 
> 75%]
> tests/unit/config/test_generate.py .........                             [ 
> 76%]
> tests/unit/config/test_legacy.py .............                           [ 
> 79%]
> tests/unit/config/test_normalize.py ....                                 [ 
> 79%]
> tests/unit/config/test_override.py ..........                            [ 
> 81%]
> tests/unit/config/test_validate.py ..................                    [ 
> 85%]
> tests/unit/hooks/test_command.py ............                            [ 
> 87%]
> tests/unit/hooks/test_cronhub.py .....                                   [ 
> 88%]
> tests/unit/hooks/test_cronitor.py ....                                   [ 
> 88%]
> tests/unit/hooks/test_dispatch.py ......                                 [ 
> 90%]
> tests/unit/hooks/test_dump.py ...........                                [ 
> 92%]
> tests/unit/hooks/test_healthchecks.py ..FFF.....                         [ 
> 93%]
> tests/unit/hooks/test_mysql.py ..............                            [ 
> 96%]
> tests/unit/hooks/test_pagerduty.py ....                                  [ 
> 97%]
> tests/unit/hooks/test_postgresql.py ...............                      
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ___ test_collect_configuration_run_summary_logs_outputs_merged_json_results 
> ____
> 
>     def 
> test_collect_configuration_run_summary_logs_outputs_merged_json_results():
>         
> flexmock(module).should_receive('run_configuration').and_return(['foo', 
> 'bar']).and_return(
>             ['baz']
>         )
> >       
> > flexmock(module.sys.stdout).should_receive('write').with_args('["foo", 
> > "bar", "baz"]').once()
> 
> tests/unit/commands/test_borgmatic.py:450: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/flexmock.py:391: in with_args
>     self._verify_signature_match(*kargs, **kwargs)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <flexmock.Expectation object at 0x7f3ff2c18160>
> kargs = ('["foo", "bar", "baz"]',), kwargs = {}, is_method = False, args_len 
> = 2
> minimum = 2, maximum = 2, total_positional = 1, named_optionals = []
> 
>     def _verify_signature_match(self, *kargs, **kwargs):
>         if isinstance(self._mock, Mock):
>             return  # no sense in enforcing this for fake objects
>         allowed = self.argspec
>         # we consider object a method for purposes or not counting 
> "self"/"cls" as argument if:
>         #  - one of inspect.ismethod, inspect.isfunction, _isclass return True
>         #    (in Python 3 it's sometimes impossible to tell whether callable 
> is method or not,
>         #     so we try both inspect.ismethod and inspect.isfunction; classes 
> are callable too -
>         #     they have __init__)
>         #  - it's not a static method
>         #  - the mocked object is a module - module "methods" are in fact 
> plain functions;
>         #    unless they're classes, which means they still have __init__
>         is_method = ((inspect.ismethod(self.original) or 
> inspect.isfunction(self.original)
>                       or _isclass(self.original)) and
>                      self.method_type is not staticmethod and
>                      (not isinstance(self._mock, types.ModuleType) or
>                       _isclass(self.original)))
>         args_len = len(allowed.args)
>         if is_method:
>             args_len -= 1
>         minimum = args_len - (allowed.defaults and len(allowed.defaults) or 0)
>         maximum = None
>         if allowed.varargs is None and allowed.keywords is None:
>             maximum = args_len
>         total_positional = len(
>             kargs + tuple(a for a in kwargs if a in allowed.args))
>         named_optionals = [a for a in kwargs
>                            if allowed.defaults
>                            if a in allowed.args[len(allowed.args) - 
> len(allowed.defaults):]]
>         if allowed.defaults and total_positional == minimum and 
> named_optionals:
>             minimum += len(named_optionals)
>         if total_positional < minimum:
> >           raise MethodSignatureError(
>                 '%s requires at least %s arguments, expectation provided %s' %
>                 (self.name, minimum, total_positional))
> E           flexmock.MethodSignatureError: write requires at least 2 
> arguments, expectation provided 1
> 
> /usr/lib/python3/dist-packages/flexmock.py:278: MethodSignatureError
> __________ test_format_buffered_logs_for_payload_flattens_log_buffer 
> ___________
> 
> self = <_pytest.logging.LoggingPlugin object at 0x7f3ff3aa7970>
> item = <Function test_format_buffered_logs_for_payload_flattens_log_buffer>
> when = 'call'
> 
>     def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None, 
> None, None]:
>         """Implements the internals of pytest_runtest_xxx() hook."""
>         with catching_logs(
>             self.caplog_handler, level=self.log_level,
>         ) as caplog_handler, catching_logs(
>             self.report_handler, level=self.log_level,
>         ) as report_handler:
>             caplog_handler.reset()
>             report_handler.reset()
>             item._store[caplog_records_key][when] = caplog_handler.records
>             item._store[caplog_handler_key] = caplog_handler
>     
>             yield
>     
>             log = report_handler.stream.getvalue().strip()
> >           item.add_report_section(when, "log", log)
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:694: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <_pytest.logging.catching_logs object at 0x7f3ff2a01040>, type = None
> value = None, traceback = None
> 
>     def __exit__(self, type, value, traceback):
>         root_logger = logging.getLogger()
>         if self.level is not None:
>             root_logger.setLevel(self.orig_level)
> >       root_logger.removeHandler(self.handler)
> E       AttributeError: 'MockClass' object has no attribute 'removeHandler'
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:310: AttributeError
> 
> During handling of the above exception, another exception occurred:
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f3ff293e8b0>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], _T]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: "Optional[Union[Type[BaseException], 
> Tuple[Type[BaseException], ...]]]" = None,
>     ) -> "CallInfo[_T]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result = func()  # type: Optional[_T]
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:294: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:247: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/logging.py:708: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:694: in _runtest_for
>     item.add_report_section(when, "log", log)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <_pytest.logging.catching_logs object at 0x7f3ff29f68c0>
> type = <class 'AttributeError'>
> value = AttributeError("'MockClass' object has no attribute 'removeHandler'")
> traceback = <traceback object at 0x7f3ff2a011c0>
> 
>     def __exit__(self, type, value, traceback):
>         root_logger = logging.getLogger()
>         if self.level is not None:
>             root_logger.setLevel(self.orig_level)
> >       root_logger.removeHandler(self.handler)
> E       AttributeError: 'MockClass' object has no attribute 'removeHandler'
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:310: AttributeError
> _ 
> test_format_buffered_logs_for_payload_inserts_truncation_indicator_when_logs_forgotten
>  _
> 
> self = <_pytest.logging.LoggingPlugin object at 0x7f3ff3aa7970>
> item = <Function 
> test_format_buffered_logs_for_payload_inserts_truncation_indicator_when_logs_forgotten>
> when = 'call'
> 
>     def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None, 
> None, None]:
>         """Implements the internals of pytest_runtest_xxx() hook."""
>         with catching_logs(
>             self.caplog_handler, level=self.log_level,
>         ) as caplog_handler, catching_logs(
>             self.report_handler, level=self.log_level,
>         ) as report_handler:
>             caplog_handler.reset()
>             report_handler.reset()
>             item._store[caplog_records_key][when] = caplog_handler.records
>             item._store[caplog_handler_key] = caplog_handler
>     
>             yield
>     
>             log = report_handler.stream.getvalue().strip()
> >           item.add_report_section(when, "log", log)
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:694: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <_pytest.logging.catching_logs object at 0x7f3ff2b0de40>, type = None
> value = None, traceback = None
> 
>     def __exit__(self, type, value, traceback):
>         root_logger = logging.getLogger()
>         if self.level is not None:
>             root_logger.setLevel(self.orig_level)
> >       root_logger.removeHandler(self.handler)
> E       AttributeError: 'MockClass' object has no attribute 'removeHandler'
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:310: AttributeError
> 
> During handling of the above exception, another exception occurred:
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f3ff293ec10>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], _T]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: "Optional[Union[Type[BaseException], 
> Tuple[Type[BaseException], ...]]]" = None,
>     ) -> "CallInfo[_T]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result = func()  # type: Optional[_T]
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:294: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:247: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/logging.py:708: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:694: in _runtest_for
>     item.add_report_section(when, "log", log)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <_pytest.logging.catching_logs object at 0x7f3ff2b0dec0>
> type = <class 'AttributeError'>
> value = AttributeError("'MockClass' object has no attribute 'removeHandler'")
> traceback = <traceback object at 0x7f3ff2921a80>
> 
>     def __exit__(self, type, value, traceback):
>         root_logger = logging.getLogger()
>         if self.level is not None:
>             root_logger.setLevel(self.orig_level)
> >       root_logger.removeHandler(self.handler)
> E       AttributeError: 'MockClass' object has no attribute 'removeHandler'
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:310: AttributeError
> _ 
> test_format_buffered_logs_for_payload_without_handler_produces_empty_payload _
> 
> self = <_pytest.logging.LoggingPlugin object at 0x7f3ff3aa7970>
> item = <Function 
> test_format_buffered_logs_for_payload_without_handler_produces_empty_payload>
> when = 'call'
> 
>     def _runtest_for(self, item: nodes.Item, when: str) -> Generator[None, 
> None, None]:
>         """Implements the internals of pytest_runtest_xxx() hook."""
>         with catching_logs(
>             self.caplog_handler, level=self.log_level,
>         ) as caplog_handler, catching_logs(
>             self.report_handler, level=self.log_level,
>         ) as report_handler:
>             caplog_handler.reset()
>             report_handler.reset()
>             item._store[caplog_records_key][when] = caplog_handler.records
>             item._store[caplog_handler_key] = caplog_handler
>     
>             yield
>     
>             log = report_handler.stream.getvalue().strip()
> >           item.add_report_section(when, "log", log)
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:694: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <_pytest.logging.catching_logs object at 0x7f3ff2b063c0>, type = None
> value = None, traceback = None
> 
>     def __exit__(self, type, value, traceback):
>         root_logger = logging.getLogger()
>         if self.level is not None:
>             root_logger.setLevel(self.orig_level)
> >       root_logger.removeHandler(self.handler)
> E       AttributeError: 'MockClass' object has no attribute 'removeHandler'
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:310: AttributeError
> 
> During handling of the above exception, another exception occurred:
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f3ff293e820>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], _T]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: "Optional[Union[Type[BaseException], 
> Tuple[Type[BaseException], ...]]]" = None,
>     ) -> "CallInfo[_T]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result = func()  # type: Optional[_T]
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:294: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:247: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/logging.py:708: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
> /usr/lib/python3/dist-packages/_pytest/logging.py:694: in _runtest_for
>     item.add_report_section(when, "log", log)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = <_pytest.logging.catching_logs object at 0x7f3ff2b06600>
> type = <class 'AttributeError'>
> value = AttributeError("'MockClass' object has no attribute 'removeHandler'")
> traceback = <traceback object at 0x7f3ff29bbe00>
> 
>     def __exit__(self, type, value, traceback):
>         root_logger = logging.getLogger()
>         if self.level is not None:
>             root_logger.setLevel(self.orig_level)
> >       root_logger.removeHandler(self.handler)
> E       AttributeError: 'MockClass' object has no attribute 'removeHandler'
> 
> /usr/lib/python3/dist-packages/_pytest/logging.py:310: AttributeError
> =========================== short test summary info 
> ============================
> FAILED 
> tests/unit/commands/test_borgmatic.py::test_collect_configuration_run_summary_logs_outputs_merged_json_results
> FAILED 
> tests/unit/hooks/test_healthchecks.py::test_format_buffered_logs_for_payload_flattens_log_buffer
> FAILED 
> tests/unit/hooks/test_healthchecks.py::test_format_buffered_logs_for_payload_inserts_truncation_indicator_when_logs_forgotten
> FAILED 
> tests/unit/hooks/test_healthchecks.py::test_format_buffered_logs_for_payload_without_handler_produces_empty_payload
> ======================== 4 failed, 536 passed in 1.22s 
> =========================
> E: pybuild pybuild:353: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest 
> --ignore=tests/end-to-end --ignore=tests/integration
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 
> returned exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2021/01/20/borgmatic_1.5.12-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 me
so that we can identify if something relevant changed in the meantime.

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

--- End Message ---
--- Begin Message ---
Source: borgmatic
Source-Version: 1.5.12-2
Done: Sebastien Badia <sba...@debian.org>

We believe that the bug you reported is fixed in the latest version of
borgmatic, 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 980...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sebastien Badia <sba...@debian.org> (supplier of updated borgmatic 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: Tue, 26 Jan 2021 16:15:36 +0100
Source: borgmatic
Architecture: source
Version: 1.5.12-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Borg Collective <team+b...@tracker.debian.org>
Changed-By: Sebastien Badia <sba...@debian.org>
Closes: 980697
Changes:
 borgmatic (1.5.12-2) unstable; urgency=medium
 .
   * d/patches: Import upstream patch for Python 3.9 (Closes: #980697)
   * d/control: Bump debhelper compat to 13
Checksums-Sha1:
 775a6b4246583758df6319e79a4ccb12a1e8235e 2213 borgmatic_1.5.12-2.dsc
 bb2a628d8f3bda03a77d7b8902416a2c45da80b1 6688 borgmatic_1.5.12-2.debian.tar.xz
 815cc0f7d77dd4bfb61aa7494ed37b0078f4490e 7165 
borgmatic_1.5.12-2_source.buildinfo
Checksums-Sha256:
 ddf39cf3a39e3fc566e1000df5437e8e1fbd36cfb9dabcfc0aaf9c05797d7456 2213 
borgmatic_1.5.12-2.dsc
 d1de32fa40c210b724fb7adcb0c4bbedd0f37913d91bb36ab3cf37131be03594 6688 
borgmatic_1.5.12-2.debian.tar.xz
 8d54abde1aac3a53701cd823d4198e9aa96fc20543b8eda8a1cad759f26b606d 7165 
borgmatic_1.5.12-2_source.buildinfo
Files:
 2c151b7dbb95edc7067dd8dca90ba102 2213 utils optional borgmatic_1.5.12-2.dsc
 78a2a2b1b82dc96fb5d5f6eba5d54a45 6688 utils optional 
borgmatic_1.5.12-2.debian.tar.xz
 3e0f0afb2b44d1be493e017b7aceee95 7165 utils optional 
borgmatic_1.5.12-2_source.buildinfo

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

iQIzBAEBCgAdFiEEfkPprL9yerPPCIUzhxbORhSkUtgFAmAQNFUACgkQhxbORhSk
UtjfGQ/+OQmZlDagE8PSN3VnKOqEz9pG7CuVPAq4DCb4nTTKJGKGrnO0fs27aFDj
5Q+3spIjOk2BfNDBWz3I/KvVV6XcYVPIgl9k0eLSxo4uMel9s9Ji8p485kqg5AiY
1YNfugFtOC3yuKKQic0VbHCv44ltBgYre/TULB/g4cIM3G1e/emyScwyrqkJ4WO3
bUtjKQ39y8jnXf7UrAlUKfdshbich5qnqSqopBBbAgCsaBbiEpYd8fy5+RAvpbnI
Mf5A3qk7XCONmQa5GnL0x79U1yK+ZKsu/24CHPyAzRMhLaIS/0PAc1I2EOE9tVm6
b+sLGERM0IEKp28mgeW4T5xezTzT8RMa63lvtAnylPB1zCVyfu1EaZDsAqQM1Bci
AVfmwHLacmyEEw47gkrGtKqxsXdcVejZ765Inpk4fa8H//qT+LGqAzG16aXfYIhv
p7UMAbo6F4f4GjH2spCpOYcYyqERvAL8UCgSleJ2N7XRtxqF5In6hb39FrHja6FF
isAxERlpDlQ56dAPqohTpt7C2KgD8tUb9kIvfffuBH+vqKScWhMpcSwq1lKbREMk
qxHACo6myIsK65SQxEYNOYgtPUYLg9Be3Y4S7SMsfZOa4Uv+HJGS3JW61BqIhPQs
W17IeK76BdE7rkUrocYaBXf//V5U5rqb/SmBI1YT6xpbh9L+tiA=
=OzcF
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to