Source: python-miio Version: 0.5.12-1 Severity: normal User: [email protected] Usertags: python3.13
This package failed build from source when test-built against a version of python3-defaults that includes 3.13 as a supported version. To reproduce this issue, build against python3-defaults (python3-all-dev etc.) from Debian experimental. What's new in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html Log snippet: dh_auto_test I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest ============================= test session starts ============================== platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build configfile: pyproject.toml plugins: typeguard-4.3.0, mock-3.14.0 collected 838 items miio/integrations/airpurifier/airdog/tests/test_airpurifier_airdog.py .. [ 0%] ..... [ 0%] miio/integrations/airpurifier/dmaker/tests/test_airfresh_t2017.py ...... [ 1%] ................. [ 3%] miio/integrations/airpurifier/zhimi/tests/test_airfilter_util.py .... [ 4%] miio/integrations/airpurifier/zhimi/tests/test_airfresh.py ............. [ 5%] ........ [ 6%] miio/integrations/airpurifier/zhimi/tests/test_airpurifier.py .......... [ 7%] .................. [ 9%] miio/integrations/airpurifier/zhimi/tests/test_airpurifier_miot.py ..... [ 10%] .............. [ 12%] miio/integrations/fan/dmaker/test_fan.py ........... [ 13%] miio/integrations/fan/dmaker/test_fan_miot.py ..................... [ 15%] miio/integrations/fan/leshow/tests/test_fan_leshow.py ....... [ 16%] miio/integrations/fan/zhimi/test_fan.py ................................ [ 20%] ............ [ 22%] miio/integrations/fan/zhimi/test_zhimi_miot.py ............ [ 23%] miio/integrations/humidifier/deerma/tests/test_airhumidifier_jsqs.py ... [ 23%] ..... [ 24%] miio/integrations/humidifier/deerma/tests/test_airhumidifier_mjjsq.py .. [ 24%] ...... [ 25%] miio/integrations/humidifier/shuii/tests/test_airhumidifier_jsq.py ..... [ 26%] ......... [ 27%] miio/integrations/humidifier/zhimi/tests/test_airhumidifier.py ......... [ 28%] ............................................. [ 33%] miio/integrations/humidifier/zhimi/tests/test_airhumidifier_miot.py .... [ 34%] ............. [ 35%] miio/integrations/light/philips/tests/test_ceil.py .......... [ 36%] miio/integrations/light/philips/tests/test_philips_bulb.py ............. [ 38%] [ 38%] miio/integrations/light/philips/tests/test_philips_eyecare.py .......... [ 39%] . [ 39%] miio/integrations/light/philips/tests/test_philips_moonlight.py ........ [ 40%] . [ 40%] miio/integrations/light/philips/tests/test_philips_rwread.py ......... [ 41%] miio/integrations/light/yeelight/tests/test_yeelight.py ....s...s.s.... [ 43%] miio/integrations/light/yeelight/tests/test_yeelight_spec_helper.py .. [ 43%] miio/integrations/petwaterdispenser/tests/test_status.py . [ 43%] miio/integrations/vacuum/dreame/tests/test_dreamevacuum_miot.py ........ [ 44%] ......... [ 45%] miio/integrations/vacuum/roborock/tests/test_mirobo.py . [ 46%] miio/integrations/vacuum/roborock/tests/test_vacuum.py ................. [ 48%] .... [ 48%] miio/integrations/vacuum/roidmi/tests/test_roidmivacuum_miot.py ........ [ 49%] [ 49%] miio/tests/test_airconditioner_miot.py ................ [ 51%] miio/tests/test_airconditioningcompanion.py ................. [ 53%] miio/tests/test_airdehumidifier.py ......... [ 54%] miio/tests/test_airqualitymonitor.py ..... [ 55%] miio/tests/test_airqualitymonitor_miot.py ..... [ 55%] miio/tests/test_chuangmi_ir.py ....... [ 56%] miio/tests/test_chuangmi_plug.py ............... [ 58%] miio/tests/test_click_common.py .. [ 58%] miio/tests/test_device.py .............................................. [ 64%] ........................................................................ [ 72%] ..... [ 73%] miio/tests/test_deviceinfo.py .. [ 73%] miio/tests/test_devicestatus.py ...... [ 74%] miio/tests/test_heater.py ........ [ 75%] miio/tests/test_heater_miot.py ....... [ 76%] miio/tests/test_huizuo.py ............... [ 77%] miio/tests/test_miotdevice.py .......F.................................. [ 82%] ............... [ 84%] miio/tests/test_powerstrip.py ................... [ 86%] miio/tests/test_protocol.py ............... [ 88%] miio/tests/test_toiletlid.py ...... [ 89%] miio/tests/test_vacuums.py ............................................. [ 94%] ....................... [ 97%] miio/tests/test_walkingpad.py ....... [ 98%] miio/tests/test_waterpurifier.py ... [ 98%] miio/tests/test_wifirepeater.py ..... [ 99%] miio/tests/test_yeelight_dual_switch.py ...... [100%] =================================== FAILURES =================================== _____________________ test_set_property_by[value_type4-1] ______________________ dev = <MiotDevice: 127.0.0.1 (token: 68ffffffffffffffffffffffffffffff)> value_type = functools.partial(<function MiotValueType._str2bool at 0xffffb5754720>) value = '1' @pytest.mark.parametrize( "value_type,value", [ (None, 1), (MiotValueType.Int, "1"), (MiotValueType.Float, "1.2"), (MiotValueType.Str, "str"), (MiotValueType.Bool, "1"), ], ) def test_set_property_by(dev, value_type, value): siid = 1 piid = 1 > _ = dev.set_property_by(siid, piid, value, value_type) miio/tests/test_miotdevice.py:61: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ miio/click_common.py:184: in _wrap return func(self, *args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <MiotDevice: 127.0.0.1 (token: 68ffffffffffffffffffffffffffffff)> siid = 1, piid = 1, value = '1' value_type = functools.partial(<function MiotValueType._str2bool at 0xffffb5754720>) @command( click.argument("siid", type=int), click.argument("piid", type=int), click.argument("value"), click.argument( "value_type", type=EnumType(MiotValueType), required=False, default=None ), ) def set_property_by( self, siid: int, piid: int, value: Union[int, float, str, bool], value_type: Any = None, ): """Set a single property (siid/piid) to given value. value_type can be given to convert the value to wanted type, allowed types are: int, float, bool, str """ if value_type is not None: > value = value_type.value(value) E AttributeError: 'functools.partial' object has no attribute 'value' miio/miot_device.py:142: AttributeError =============================== warnings summary =============================== miio/protocol.py:222 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/miio/protocol.py:222: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). "ts" / TimeAdapter(Default(Int32ub, datetime.datetime.utcnow())), miio/integrations/vacuum/dreame/tests/test_dreamevacuum_miot.py: 8 warnings miio/integrations/vacuum/roborock/tests/test_mirobo.py: 1 warning miio/tests/test_device.py: 68 warnings miio/tests/test_miotdevice.py: 3 warnings miio/tests/test_protocol.py: 8 warnings miio/tests/test_vacuums.py: 66 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/miio/miioprotocol.py:50: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). self._device_ts: datetime = datetime.utcnow() miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV1::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV1::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV3::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV3::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugM1::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugM1::test_status /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/miio/device.py:41: DeprecationWarning: Call to deprecated function wifi_led (Use led()). prop_value = prop.fget(self) miio/tests/test_powerstrip.py::TestPowerStripV1::test_status miio/tests/test_powerstrip.py::TestPowerStripV1::test_status miio/tests/test_powerstrip.py::TestPowerStripV2::test_status miio/tests/test_powerstrip.py::TestPowerStripV2::test_status /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/miio/device.py:41: DeprecationWarning: Call to deprecated function wifi_led (Use led instead of wifi_led). prop_value = prop.fget(self) miio/tests/test_protocol.py::test_decode_json_payload miio/tests/test_protocol.py::test_decode_json_quirk_powerstrip miio/tests/test_protocol.py::test_decode_json_quirk_cloud /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/miio/protocol.py:146: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). return datetime.datetime.utcfromtimestamp(obj) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED miio/tests/test_miotdevice.py::test_set_property_by[value_type4-1] - A... ============ 1 failed, 834 passed, 3 skipped, 168 warnings in 2.48s ============ E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build; python3.12 -m pytest ============================= test session starts ============================== platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build configfile: pyproject.toml plugins: typeguard-4.3.0, mock-3.14.0 collected 838 items miio/integrations/airpurifier/airdog/tests/test_airpurifier_airdog.py .. [ 0%] ..... [ 0%] miio/integrations/airpurifier/dmaker/tests/test_airfresh_t2017.py ...... [ 1%] ................. [ 3%] miio/integrations/airpurifier/zhimi/tests/test_airfilter_util.py .... [ 4%] miio/integrations/airpurifier/zhimi/tests/test_airfresh.py ............. [ 5%] ........ [ 6%] miio/integrations/airpurifier/zhimi/tests/test_airpurifier.py .......... [ 7%] .................. [ 9%] miio/integrations/airpurifier/zhimi/tests/test_airpurifier_miot.py ..... [ 10%] .............. [ 12%] miio/integrations/fan/dmaker/test_fan.py ........... [ 13%] miio/integrations/fan/dmaker/test_fan_miot.py ..................... [ 15%] miio/integrations/fan/leshow/tests/test_fan_leshow.py ....... [ 16%] miio/integrations/fan/zhimi/test_fan.py ................................ [ 20%] ............ [ 22%] miio/integrations/fan/zhimi/test_zhimi_miot.py ............ [ 23%] miio/integrations/humidifier/deerma/tests/test_airhumidifier_jsqs.py ... [ 23%] ..... [ 24%] miio/integrations/humidifier/deerma/tests/test_airhumidifier_mjjsq.py .. [ 24%] ...... [ 25%] miio/integrations/humidifier/shuii/tests/test_airhumidifier_jsq.py ..... [ 26%] ......... [ 27%] miio/integrations/humidifier/zhimi/tests/test_airhumidifier.py ......... [ 28%] ............................................. [ 33%] miio/integrations/humidifier/zhimi/tests/test_airhumidifier_miot.py .... [ 34%] ............. [ 35%] miio/integrations/light/philips/tests/test_ceil.py .......... [ 36%] miio/integrations/light/philips/tests/test_philips_bulb.py ............. [ 38%] [ 38%] miio/integrations/light/philips/tests/test_philips_eyecare.py .......... [ 39%] . [ 39%] miio/integrations/light/philips/tests/test_philips_moonlight.py ........ [ 40%] . [ 40%] miio/integrations/light/philips/tests/test_philips_rwread.py ......... [ 41%] miio/integrations/light/yeelight/tests/test_yeelight.py ....s...s.s.... [ 43%] miio/integrations/light/yeelight/tests/test_yeelight_spec_helper.py .. [ 43%] miio/integrations/petwaterdispenser/tests/test_status.py . [ 43%] miio/integrations/vacuum/dreame/tests/test_dreamevacuum_miot.py ........ [ 44%] ......... [ 45%] miio/integrations/vacuum/roborock/tests/test_mirobo.py . [ 46%] miio/integrations/vacuum/roborock/tests/test_vacuum.py ................. [ 48%] .... [ 48%] miio/integrations/vacuum/roidmi/tests/test_roidmivacuum_miot.py ........ [ 49%] [ 49%] miio/tests/test_airconditioner_miot.py ................ [ 51%] miio/tests/test_airconditioningcompanion.py ................. [ 53%] miio/tests/test_airdehumidifier.py ......... [ 54%] miio/tests/test_airqualitymonitor.py ..... [ 55%] miio/tests/test_airqualitymonitor_miot.py ..... [ 55%] miio/tests/test_chuangmi_ir.py ....... [ 56%] miio/tests/test_chuangmi_plug.py ............... [ 58%] miio/tests/test_click_common.py .. [ 58%] miio/tests/test_device.py .............................................. [ 64%] ........................................................................ [ 72%] ..... [ 73%] miio/tests/test_deviceinfo.py .. [ 73%] miio/tests/test_devicestatus.py ...... [ 74%] miio/tests/test_heater.py ........ [ 75%] miio/tests/test_heater_miot.py ....... [ 76%] miio/tests/test_huizuo.py ............... [ 77%] miio/tests/test_miotdevice.py .......................................... [ 82%] ............... [ 84%] miio/tests/test_powerstrip.py ................... [ 86%] miio/tests/test_protocol.py ............... [ 88%] miio/tests/test_toiletlid.py ...... [ 89%] miio/tests/test_vacuums.py ............................................. [ 94%] ....................... [ 97%] miio/tests/test_walkingpad.py ....... [ 98%] miio/tests/test_waterpurifier.py ... [ 98%] miio/tests/test_wifirepeater.py ..... [ 99%] miio/tests/test_yeelight_dual_switch.py ...... [100%] =============================== warnings summary =============================== miio/protocol.py:222 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/miio/protocol.py:222: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). "ts" / TimeAdapter(Default(Int32ub, datetime.datetime.utcnow())), miio/integrations/vacuum/dreame/tests/test_dreamevacuum_miot.py: 8 warnings miio/integrations/vacuum/roborock/tests/test_mirobo.py: 1 warning miio/tests/test_device.py: 68 warnings miio/tests/test_miotdevice.py: 3 warnings miio/tests/test_protocol.py: 8 warnings miio/tests/test_vacuums.py: 66 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/miio/miioprotocol.py:50: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). self._device_ts: datetime = datetime.utcnow() miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV1::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV1::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV3::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugV3::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugM1::test_status miio/tests/test_chuangmi_plug.py::TestChuangmiPlugM1::test_status /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/miio/device.py:41: DeprecationWarning: Call to deprecated function wifi_led (Use led()). prop_value = prop.fget(self) miio/tests/test_powerstrip.py::TestPowerStripV1::test_status miio/tests/test_powerstrip.py::TestPowerStripV1::test_status miio/tests/test_powerstrip.py::TestPowerStripV2::test_status miio/tests/test_powerstrip.py::TestPowerStripV2::test_status /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/miio/device.py:41: DeprecationWarning: Call to deprecated function wifi_led (Use led instead of wifi_led). prop_value = prop.fget(self) miio/tests/test_protocol.py::test_decode_json_payload miio/tests/test_protocol.py::test_decode_json_quirk_powerstrip miio/tests/test_protocol.py::test_decode_json_quirk_cloud /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/miio/protocol.py:146: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). return datetime.datetime.utcfromtimestamp(obj) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================= 835 passed, 3 skipped, 168 warnings in 2.45s ================= dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 make[1]: *** [debian/rules:16: override_dh_auto_test] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:7: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-09-19T04:06:57Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/785943/ This bug has been filed at "normal" severity, as we haven't started the transition to add 3.13 as a supported version, yet. This will be raised to RC as soon as that happens, hopefully well before trixie. Thanks, Stefano

