Skip to content

Python 3.14 #490

@fabaff

Description

@fabaff

One test is starting to failing with Python 3.14.

============================= test session starts ==============================
platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0
rootdir: /build/source
configfile: pyproject.toml
testpaths: tests
plugins: asyncio-1.3.0, timeout-2.4.0
asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
collected 189 items                                                            

tests/test_accessory.py .......................                          [ 12%]
tests/test_accessory_driver.py ...........F....................          [ 29%]
tests/test_camera.py ...                                                 [ 30%]
tests/test_characteristic.py ..................................          [ 48%]
tests/test_encoder.py ..                                                 [ 49%]
tests/test_hap_crypto.py .                                               [ 50%]
tests/test_hap_handler.py ...............................                [ 66%]
tests/test_hap_protocol.py ..........................                    [ 80%]
tests/test_hap_server.py .....                                           [ 83%]
tests/test_hsrp.py .                                                     [ 83%]
tests/test_iid_manager.py ......                                         [ 86%]
tests/test_loader.py .....                                               [ 89%]
tests/test_service.py ...........                                        [ 95%]
tests/test_state.py ...                                                  [ 96%]
tests/test_tlv.py ..                                                     [ 97%]
tests/test_util.py ....                                                  [100%]

=================================== FAILURES ===================================
_____________________________ test_start_from_sync _____________________________

driver = <pyhap.accessory_driver.AccessoryDriver object at 0x7ffff4865f40>

    def test_start_from_sync(driver: AccessoryDriver):
        """Start from sync."""
    
        class Acc(Accessory):
            @Accessory.run_at_interval(0)
            async def run(self):
                driver.executor = ThreadPoolExecutor()
                driver.loop.set_default_executor(driver.executor)
                await driver.async_stop()
    
            def setup_message(self):
                pass
    
        acc = Acc(driver, "TestAcc")
        driver.add_accessory(acc)
        with patch.object(driver.loop, "close"):
>           driver.start()

tests/test_accessory_driver.py:560: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
pyhap/accessory_driver.py:327: in start
    watcher = asyncio.SafeChildWatcher()  # pylint: disable=deprecated-class
              ^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = 'SafeChildWatcher'

    def __getattr__(name: str):
        import warnings
    
        match name:
            case "AbstractEventLoopPolicy":
                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                return events._AbstractEventLoopPolicy
            case "DefaultEventLoopPolicy":
                warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                if sys.platform == 'win32':
                    return windows_events._DefaultEventLoopPolicy
                return unix_events._DefaultEventLoopPolicy
            case "WindowsSelectorEventLoopPolicy":
                if sys.platform == 'win32':
                    warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                    return windows_events._WindowsSelectorEventLoopPolicy
                # Else fall through to the AttributeError below.
            case "WindowsProactorEventLoopPolicy":
                if sys.platform == 'win32':
                    warnings._deprecated(f"asyncio.{name}", remove=(3, 16))
                    return windows_events._WindowsProactorEventLoopPolicy
                # Else fall through to the AttributeError below.
    
>       raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
E       AttributeError: module 'asyncio' has no attribute 'SafeChildWatcher'
``

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions