Your message dated Tue, 14 Oct 2025 12:51:01 +0000
with message-id <[email protected]>
and subject line Bug#1084327: fixed in python-aiowithings 3.0.3-3
has caused the Debian Bug report #1084327,
regarding python-aiowithings: FTBFS: E 
aiohttp.client_exceptions.ClientConnectionError: Connection refused: POST 
https://wbsapi.withings.net/v2/measure
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 [email protected]
immediately.)


-- 
1084327: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1084327
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-aiowithings
Version: 3.0.3-2
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules build
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
dh build --buildsystem=pybuild --with python3
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" 
module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation --wheel 
--outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12
* Building wheel...
Successfully built aiowithings-2.1.0-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with 
"installer" module
   dh_auto_test -O--buildsystem=pybuild

[... snipped ...]

        url_origin = url
        url = normalize_url(merge_params(url, kwargs.get('params')))
        url_str = str(url)
        for prefix in self._passthrough:
            if url_str.startswith(prefix):
                return (await self.patcher.temp_original(
                    orig_self, method, url_origin, *args, **kwargs
                ))
key = (method, url)
        self.requests.setdefault(key, [])
        request_call = self._build_request_call(method, *args, **kwargs)
        self.requests[key].append(request_call)
response = await self.match(method, url, **kwargs) if response is None:
          raise ClientConnectionError(
                'Connection refused: {} {}'.format(method, url)
            )
E           aiohttp.client_exceptions.ClientConnectionError: Connection 
refused: POST https://wbsapi.withings.net/v2/sleep

/usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError
_____________ test_get_sleep_summary_in_period_without_data_fields _____________

responses = <aioresponses.core.aioresponses object at 0x7fa7f3121220>
snapshot = SnapshotAssertion(name='snapshot', num_executions=0)
authenticated_client = WithingsClient(session=<aiohttp.client.ClientSession object 
at 0x7fa7f2fed040>, request_timeout=10, api_host='wbsapi.withings.net', 
_token='test', _close_session=False, refresh_token_function=None)

    async def test_get_sleep_summary_in_period_without_data_fields(
        responses: aioresponses,
        snapshot: SnapshotAssertion,
        authenticated_client: WithingsClient,
    ) -> None:
        """Test retrieving sleep without datafields."""
        responses.post(
            f"{WITHINGS_URL}/v2/sleep",
            status=200,
            body=load_fixture("sleep_summary_no_datafields.json"),
        )
      response = await authenticated_client.get_sleep_summary_in_period(
            start_date=datetime.fromtimestamp(0, tz=timezone.utc).date(),
            end_date=datetime.fromtimestamp(1609559200, tz=timezone.utc).date(),
        )

