home-assistant: skip another flaky test

Multiple people have seen failures like this:

    _________________ test_platform_multiple_triggers[sync_action] _________________
    [gw6] linux -- Python 3.13.9 /nix/store/7gl4khq26h625mpqzkiiqsify3hclar1-python3-3.13.9/bin/python3.13

    hass = <HomeAssistant RUNNING>
    action_method = <bound method TriggerActionFunctionTypeHelper.sync_action of <tests.helpers.test_trigger.TriggerActionFunctionTypeHelper object at 0x7fffa6c58550>>

        @pytest.mark.parametrize("action_method", ["cb_action", "sync_action", "async_action"])
        async def test_platform_multiple_triggers(
            hass: HomeAssistant, action_method: str
        ) -> None:
            """Test a trigger platform with multiple trigger."""

            class MockTrigger(Trigger):
                """Mock trigger."""

                @classmethod
                async def async_validate_config(
                    cls, hass: HomeAssistant, config: ConfigType
                ) -> ConfigType:
                    """Validate config."""
                    return config

            class MockTrigger1(MockTrigger):
                """Mock trigger 1."""

                async def async_attach_runner(
                    self, run_action: TriggerActionRunner
                ) -> CALLBACK_TYPE:
                    """Attach a trigger."""
                    run_action({"extra": "test_trigger_1"}, "trigger 1 desc")

            class MockTrigger2(MockTrigger):
                """Mock trigger 2."""

                async def async_attach_runner(
                    self, run_action: TriggerActionRunner
                ) -> CALLBACK_TYPE:
                    """Attach a trigger."""
                    run_action({"extra": "test_trigger_2"}, "trigger 2 desc")

            async def async_get_triggers(hass: HomeAssistant) -> dict[str, type[Trigger]]:
                return {
                    "_": MockTrigger1,
                    "trig_2": MockTrigger2,
                }

            mock_integration(hass, MockModule("test"))
            mock_platform(hass, "test.trigger", Mock(async_get_triggers=async_get_triggers))

            config_1 = [{"platform": "test"}]
            config_2 = [{"platform": "test.trig_2", "options": {"x": 1}}]
            config_3 = [{"platform": "test.unknown_trig"}]
            assert await async_validate_trigger_config(hass, config_1) == config_1
            assert await async_validate_trigger_config(hass, config_2) == config_2
            with pytest.raises(
                vol.Invalid, match="Invalid trigger 'test.unknown_trig' specified"
            ):
                await async_validate_trigger_config(hass, config_3)

            log_cb = MagicMock()

            action_helper = TriggerActionFunctionTypeHelper()
            action_method = getattr(action_helper, action_method)

            await async_initialize_triggers(hass, config_1, action_method, "test", "", log_cb)
    >       assert len(action_helper.action_calls) == 1
    E       assert 0 == 1
    E        +  where 0 = len([])
    E        +    where [] = <tests.helpers.test_trigger.TriggerActionFunctionTypeHelper object at 0x7fffa6c58550>.action_calls

    MockTrigger = <class 'tests.helpers.test_trigger.test_platform_multiple_triggers.<locals>.MockTrigger'>
    MockTrigger1 = <class 'tests.helpers.test_trigger.test_platform_multiple_triggers.<locals>.MockTrigger1'>
    MockTrigger2 = <class 'tests.helpers.test_trigger.test_platform_multiple_triggers.<locals>.MockTrigger2'>
    action_helper = <tests.helpers.test_trigger.TriggerActionFunctionTypeHelper object at 0x7fffa6c58550>
    action_method = <bound method TriggerActionFunctionTypeHelper.sync_action of <tests.helpers.test_trigger.TriggerActionFunctionTypeHelper object at 0x7fffa6c58550>>
    async_get_triggers = <function test_platform_multiple_triggers.<locals>.async_get_triggers at 0x7fff807a32e0>
    config_1   = [{'platform': 'test'}]
    config_2   = [{'options': {'x': 1}, 'platform': 'test.trig_2'}]
    config_3   = [{'platform': 'test.unknown_trig'}]
    hass       = <HomeAssistant RUNNING>
    log_cb     = <MagicMock id='140735954672608'>

    tests/helpers/test_trigger.py:530: AssertionError
This commit is contained in:
Robert Schütz
2025-11-16 13:45:27 -08:00
parent aab616ef8f
commit 0f06078c6f

View File

@@ -500,6 +500,7 @@ python.pkgs.buildPythonApplication rec {
"tests/test_bootstrap.py::test_setup_hass_takes_longer_than_log_slow_startup" "tests/test_bootstrap.py::test_setup_hass_takes_longer_than_log_slow_startup"
"tests/test_test_fixtures.py::test_evict_faked_translations" "tests/test_test_fixtures.py::test_evict_faked_translations"
"tests/helpers/test_backup.py::test_async_get_manager" "tests/helpers/test_backup.py::test_async_get_manager"
"tests/helpers/test_trigger.py::test_platform_multiple_triggers[sync_action]"
]; ];
preCheck = '' preCheck = ''