-
Notifications
You must be signed in to change notification settings - Fork 123
Open
Description
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
Labels
No labels