tests/test_withings.py:606:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
aiowithings/withings.py:260: in get_sleep_summary_in_period
    return await self._get_sleep_summary(
aiowithings/withings.py:236: in _get_sleep_summary
    response = await self._request(
aiowithings/withings.py:108: in _request
    response = await self.session.request(
/usr/lib/python3.12/unittest/mock.py:2293: in _execute_mock_call
    result = await effect(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aioresponses.core.aioresponses object at 0x7fa7f3121220>
orig_self = <aiohttp.client.ClientSession object at 0x7fa7f2fed040>
method = 'POST', url = URL('https://wbsapi.withings.net/v2/sleep'), args = ()
kwargs = {'data': {'action': 'getsummary', 'enddateymd': '2021-01-02', 
'startdateymd': '1970-01-01'}, 'headers': {'Accept': 'application/json, 
text/plain, */*', 'Authorization': 'Bearer test', 'User-Agent': 
'AioWithings/2.1.0'}}
url_origin = URL('https://wbsapi.withings.net/v2/sleep')
url_str = 'https://wbsapi.withings.net/v2/sleep'
key = ('POST', URL('https://wbsapi.withings.net/v2/sleep'))
request_call = RequestCall(args=(), kwargs={'headers': {'User-Agent': 
'AioWithings/2.1.0', 'Accept': 'application/json, text/plain, *..., 'data': 
{'startdateymd': '1970-01-01', 'enddateymd': '2021-01-02', 'action': 
'getsummary'}, 'allow_redirects': True})
response = None

    async def _request_mock(self, orig_self: ClientSession,
                            method: str, url: 'Union[URL, str]',
                            *args: Tuple,
                            **kwargs: Any) -> 'ClientResponse':
        """Return mocked response object or raise connection error."""
        if orig_self.closed:
            raise RuntimeError('Session is closed')
url_origin = url
        url = normalize_url(merge_params(url, kwargs.get('params')))
        url_str = str(url)
        for prefix in self._passthrough:
            if url_str.startswith(prefix):
                return (await self.patcher.temp_original(
                    orig_self, method, url_origin, *args, **kwargs
                ))
key = (method, url)
        self.requests.setdefault(key, [])
        request_call = self._build_request_call(method, *args, **kwargs)
        self.requests[key].append(request_call)
response = await self.match(method, url, **kwargs) if response is None:
          raise ClientConnectionError(
                'Connection refused: {} {}'.format(method, url)
            )
E           aiohttp.client_exceptions.ClientConnectionError: Connection 
refused: POST https://wbsapi.withings.net/v2/sleep

/usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError
_________________________ test_get_sleep_summary_since _________________________

responses = <aioresponses.core.aioresponses object at 0x7fa7f3472180>
authenticated_client = WithingsClient(session=<aiohttp.client.ClientSession object 
at 0x7fa7f3123110>, request_timeout=10, api_host='wbsapi.withings.net', 
_token='test', _close_session=False, refresh_token_function=None)

    async def test_get_sleep_summary_since(
        responses: aioresponses,
        authenticated_client: WithingsClient,
    ) -> None:
        """Test retrieving sleep."""
        responses.post(
            f"{WITHINGS_URL}/v2/sleep",
            status=200,
            body=load_fixture("sleep_summary.json"),
        )
      response = await authenticated_client.get_sleep_summary_since(
            sleep_summary_since=datetime.fromtimestamp(0, tz=timezone.utc),
            sleep_summary_data_fields=[
                SleepSummaryDataFields.REM_SLEEP_PHASE_COUNT,
                SleepSummaryDataFields.SLEEP_EFFICIENCY,
                SleepSummaryDataFields.SLEEP_LATENCY,
                SleepSummaryDataFields.TOTAL_SLEEP_TIME,
                SleepSummaryDataFields.TOTAL_TIME_IN_BED,
                SleepSummaryDataFields.WAKE_UP_LATENCY,
                SleepSummaryDataFields.TIME_AWAKE_DURING_SLEEP,
                SleepSummaryDataFields.APNEA_HYPOPNEA_INDEX,
                SleepSummaryDataFields.BREATHING_DISTURBANCES_INTENSITY,
                SleepSummaryDataFields.EXTERNAL_TOTAL_SLEEP_TIME,
                SleepSummaryDataFields.DEEP_SLEEP_DURATION,
                SleepSummaryDataFields.AVERAGE_HEART_RATE,
                SleepSummaryDataFields.MIN_HEART_RATE,
                SleepSummaryDataFields.MAX_HEART_RATE,
                SleepSummaryDataFields.LIGHT_SLEEP_DURATION,
                SleepSummaryDataFields.ACTIVE_MOVEMENT_DURATION,
                SleepSummaryDataFields.AVERAGE_MOVEMENT_SCORE,
                SleepSummaryDataFields.NIGHT_EVENTS,
                SleepSummaryDataFields.OUT_OF_BED_COUNT,
                SleepSummaryDataFields.REM_SLEEP_DURATION,
                SleepSummaryDataFields.AVERAGE_RESPIRATION_RATE,
                SleepSummaryDataFields.MIN_RESPIRATION_RATE,
                SleepSummaryDataFields.MAX_RESPIRATION_RATE,
                SleepSummaryDataFields.SLEEP_SCORE,
                SleepSummaryDataFields.SNORING,
                SleepSummaryDataFields.SNORING_COUNT,
                SleepSummaryDataFields.WAKE_UP_COUNT,
                SleepSummaryDataFields.TOTAL_TIME_AWAKE,
                SleepSummaryDataFields.WITHINGS_INDEX,
            ],
        )

tests/test_withings.py:633:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
aiowithings/withings.py:248: in get_sleep_summary_since
    return await self._get_sleep_summary(
aiowithings/withings.py:236: in _get_sleep_summary
    response = await self._request(
aiowithings/withings.py:108: in _request
    response = await self.session.request(
/usr/lib/python3.12/unittest/mock.py:2293: in _execute_mock_call
    result = await effect(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aioresponses.core.aioresponses object at 0x7fa7f3472180>
orig_self = <aiohttp.client.ClientSession object at 0x7fa7f3123110>
method = 'POST', url = URL('https://wbsapi.withings.net/v2/sleep'), args = ()
kwargs = {'data': {'action': 'getsummary', 'data_fields': 
'nb_rem_episodes,sleep_efficiency,sleep_latency,total_sleep_time,tota...s': 
{'Accept': 'application/json, text/plain, */*', 'Authorization': 'Bearer test', 
'User-Agent': 'AioWithings/2.1.0'}}
url_origin = URL('https://wbsapi.withings.net/v2/sleep')
url_str = 'https://wbsapi.withings.net/v2/sleep'
key = ('POST', URL('https://wbsapi.withings.net/v2/sleep'))
request_call = RequestCall(args=(), kwargs={'headers': {'User-Agent': 
'AioWithings/2.1.0', 'Accept': 'application/json, text/plain, 
*...n,rr_max,sleep_score,snoring,snoringepisodecount,wakeupcount,wakeupduration,withings_index'},
 'allow_redirects': True})
response = None

    async def _request_mock(self, orig_self: ClientSession,
                            method: str, url: 'Union[URL, str]',
                            *args: Tuple,
                            **kwargs: Any) -> 'ClientResponse':
        """Return mocked response object or raise connection error."""
        if orig_self.closed:
            raise RuntimeError('Session is closed')
url_origin = url
        url = normalize_url(merge_params(url, kwargs.get('params')))
        url_str = str(url)
        for prefix in self._passthrough:
            if url_str.startswith(prefix):
                return (await self.patcher.temp_original(
                    orig_self, method, url_origin, *args, **kwargs
                ))
key = (method, url)
        self.requests.setdefault(key, [])
        request_call = self._build_request_call(method, *args, **kwargs)
        self.requests[key].append(request_call)
response = await self.match(method, url, **kwargs) if response is None:
          raise ClientConnectionError(
                'Connection refused: {} {}'.format(method, url)
            )
E           aiohttp.client_exceptions.ClientConnectionError: Connection 
refused: POST https://wbsapi.withings.net/v2/sleep

/usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError
_______________ test_get_sleep_summary_since_without_data_fields _______________

responses = <aioresponses.core.aioresponses object at 0x7fa7f3472f30>
authenticated_client = WithingsClient(session=<aiohttp.client.ClientSession object 
at 0x7fa7f3471cd0>, request_timeout=10, api_host='wbsapi.withings.net', 
_token='test', _close_session=False, refresh_token_function=None)

    async def test_get_sleep_summary_since_without_data_fields(
        responses: aioresponses,
        authenticated_client: WithingsClient,
    ) -> None:
        """Test retrieving sleep without datafields."""
        responses.post(
            f"{WITHINGS_URL}/v2/sleep",
            status=200,
            body=load_fixture("sleep_summary_no_datafields.json"),
        )
      response = await authenticated_client.get_sleep_summary_since(
            datetime.fromtimestamp(0, tz=timezone.utc),
        )

tests/test_withings.py:696:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
aiowithings/withings.py:248: in get_sleep_summary_since
    return await self._get_sleep_summary(
aiowithings/withings.py:236: in _get_sleep_summary
    response = await self._request(
aiowithings/withings.py:108: in _request
    response = await self.session.request(
/usr/lib/python3.12/unittest/mock.py:2293: in _execute_mock_call
    result = await effect(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aioresponses.core.aioresponses object at 0x7fa7f3472f30>
orig_self = <aiohttp.client.ClientSession object at 0x7fa7f3471cd0>
method = 'POST', url = URL('https://wbsapi.withings.net/v2/sleep'), args = ()
kwargs = {'data': {'action': 'getsummary', 'lastupdate': 0}, 'headers': 
{'Accept': 'application/json, text/plain, */*', 'Authorization': 'Bearer test', 
'User-Agent': 'AioWithings/2.1.0'}}
url_origin = URL('https://wbsapi.withings.net/v2/sleep')
url_str = 'https://wbsapi.withings.net/v2/sleep'
key = ('POST', URL('https://wbsapi.withings.net/v2/sleep'))
request_call = RequestCall(args=(), kwargs={'headers': {'User-Agent': 
'AioWithings/2.1.0', 'Accept': 'application/json, text/plain, */*', 
'Authorization': 'Bearer test'}, 'data': {'lastupdate': 0, 'action': 
'getsummary'}, 'allow_redirects': True})
response = None

    async def _request_mock(self, orig_self: ClientSession,
                            method: str, url: 'Union[URL, str]',
                            *args: Tuple,
                            **kwargs: Any) -> 'ClientResponse':
        """Return mocked response object or raise connection error."""
        if orig_self.closed:
            raise RuntimeError('Session is closed')
url_origin = url
        url = normalize_url(merge_params(url, kwargs.get('params')))
        url_str = str(url)
        for prefix in self._passthrough:
            if url_str.startswith(prefix):
                return (await self.patcher.temp_original(
                    orig_self, method, url_origin, *args, **kwargs
                ))
key = (method, url)
        self.requests.setdefault(key, [])
        request_call = self._build_request_call(method, *args, **kwargs)
        self.requests[key].append(request_call)
response = await self.match(method, url, **kwargs) if response is None:
          raise ClientConnectionError(
                'Connection refused: {} {}'.format(method, url)
            )
E           aiohttp.client_exceptions.ClientConnectionError: Connection 
refused: POST https://wbsapi.withings.net/v2/sleep

/usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError
___________________________ test_get_workouts_since ____________________________

responses = <aioresponses.core.aioresponses object at 0x7fa7f3122f30>
snapshot = SnapshotAssertion(name='snapshot', num_executions=0)
authenticated_client = WithingsClient(session=<aiohttp.client.ClientSession object 
at 0x7fa7f3121af0>, request_timeout=10, api_host='wbsapi.withings.net', 
_token='test', _close_session=False, refresh_token_function=None)

    async def test_get_workouts_since(
        responses: aioresponses,
        snapshot: SnapshotAssertion,
        authenticated_client: WithingsClient,
    ) -> None:
        """Test retrieving workouts."""
        responses.post(
            f"{WITHINGS_URL}/v2/measure",
            status=200,
            body=load_fixture("workouts.json"),
        )
      response = await authenticated_client.get_workouts_since(
            datetime.fromtimestamp(0, tz=timezone.utc),
            workout_data_fields=[WorkoutDataFields.CALORIES],
        )

tests/test_withings.py:722:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
aiowithings/withings.py:329: in get_workouts_since
    return await self._get_workouts(
aiowithings/withings.py:317: in _get_workouts
    response = await self._request(
aiowithings/withings.py:108: in _request
    response = await self.session.request(
/usr/lib/python3.12/unittest/mock.py:2293: in _execute_mock_call
    result = await effect(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aioresponses.core.aioresponses object at 0x7fa7f3122f30>
orig_self = <aiohttp.client.ClientSession object at 0x7fa7f3121af0>
method = 'POST', url = URL('https://wbsapi.withings.net/v2/measure'), args = ()
kwargs = {'data': {'action': 'getworkouts', 'data_fields': 'calories', 
'lastupdate': 0}, 'headers': {'Accept': 'application/json, text/plain, */*', 
'Authorization': 'Bearer test', 'User-Agent': 'AioWithings/2.1.0'}}
url_origin = URL('https://wbsapi.withings.net/v2/measure')
url_str = 'https://wbsapi.withings.net/v2/measure'
key = ('POST', URL('https://wbsapi.withings.net/v2/measure'))
request_call = RequestCall(args=(), kwargs={'headers': {'User-Agent': 
'AioWithings/2.1.0', 'Accept': 'application/json, text/plain, *...Bearer 
test'}, 'data': {'lastupdate': 0, 'action': 'getworkouts', 'data_fields': 
'calories'}, 'allow_redirects': True})
response = None

    async def _request_mock(self, orig_self: ClientSession,
                            method: str, url: 'Union[URL, str]',
                            *args: Tuple,
                            **kwargs: Any) -> 'ClientResponse':
        """Return mocked response object or raise connection error."""
        if orig_self.closed:
            raise RuntimeError('Session is closed')
url_origin = url
        url = normalize_url(merge_params(url, kwargs.get('params')))
        url_str = str(url)
        for prefix in self._passthrough:
            if url_str.startswith(prefix):
                return (await self.patcher.temp_original(
                    orig_self, method, url_origin, *args, **kwargs
                ))
key = (method, url)
        self.requests.setdefault(key, [])
        request_call = self._build_request_call(method, *args, **kwargs)
        self.requests[key].append(request_call)
response = await self.match(method, url, **kwargs) if response is None:
          raise ClientConnectionError(
                'Connection refused: {} {}'.format(method, url)
            )
E           aiohttp.client_exceptions.ClientConnectionError: Connection 
refused: POST https://wbsapi.withings.net/v2/measure

/usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError
___________________________ test_get_workouts_period ___________________________

responses = <aioresponses.core.aioresponses object at 0x7fa7f31636e0>
snapshot = SnapshotAssertion(name='snapshot', num_executions=0)
authenticated_client = WithingsClient(session=<aiohttp.client.ClientSession object 
at 0x7fa7f3163350>, request_timeout=10, api_host='wbsapi.withings.net', 
_token='test', _close_session=False, refresh_token_function=None)

    async def test_get_workouts_period(
        responses: aioresponses,
        snapshot: SnapshotAssertion,
        authenticated_client: WithingsClient,
    ) -> None:
        """Test retrieving workouts."""
        responses.post(
            f"{WITHINGS_URL}/v2/measure",
            status=200,
            body=load_fixture("workouts.json"),
        )
      response = await authenticated_client.get_workouts_in_period(
            start_date=datetime.fromtimestamp(0, tz=timezone.utc),
            end_date=datetime.fromtimestamp(1609559200, tz=timezone.utc),
        )

tests/test_withings.py:746:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
aiowithings/withings.py:341: in get_workouts_in_period
    return await self._get_workouts(
aiowithings/withings.py:317: in _get_workouts
    response = await self._request(
aiowithings/withings.py:108: in _request
    response = await self.session.request(
/usr/lib/python3.12/unittest/mock.py:2293: in _execute_mock_call
    result = await effect(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <aioresponses.core.aioresponses object at 0x7fa7f31636e0>
orig_self = <aiohttp.client.ClientSession object at 0x7fa7f3163350>
method = 'POST', url = URL('https://wbsapi.withings.net/v2/measure'), args = ()
kwargs = {'data': {'action': 'getworkouts', 'enddateymd': '2021-01-02 
03:46:40+00:00', 'startdateymd': '1970-01-01 00:00:00+00:...s': {'Accept': 
'application/json, text/plain, */*', 'Authorization': 'Bearer test', 
'User-Agent': 'AioWithings/2.1.0'}}
url_origin = URL('https://wbsapi.withings.net/v2/measure')
url_str = 'https://wbsapi.withings.net/v2/measure'
key = ('POST', URL('https://wbsapi.withings.net/v2/measure'))
request_call = RequestCall(args=(), kwargs={'headers': {'User-Agent': 
'AioWithings/2.1.0', 'Accept': 'application/json, text/plain, *...0-01-01 
00:00:00+00:00', 'enddateymd': '2021-01-02 03:46:40+00:00', 'action': 
'getworkouts'}, 'allow_redirects': True})
response = None

    async def _request_mock(self, orig_self: ClientSession,
                            method: str, url: 'Union[URL, str]',
                            *args: Tuple,
                            **kwargs: Any) -> 'ClientResponse':
        """Return mocked response object or raise connection error."""
        if orig_self.closed:
            raise RuntimeError('Session is closed')
url_origin = url
        url = normalize_url(merge_params(url, kwargs.get('params')))
        url_str = str(url)
        for prefix in self._passthrough:
            if url_str.startswith(prefix):
                return (await self.patcher.temp_original(
                    orig_self, method, url_origin, *args, **kwargs
                ))
key = (method, url)
        self.requests.setdefault(key, [])
        request_call = self._build_request_call(method, *args, **kwargs)
        self.requests[key].append(request_call)
response = await self.match(method, url, **kwargs) if response is None:
          raise ClientConnectionError(
                'Connection refused: {} {}'.format(method, url)
            )
E           aiohttp.client_exceptions.ClientConnectionError: Connection 
refused: POST https://wbsapi.withings.net/v2/measure

/usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError

---------- coverage: platform linux, python 3.12.7-final-0 -----------
Name                      Stmts   Miss Branch BrPart  Cover   Missing
---------------------------------------------------------------------
aiowithings/models.py       563     79     94      0    82%   115-127, 149-154, 
407, 450, 463-465, 516, 720-736, 876-926
aiowithings/util.py          16      3      0      0    81%   20-26
aiowithings/withings.py     132     35     40      1    69%   115-147, 152, 
157, 170, 221, 240, 282, 321, 375
---------------------------------------------------------------------
TOTAL                       761    117    152      1    81%

4 files skipped due to complete coverage.

FAIL Required test coverage of 100% not reached. Total coverage: 80.72%
--------------------------- snapshot report summary ----------------------------
22 snapshots passed. 17 snapshots unused.

Re-run pytest with --snapshot-update to delete unused snapshots.
=========================== short test summary info ============================
FAILED tests/test_withings.py::test_putting_in_own_session - aiohttp.client_e...
FAILED tests/test_withings.py::test_creating_own_session - aiohttp.client_exc...
FAILED tests/test_withings.py::test_unexpected_server_response - aiohttp.clie...
FAILED tests/test_withings.py::test_timeout - aiohttp.client_exceptions.Clien...
FAILED 
tests/test_withings.py::test_error_codes[100-WithingsAuthenticationFailedError]
FAILED tests/test_withings.py::test_error_codes[201-WithingsInvalidParamsError]
FAILED tests/test_withings.py::test_error_codes[214-WithingsUnauthorizedError]
FAILED tests/test_withings.py::test_error_codes[215-WithingsErrorOccurredError]
FAILED tests/test_withings.py::test_error_codes[522-WithingsConnectionError]
FAILED tests/test_withings.py::test_error_codes[524-WithingsBadStateError] - ...
FAILED 
tests/test_withings.py::test_error_codes[601-WithingsTooManyRequestsError]
FAILED tests/test_withings.py::test_error_codes[-1-WithingsUnknownStatusError]
FAILED tests/test_withings.py::test_error_codes[None-WithingsUnknownStatusError]
FAILED tests/test_withings.py::test_get_activities_since - aiohttp.client_exc...
FAILED tests/test_withings.py::test_get_activities_period - aiohttp.client_ex...
FAILED tests/test_withings.py::test_get_devices - aiohttp.client_exceptions.C...
FAILED tests/test_withings.py::test_get_new_device - aiohttp.client_exception...
FAILED tests/test_withings.py::test_get_goals[goals] - aiohttp.client_excepti...
FAILED tests/test_withings.py::test_get_goals[goals_1] - aiohttp.client_excep...
FAILED tests/test_withings.py::test_get_goals[goals_2] - aiohttp.client_excep...
FAILED tests/test_withings.py::test_get_goals[no_goals] - aiohttp.client_exce...
FAILED tests/test_withings.py::test_get_measurement_since - aiohttp.client_ex...
FAILED tests/test_withings.py::test_get_measurement_period - aiohttp.client_e...
FAILED tests/test_withings.py::test_subscribing - aiohttp.client_exceptions.C...
FAILED tests/test_withings.py::test_revoking - aiohttp.client_exceptions.Clie...
FAILED tests/test_withings.py::test_list_subscriptions - aiohttp.client_excep...
FAILED tests/test_withings.py::test_list_all_subscriptions - aiohttp.client_e...
FAILED tests/test_withings.py::test_get_sleep - aiohttp.client_exceptions.Cli...
FAILED tests/test_withings.py::test_get_sleep_without_data_fields - aiohttp.c...
FAILED tests/test_withings.py::test_get_sleep_summary_in_period - aiohttp.cli...
FAILED 
tests/test_withings.py::test_get_sleep_summary_in_period_without_data_fields
FAILED tests/test_withings.py::test_get_sleep_summary_since - aiohttp.client_...
FAILED tests/test_withings.py::test_get_sleep_summary_since_without_data_fields
FAILED tests/test_withings.py::test_get_workouts_since - aiohttp.client_excep...
FAILED tests/test_withings.py::test_get_workouts_period - aiohttp.client_exce...
======================== 35 failed, 25 passed in 4.10s =========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest -v tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.12 
returned exit code 13
make: *** [debian/rules:9: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202410/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.

--- End Message ---
--- Begin Message ---
Source: python-aiowithings
Source-Version: 3.0.3-3
Done: Edward Betts <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-aiowithings, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Edward Betts <[email protected]> (supplier of updated python-aiowithings 
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 [email protected])


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

Format: 1.8
Date: Mon, 13 Oct 2025 22:08:07 +0100
Source: python-aiowithings
Architecture: source
Version: 3.0.3-3
Distribution: unstable
Urgency: medium
Maintainer: Home Assistant Team <[email protected]>
Changed-By: Edward Betts <[email protected]>
Closes: 1084327 1118020
Changes:
 python-aiowithings (3.0.3-3) unstable; urgency=medium
 .
   * Skip tests that accesses the network. (Closes: #1084327, #1118020)
   * Pass --no-cov to pytest, to skip coverage report.
   * Update Standards-Version.
   * Add my name to Uploaders and debian/copyright.
Checksums-Sha1:
 8b5f846b30dbebafb5c54dae47550b451f929fad 2449 python-aiowithings_3.0.3-3.dsc
 c6d5a72446d30f837fe5bb0efd80b0eb79a33356 2256 
python-aiowithings_3.0.3-3.debian.tar.xz
 9edcd20f318ef80ea92e4bdf1af493916558aa7e 7280 
python-aiowithings_3.0.3-3_source.buildinfo
Checksums-Sha256:
 060d7a28e24b50554bca1c6247e209e415b9947ff701128c7095e9b07310728f 2449 
python-aiowithings_3.0.3-3.dsc
 2b11eca1a2cc048bda9296f39cefe5f23be5e9182ef1d17506fc5393f673eec2 2256 
python-aiowithings_3.0.3-3.debian.tar.xz
 16630236dd06bb2ee2be3b4009d2661875423b269fb2c960285d5869b690fec8 7280 
python-aiowithings_3.0.3-3_source.buildinfo
Files:
 903096ff8f2a9b357f39104566d0d3d5 2449 python optional 
python-aiowithings_3.0.3-3.dsc
 921da2d44fd062bb1419304b6243b735 2256 python optional 
python-aiowithings_3.0.3-3.debian.tar.xz
 cd328e381d474c54d6fb8526652272e9 7280 python optional 
python-aiowithings_3.0.3-3_source.buildinfo

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

iQIzBAEBCgAdFiEE+4rPp4xyYInDitAmlgWhCYxjuSoFAmjuQngACgkQlgWhCYxj
uSoe6g/6A0NHVhNBkL+lou+pTlkN0hSWtnyb6BalcorhMm3KJiRSatX4jiVyBdQd
lSIzmKgd2oNZbfB2CKAYL0RKwLDFiPr0VNz8biqGLh8jguzn/URuH97soKSR7Yue
OJK99C9gXIwbL47ngT/mVSXdIHmP+DpZ7LYfjMCEoS5sz7f5npndtjKNlmVo3kmk
gMPFeu6BgQlWmrIvpz24x0W26U5a3baHqtPT4sYPSlpoz4jvqvQIY6qrr3HcqdHe
gec/j5TUjtyRoD5uSu0QwGddz5pQgm3K//CQq7M0sM3a7Wl7Jql9o+alQl0oKCpc
Djhh4hIytXwHTdRGBQS/TWcm1xV7HI+574ojTA9BsamjNUQxTmxVLEjsc0yvWLTH
MkXzYmINS663ykbENL6C6EkGHBBaJZLcB/4frgfYMwYlrZcqGCGG4EkO5W+3FdZG
f8zlH5goB7YCwQqrFqPAIlzywjHFiEJwKZCthCNjvbor2kEAH0ADTVVpmYwi2VvS
Qy1MBAkPAGjsgdOz7ilNG9PhBj+j5BzkHZ4+ppmuqfhPU0Wp3A6lrk++n5HTRzch
69RZPTI+yJRGe7lofjy0NFKT12dGeRLqfkK97dforiHLvHvPr+34dCgy/IJEMZNZ
pUu1RHzDq7dsYmTJqwtc87JF3F37O1umXFwrGWL2DXTlEeN3SEQ=
=mU41
-----END PGP SIGNATURE-----

Attachment: pgpYxU7QoeSLw.pgp
Description: PGP signature


--- End Message ---

Reply via email to