Skip to content

Python 3.14 #490

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'
``

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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