From 76a0f898d935d48bcc9627c9d2b8b26703900ef8 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 17:41:33 -0700 Subject: [PATCH 01/28] Fix autoreset_control_seconds_test on dev HA core --- custom_components/adaptive_lighting/switch.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index 150f2ef4..697c5857 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2030,14 +2030,33 @@ def _handle_timer( reset_coroutine: Callable[[], Coroutine[Any, Any, None]], ) -> None: timer = timers_dict.get(light) + _LOGGER.debug( + "Timer for light %s: %s", + light, + timer, + ) if timer is not None: if delay is None: # Timer object exists, but should not anymore + _LOGGER.debug( + "Cancelling timer for light %s", + light, + ) timer.cancel() timers_dict.pop(light) else: # Timer object already exists, just update the delay and restart it + _LOGGER.debug( + "Timer for light %s already exists, updating delay to %s", + light, + delay, + ) timer.delay = delay timer.start() elif delay is not None: # Timer object does not exist, create it + _LOGGER.debug( + "Creating timer for light %s with delay %s", + light, + delay, + ) timer = _AsyncSingleShotTimer(delay, reset_coroutine) timers_dict[light] = timer timer.start() From a641f28d3ebade1f5dd480fce04f7780a7719545 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 18:27:34 -0700 Subject: [PATCH 02/28] change times --- tests/test_switch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_switch.py b/tests/test_switch.py index 4744f878..ce24c770 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -799,7 +799,7 @@ async def turn_light(state, **kwargs): for i in range(3): _LOGGER.debug("Quick change %s", i) await turn_light(True, brightness=(i + 1) * 20) - await asyncio.sleep(0.05) # Less than 0.1 + await asyncio.sleep(0.04) # Less than 0.1, but 3x0.04 > 0.1 assert manual_control[light.entity_id] await update() From cf8bd946caa38fbaa5eb3f8eb77b175e899d40b9 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 18:28:10 -0700 Subject: [PATCH 03/28] remove loggin --- custom_components/adaptive_lighting/switch.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index 697c5857..150f2ef4 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2030,33 +2030,14 @@ def _handle_timer( reset_coroutine: Callable[[], Coroutine[Any, Any, None]], ) -> None: timer = timers_dict.get(light) - _LOGGER.debug( - "Timer for light %s: %s", - light, - timer, - ) if timer is not None: if delay is None: # Timer object exists, but should not anymore - _LOGGER.debug( - "Cancelling timer for light %s", - light, - ) timer.cancel() timers_dict.pop(light) else: # Timer object already exists, just update the delay and restart it - _LOGGER.debug( - "Timer for light %s already exists, updating delay to %s", - light, - delay, - ) timer.delay = delay timer.start() elif delay is not None: # Timer object does not exist, create it - _LOGGER.debug( - "Creating timer for light %s with delay %s", - light, - delay, - ) timer = _AsyncSingleShotTimer(delay, reset_coroutine) timers_dict[light] = timer timer.start() From a591b238a22d14a34b035aeef416c2e62c89e199 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 23:09:14 -0700 Subject: [PATCH 04/28] Test working and non-working --- .github/workflows/pytest.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index ba7eb1a7..76ad9fa7 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -32,6 +32,10 @@ jobs: core-version: "2023.6.1" - python-version: "3.11" core-version: "dev" + - python-version: "3.11" + core-version: "42bca0f94a393ed841f03f7d60d99d2881851b47" + - python-version: "3.11" + core-version: "00e78fbf192c8c9b197cbdfa5638160935eff385" steps: - name: Check out code from GitHub uses: actions/checkout@v3 From 34b3dee77351f3e31047c75117c0394dbd6f528a Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 23:15:24 -0700 Subject: [PATCH 05/28] more tests --- .github/workflows/pytest.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 76ad9fa7..3fe1adc1 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -30,12 +30,16 @@ jobs: core-version: "2023.5.2" - python-version: "3.11" core-version: "2023.6.1" + - python-version: "3.11" + core-version: "2023.8.0" - python-version: "3.11" core-version: "dev" - python-version: "3.11" core-version: "42bca0f94a393ed841f03f7d60d99d2881851b47" - python-version: "3.11" core-version: "00e78fbf192c8c9b197cbdfa5638160935eff385" + - python-version: "3.11" + core-version: "3f5a21dce4" steps: - name: Check out code from GitHub uses: actions/checkout@v3 From 814bbd6abcefb3927991d0e73a4b5697173fd311 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 23:18:18 -0700 Subject: [PATCH 06/28] use full ref --- .github/workflows/pytest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 3fe1adc1..e77b396d 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -39,7 +39,7 @@ jobs: - python-version: "3.11" core-version: "00e78fbf192c8c9b197cbdfa5638160935eff385" - python-version: "3.11" - core-version: "3f5a21dce4" + core-version: "3f5a21dce41907616a82e3c36449e8992cf48636" steps: - name: Check out code from GitHub uses: actions/checkout@v3 From 4508c3939dae152e23b898ca230320b95961a9c4 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 23:19:10 -0700 Subject: [PATCH 07/28] verify error in 2023.8.0 --- .github/workflows/pytest.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index e77b396d..e65eb673 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -31,15 +31,13 @@ jobs: - python-version: "3.11" core-version: "2023.6.1" - python-version: "3.11" - core-version: "2023.8.0" - - python-version: "3.11" - core-version: "dev" + core-version: "2023.7.3" - python-version: "3.11" - core-version: "42bca0f94a393ed841f03f7d60d99d2881851b47" + core-version: "2023.8.0b0" - python-version: "3.11" - core-version: "00e78fbf192c8c9b197cbdfa5638160935eff385" + core-version: "2023.8.0" - python-version: "3.11" - core-version: "3f5a21dce41907616a82e3c36449e8992cf48636" + core-version: "dev" steps: - name: Check out code from GitHub uses: actions/checkout@v3 From eb7786352e53ad537826a488b80c715f7cad4561 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 23:25:42 -0700 Subject: [PATCH 08/28] more --- .github/workflows/pytest.yaml | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index e65eb673..b090ba98 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -14,24 +14,30 @@ jobs: fail-fast: false matrix: include: - - python-version: "3.10" - core-version: "2022.11.5" - - python-version: "3.10" - core-version: "2022.12.9" - - python-version: "3.10" - core-version: "2023.1.7" - - python-version: "3.10" - core-version: "2023.2.5" - - python-version: "3.10" - core-version: "2023.3.6" - - python-version: "3.10" - core-version: "2023.4.6" - - python-version: "3.10" - core-version: "2023.5.2" + # - python-version: "3.10" + # core-version: "2022.11.5" + # - python-version: "3.10" + # core-version: "2022.12.9" + # - python-version: "3.10" + # core-version: "2023.1.7" + # - python-version: "3.10" + # core-version: "2023.2.5" + # - python-version: "3.10" + # core-version: "2023.3.6" + # - python-version: "3.10" + # core-version: "2023.4.6" + # - python-version: "3.10" + # core-version: "2023.5.2" - python-version: "3.11" core-version: "2023.6.1" - python-version: "3.11" core-version: "2023.7.3" + - python-version: "3.11" + core-version: "6ef7c5ece6e317737901c482ccac8f4875bb3c73" + - python-version: "3.11" + core-version: "31d6b615b44afa9ad87cd0adf7412a93b769157a" + - python-version: "3.11" + core-version: "33f2453f334a170fe874cb005cb9f4bac2525862" - python-version: "3.11" core-version: "2023.8.0b0" - python-version: "3.11" From d5c0fe1f0f60524c4c04feccc74e83fa169c4971 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 23:32:16 -0700 Subject: [PATCH 09/28] more --- .github/workflows/pytest.yaml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index b090ba98..7b5df312 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -33,11 +33,21 @@ jobs: - python-version: "3.11" core-version: "2023.7.3" - python-version: "3.11" - core-version: "6ef7c5ece6e317737901c482ccac8f4875bb3c73" + core-version: "31d6b615b44afa9ad87cd0adf7412a93b769157a" # working - python-version: "3.11" - core-version: "31d6b615b44afa9ad87cd0adf7412a93b769157a" + core-version: "0c4e3411891e1dec4dc937979749abfccef11f77" # ? - python-version: "3.11" - core-version: "33f2453f334a170fe874cb005cb9f4bac2525862" + core-version: "84220e92ea5bc185a071a01e25d0eadcadc7e113" # ? + - python-version: "3.11" + core-version: "34dcd984402b13ff5fd6d1b34242d2bcf342066b" # ? + - python-version: "3.11" + core-version: "2618bfc073da3ae3747f3ab6f5a81b0c64370f23" # ? + - python-version: "3.11" + core-version: "86708b5590ebf79ba00895c2ae4f245b43ceee2c" # ? + - python-version: "3.11" + core-version: "bfbdebd0f75507b44847dfeb5b05b33c720d6bf8" # ? + - python-version: "3.11" + core-version: "33f2453f334a170fe874cb005cb9f4bac2525862" # not working - python-version: "3.11" core-version: "2023.8.0b0" - python-version: "3.11" From bb09c73dda73f9b76b09bd195110b8fbe9c2a6c3 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Wed, 9 Aug 2023 23:39:49 -0700 Subject: [PATCH 10/28] more --- .github/workflows/pytest.yaml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 7b5df312..0814ee59 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -35,19 +35,17 @@ jobs: - python-version: "3.11" core-version: "31d6b615b44afa9ad87cd0adf7412a93b769157a" # working - python-version: "3.11" - core-version: "0c4e3411891e1dec4dc937979749abfccef11f77" # ? + core-version: "fe0fe19be9a0c0e0e426dd7d2e206dc836162a54" # ? - python-version: "3.11" - core-version: "84220e92ea5bc185a071a01e25d0eadcadc7e113" # ? + core-version: "d4f301f4a3ecdf5af222eb7e0dfc14251b7b8e41" # ? - python-version: "3.11" - core-version: "34dcd984402b13ff5fd6d1b34242d2bcf342066b" # ? + core-version: "11fd43b1fc33c35b68858878f94bfb49a407f3e6" # ? - python-version: "3.11" - core-version: "2618bfc073da3ae3747f3ab6f5a81b0c64370f23" # ? + core-version: "4bc57c0466c6162f20b6dc3a34e11b142802d4a7" # ? - python-version: "3.11" - core-version: "86708b5590ebf79ba00895c2ae4f245b43ceee2c" # ? + core-version: "a2b18e46b9c04352f0c95d44f62369cce16c3d7e" # ? - python-version: "3.11" - core-version: "bfbdebd0f75507b44847dfeb5b05b33c720d6bf8" # ? - - python-version: "3.11" - core-version: "33f2453f334a170fe874cb005cb9f4bac2525862" # not working + core-version: "0b0f072faf5a08b6ab5e4543419e972b7d125a43" # ? - python-version: "3.11" core-version: "2023.8.0b0" - python-version: "3.11" From 255b443f25a523108ae2a545cc882015e55d51ad Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 00:30:44 -0700 Subject: [PATCH 11/28] more --- .github/workflows/pytest.yaml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 0814ee59..28de28aa 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -33,19 +33,9 @@ jobs: - python-version: "3.11" core-version: "2023.7.3" - python-version: "3.11" - core-version: "31d6b615b44afa9ad87cd0adf7412a93b769157a" # working + core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - python-version: "3.11" - core-version: "fe0fe19be9a0c0e0e426dd7d2e206dc836162a54" # ? - - python-version: "3.11" - core-version: "d4f301f4a3ecdf5af222eb7e0dfc14251b7b8e41" # ? - - python-version: "3.11" - core-version: "11fd43b1fc33c35b68858878f94bfb49a407f3e6" # ? - - python-version: "3.11" - core-version: "4bc57c0466c6162f20b6dc3a34e11b142802d4a7" # ? - - python-version: "3.11" - core-version: "a2b18e46b9c04352f0c95d44f62369cce16c3d7e" # ? - - python-version: "3.11" - core-version: "0b0f072faf5a08b6ab5e4543419e972b7d125a43" # ? + core-version: "4e300568303c34019ed26f25881591af80e60f99" # 2023.7.3 - python-version: "3.11" core-version: "2023.8.0b0" - python-version: "3.11" From 163493b6d4cf8ef5b2067c8041f98b7f4e79fd42 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 00:45:01 -0700 Subject: [PATCH 12/28] one before 2023.7.3 and one after --- .github/workflows/pytest.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 28de28aa..55360dc7 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -33,8 +33,13 @@ jobs: - python-version: "3.11" core-version: "2023.7.3" - python-version: "3.11" + # One commit before 2023.7.3 + core-version: "0b0f072faf5a08b6ab5e4543419e972b7d125a43" # 2023.7.3 + - python-version: "3.11" + # 2023.7.3 core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - python-version: "3.11" + # One commit after 2023.7.3 core-version: "4e300568303c34019ed26f25881591af80e60f99" # 2023.7.3 - python-version: "3.11" core-version: "2023.8.0b0" From d910bf5f7ee4b8b80a31c530cacd1492c82a1da2 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 00:50:57 -0700 Subject: [PATCH 13/28] run a crazy amount of jobs --- .github/workflows/pytest.yaml | 369 +++++++++++++++++++++++++++++++++- 1 file changed, 368 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 55360dc7..1e6c7783 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -39,7 +39,6 @@ jobs: # 2023.7.3 core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - python-version: "3.11" - # One commit after 2023.7.3 core-version: "4e300568303c34019ed26f25881591af80e60f99" # 2023.7.3 - python-version: "3.11" core-version: "2023.8.0b0" @@ -47,6 +46,374 @@ jobs: core-version: "2023.8.0" - python-version: "3.11" core-version: "dev" + - python-version: "3.11" + core-version: 4e300568303c34019ed26f25881591af80e60f99 + - python-version: "3.11" + core-version: 9f98a418cdf1a9f7552b561f178979b5109dc105 + - python-version: "3.11" + core-version: 530556015f98097664d02372701efb15442c6949 + - python-version: "3.11" + core-version: be7818fafb3ef9d5b0df1d87f256c58d64be698f + - python-version: "3.11" + core-version: fe140bdca30356411c23861ab422e8b9459f0c54 + - python-version: "3.11" + core-version: 4644355eff8095abd2839ccedd047e3e3c1dd57c + - python-version: "3.11" + core-version: fd3bdeaef141b113a8dbbd5121390cdb2478b7e6 + - python-version: "3.11" + core-version: 26584e366074a53fc1a4abe85f6f33844b457310 + - python-version: "3.11" + core-version: b3da2ea9a602336946f5fb752dc8e72f47f547a5 + - python-version: "3.11" + core-version: 9434a64b8766076dc3c61c8860afb842a05ffee5 + - python-version: "3.11" + core-version: 9954208d3ac0f4948ccb22e4a787bdd90fa4afc8 + - python-version: "3.11" + core-version: 7d173bf4e5b6189052e1a33a23528b9ede551911 + - python-version: "3.11" + core-version: 2e156e56bf47d5b00b632be82cfe6494c0396452 + - python-version: "3.11" + core-version: 878a4f1bb9af119576b970872aad396bc2d2a967 + - python-version: "3.11" + core-version: 58ce35787087e1c199b1ae2192e7c11f745c686d + - python-version: "3.11" + core-version: 9b0d4c8c03377626c50f492614e998e60752725f + - python-version: "3.11" + core-version: 447fbf58c98b860bde283d2918dcad3917e08704 + - python-version: "3.11" + core-version: 747f4d4a7328a2d0b4fd7083ac2d7cd45a21bdf7 + - python-version: "3.11" + core-version: 4916351d9ae8eb62814ff3ed90103a6e33fe230d + - python-version: "3.11" + core-version: 33c2fc008ad2fb7841bbb87d552ffd5b363f74a4 + - python-version: "3.11" + core-version: e4d65cbae1447b93b2f9c2be96e229ee886e7b8e + - python-version: "3.11" + core-version: 52313bfce5ac6f29157cf34eac50c83f244d6e68 + - python-version: "3.11" + core-version: 4fa9f25e38a0b5625cb10acac092aa5650ecea6e + - python-version: "3.11" + core-version: d935c18f38010845d9e5b7526b63b4a378a8a622 + - python-version: "3.11" + core-version: b39f7d6a71aaf2480a34a5fea9124a3071c60bfe + - python-version: "3.11" + core-version: e9eb8a475473cc823ada7022e55f0e2d7f5e2578 + - python-version: "3.11" + core-version: e2394b34bd37bd86bec659cc2581cb5355f89c65 + - python-version: "3.11" + core-version: 32d63ae890f6277b877539c2da9049fc26410888 + - python-version: "3.11" + core-version: 92eaef9b18bde1da4829b120c9efd4801ddcc206 + - python-version: "3.11" + core-version: 4e964c3819a74e8abbdfb10477ad62af678e3e9a + - python-version: "3.11" + core-version: 28ff173f164cb80fe9e7e25268e311334abb0531 + - python-version: "3.11" + core-version: b504665b56dbbf19c616d0f21c32b1b1d5a4b1d9 + - python-version: "3.11" + core-version: c067c52cf486e79b11cb70d6aac1d7543094a2bb + - python-version: "3.11" + core-version: 9fba6870fe85afcdf0986222acad0d67a3ed03cb + - python-version: "3.11" + core-version: 99def97ed976e65bddb9e54d2b3642b4912c5668 + - python-version: "3.11" + core-version: 6818cae0722f4ef41b69569eb643d09e58a69d91 + - python-version: "3.11" + core-version: e9a63b7501887533088d77f83c87b448b4d5f006 + - python-version: "3.11" + core-version: b7bcc1eae4ec89f8d35a2011e815280a2f5cc743 + - python-version: "3.11" + core-version: 7389fea22348d2d784e12f3a444192d2ff1bd9c3 + - python-version: "3.11" + core-version: 55e5947330332d632b95b4e346ba7774eed87c3f + - python-version: "3.11" + core-version: 35ab024298560346d67d8c97720ec4c1e1ca3a9e + - python-version: "3.11" + core-version: 71ca976d589ff485bbb47c697d983dfee25607e7 + - python-version: "3.11" + core-version: e9620c62b8dc091d572234963f855bc437764ce0 + - python-version: "3.11" + core-version: 2a13515759d909eae06c0ecaf09eaa03a12c937e + - python-version: "3.11" + core-version: da5cba8083b29bdcdc5ef99c3f5463fb794b0f50 + - python-version: "3.11" + core-version: d36d2338856e631fee4943ae96cb25ab59e222be + - python-version: "3.11" + core-version: c99adf54b42fdf6baadab476e2f7a85288ce9372 + - python-version: "3.11" + core-version: fff254e0dc79883e9f56446534f913948e399b1d + - python-version: "3.11" + core-version: a381ceed86b0b8ca39260cfb022ddbdcd6807ab9 + - python-version: "3.11" + core-version: f809ce90337693abe9e337f1491a4727dd678e2e + - python-version: "3.11" + core-version: 86d9d9cea5465de11f835992e2856a9db7a95e07 + - python-version: "3.11" + core-version: 14b553ddbc3074d3e0ce44ea7757929f50c6f39b + - python-version: "3.11" + core-version: df46179d26fd46a41dc18ccaf0075f77e7d7fe07 + - python-version: "3.11" + core-version: 8896c164be2ed5cb495a4614767c63d36b347d2d + - python-version: "3.11" + core-version: db83dc9accc62c712db1e77454e32c88b85ac74e + - python-version: "3.11" + core-version: c433b251fa125789a2b8a68e67014d0eeb7bf6e0 + - python-version: "3.11" + core-version: 0ba2531ca4ef613115125359670b97a482106e02 + - python-version: "3.11" + core-version: 7105b4b28bd044771a92b79f9fb32cfdd90243cc + - python-version: "3.11" + core-version: db32aa7c5ee073f69061aab23f6d1a74fa403c51 + - python-version: "3.11" + core-version: 0c10005270b2be395b14818343f6dec7b555de1b + - python-version: "3.11" + core-version: 58c3c8a7a8052b621d88dbb9743ea30ca311ab34 + - python-version: "3.11" + core-version: c118574bf48fdf0e4b34dac59f3da8cf4f7b5e96 + - python-version: "3.11" + core-version: 7f5a141f6978df3518440778ffc915c79fb8dbc9 + - python-version: "3.11" + core-version: 3890d8d1320f1692ea2e7a8b43330f568e891a8c + - python-version: "3.11" + core-version: 72073b28cc5d01ddbcd2957190e683098e8c15c7 + - python-version: "3.11" + core-version: 4501bdb5bffba7b99fc09c43986406e3c26b887d + - python-version: "3.11" + core-version: 77480000263209714ad7a597c54066f7dac3e187 + - python-version: "3.11" + core-version: 38d58b4d91eeb6ebd27d046b7061e53c07994904 + - python-version: "3.11" + core-version: fff04a5e9b69b26e2a8faf210814b51768e5f9a4 + - python-version: "3.11" + core-version: 4e2b00a44369365066868d78f4664b1b93e5b057 + - python-version: "3.11" + core-version: d866cdb9cf4003ab55ea7c734e7192b389c69ca1 + - python-version: "3.11" + core-version: 653b1e5ad8d6d98250f6813c83cb67f8aa0912d3 + - python-version: "3.11" + core-version: f5ba9af4948b98eacef9c9a38fa86e1b3ef451a7 + - python-version: "3.11" + core-version: cfcdf866ddb0010bf757593bef0ca376bc15b3b7 + - python-version: "3.11" + core-version: b193b5667bfa45fa3112bfaa7a8ab31fc4ebc2cd + - python-version: "3.11" + core-version: 173a61bdff2064360a47a3644b361aca9460d5aa + - python-version: "3.11" + core-version: 7425d97ee18c472cb0c2e6b434e9e1a591f9f1e9 + - python-version: "3.11" + core-version: 8382feeff41a9e76193e907e9402a36c397eb083 + - python-version: "3.11" + core-version: 2967a00bc663ec60935a700780bb62ec2a0564f2 + - python-version: "3.11" + core-version: a9902a21bf4b86b40a02c54324128e23cf3a8761 + - python-version: "3.11" + core-version: a50a96b687024a0c3ca71413ec68e19b67b30388 + - python-version: "3.11" + core-version: bc795f4953e10437734e32738be62f4159813ad9 + - python-version: "3.11" + core-version: 1f11a75ab1354ecec88cf4f026ee3275bf954081 + - python-version: "3.11" + core-version: 6ed119006deeebc8c326b98c11e651837dcd1a75 + - python-version: "3.11" + core-version: 3fbdf4a184d43ae0382210baa03d5fbac68003d9 + - python-version: "3.11" + core-version: effa90272d6068bdc444bc341bd76feaab3bd718 + - python-version: "3.11" + core-version: 34e30570c159d51c469c64d420d5648c1996fe1d + - python-version: "3.11" + core-version: fa0d68b1d73211f52c33462add67558bcb4135bd + - python-version: "3.11" + core-version: db76bf3a9ffb61eefe8f4987f2e23c03e81e387f + - python-version: "3.11" + core-version: 4e460f71f8960b7de4caf71d842d96a691365186 + - python-version: "3.11" + core-version: ce0027a84e0bc1c45e414b2a74bd9364601cde8d + - python-version: "3.11" + core-version: df19d4fd155eb08646d92bf7ad7194a222526806 + - python-version: "3.11" + core-version: 5ffffd8dbc0d8b0e27d1532404998f8683766edf + - python-version: "3.11" + core-version: 0349e47372257c8a58deb379f13f4f2caa5bb18d + - python-version: "3.11" + core-version: 660c95d78409ebe828e8c231ab774e8f19d162cd + - python-version: "3.11" + core-version: 1c19c54e380539e303e58382087a59be9fbd25b4 + - python-version: "3.11" + core-version: 9da155955ab1b1b3d20a64f495ae3d18e17b9bb8 + - python-version: "3.11" + core-version: 23810752edfea60129bcb61e8edaed4651321cbd + - python-version: "3.11" + core-version: 822d840f81238a820244a76a8378f8d2211abc90 + - python-version: "3.11" + core-version: 6bb81b862cbd47a019341c2d056a5837e8c9dbd1 + - python-version: "3.11" + core-version: 955bed0128e3e04177a0526a8eda4c75f5c63fb4 + - python-version: "3.11" + core-version: f310d6ca582b9111642cc131fbc7daf4dafe01eb + - python-version: "3.11" + core-version: daa53118b3ae9a2509dd909cc2e6cae63418aefe + - python-version: "3.11" + core-version: deafdc3005ca8150a5f777776d37beaf836046ce + - python-version: "3.11" + core-version: 0f4c71f9934681c2a20f9f7cf14e78755b5125a5 + - python-version: "3.11" + core-version: 29aa89bea095d174fae39d1cf33b45eb2a54c297 + - python-version: "3.11" + core-version: 39b242f1549df0e653e1d6418d556b49aaec65cb + - python-version: "3.11" + core-version: dae264f79e74266b4779ff7f6c58556f2afe94a3 + - python-version: "3.11" + core-version: c80085367df3b60574dfeb255ed7a0a4e7e4d93e + - python-version: "3.11" + core-version: 3b501fd2d7495b0336a5e254dc0c508daec189a1 + - python-version: "3.11" + core-version: 06aeacc324a2b853cdca0b5d0e41df50238fde3c + - python-version: "3.11" + core-version: 93ac340d54a731a06de7b7c639f3f01d90ac4362 + - python-version: "3.11" + core-version: e449f8e0e5ba0fe97770cffc3914ca88c10e4a12 + - python-version: "3.11" + core-version: 0502879d10a3eac03929ddc1d409075517459049 + - python-version: "3.11" + core-version: a305a9fe9c2a1fc76168b6d5c9dd5ad4f1e7ddbc + - python-version: "3.11" + core-version: 33b3b8947a806065b7abed5a12d6ccf60a4e121d + - python-version: "3.11" + core-version: f0953dde95a69d5bba763893f466c8009bb411e3 + - python-version: "3.11" + core-version: e18da97670aebc76fb99bb697dd04038157677c9 + - python-version: "3.11" + core-version: efbd82b5fb0218a322cd193755f30342dcd51362 + - python-version: "3.11" + core-version: 6ffb1c3c2de0af2c928e36923963fd4b76b16224 + - python-version: "3.11" + core-version: 90bdbf503a399e822c0d984f5c83c2c098f0383a + - python-version: "3.11" + core-version: f4bc32ea089b3a6709e0e103bad23d8308fabd43 + - python-version: "3.11" + core-version: e39187423f4292593859644db413fafa194490bf + - python-version: "3.11" + core-version: b53eae2846e0fb53bf720a23f14826ef07b56140 + - python-version: "3.11" + core-version: 80a74470306850817ce9292b7f6f10eaa818c405 + - python-version: "3.11" + core-version: 67e3203d004e39614dd54119e3100333a5524bcd + - python-version: "3.11" + core-version: 87d0b026c248f8661e96bd3ce6c256bba610163f + - python-version: "3.11" + core-version: 01e66d6fb2671fcbfba296a020e11e497a82bb50 + - python-version: "3.11" + core-version: 3e58e1987c318399d02ebdd683c8b68b0529b08a + - python-version: "3.11" + core-version: f2bd122fde12f20dc8cf1189d6cb24254c7801fd + - python-version: "3.11" + core-version: 22d0f4ff0af055d95ce90e9ff42953a0347b43fa + - python-version: "3.11" + core-version: b45369bb35c97fd508476cf3bfbe8d16ec8e1c83 + - python-version: "3.11" + core-version: 9b839041fa288f84a539f8c157d91821c9e86ff0 + - python-version: "3.11" + core-version: 1449df5649749541b31e47f93b9a74db1f1da3fe + - python-version: "3.11" + core-version: 22fbd2294336ad9f4365a2a0d6b2183f3ef0e16d + - python-version: "3.11" + core-version: 0d69ba6797720856c97f29594d6cfde3da793794 + - python-version: "3.11" + core-version: 727a72fbaa54a6d3a65f24616acdb65a26d6d874 + - python-version: "3.11" + core-version: 4b2cbbe8c2ce998c7ffaeea8654d3c9900c386b3 + - python-version: "3.11" + core-version: 4fefbf0408de1d0c2a3de49dcd3a0395cbc932ee + - python-version: "3.11" + core-version: fdb69efd67d18871251dc84070bde2101aec2402 + - python-version: "3.11" + core-version: c853010f80de7e296fca5849447c441ededca0dd + - python-version: "3.11" + core-version: 3c072e50c7ae3dd7dc15d6fd9aaf7d103019b0e8 + - python-version: "3.11" + core-version: 3681816a43ad32164ee46551d5cfb0996e4e4fff + - python-version: "3.11" + core-version: c2d66cc14ac2095a904a7b68d878d6384b78ebdd + - python-version: "3.11" + core-version: 2b3a379b8e8cca4687b9b2252567ed449fa2d44a + - python-version: "3.11" + core-version: a2495f494b2634104ca56c02aa8c6a091bad223a + - python-version: "3.11" + core-version: 6f880ec83764064116e4e82ebc83ad95e04dacc2 + - python-version: "3.11" + core-version: 89ed630af94744f9b0734aed6bdb1110a1378217 + - python-version: "3.11" + core-version: fa59b7f8ac89f0aa5caf5eedfea08ed453a87299 + - python-version: "3.11" + core-version: 46675560d29883fa13a897234ba5f893d48a2c2a + - python-version: "3.11" + core-version: 36b4b5b887e38cd9fad1a5252f7d17da40b56b33 + - python-version: "3.11" + core-version: e29598ecaa581e789987d855781fd9f6daef2baf + - python-version: "3.11" + core-version: c94c7fae1b10a7f7759182fd17b6922d0a28651c + - python-version: "3.11" + core-version: 8675bc6554bf0248c3cd88ab42417c0ddbb83d6b + - python-version: "3.11" + core-version: 1ceb536dfb9e5e3122c7e0a3d82f420b6a4ec4a2 + - python-version: "3.11" + core-version: 0ff8371953e29a1584fc5a7ab9db540f1c8a5d04 + - python-version: "3.11" + core-version: 499c7491af9abf3f4dcbb908ba1e73965f17bc92 + - python-version: "3.11" + core-version: 344f349371d593652fef0fcdfc47932be7b3501b + - python-version: "3.11" + core-version: 6afa49a441de6ce4fc8871fdf9406d853bd2035b + - python-version: "3.11" + core-version: ac06905b1c96587c57728086db50c665ffc9912c + - python-version: "3.11" + core-version: 0ca4da559238ae12d4b26a922451bc2c4864ea93 + - python-version: "3.11" + core-version: cb1f365482b1e8b69d42e30b84f8cfb28411d0c3 + - python-version: "3.11" + core-version: da5455c454eada12c8d887a40be8319fb07c5858 + - python-version: "3.11" + core-version: 701c8a376835963ef0513c22c99f4fd448bb5178 + - python-version: "3.11" + core-version: 4e9ce235e8cfbbfe47c5b4b862df25b533d7251d + - python-version: "3.11" + core-version: c989e56d3cffd911e150cdfff3d3ae3658f469e5 + - python-version: "3.11" + core-version: 1422a4f8c6f4eaada2195c6bd875c6fa5f497253 + - python-version: "3.11" + core-version: d8c989f7326cc65bd6ae8eccf4ab0c28b2a2e844 + - python-version: "3.11" + core-version: 6bd4ace3c3b4ab05e1fdb85c27d55ac09c39d950 + - python-version: "3.11" + core-version: 9a8fe0490749e440577c0211b2e460c72baf0904 + - python-version: "3.11" + core-version: 67eeed67036248ed4c9fb7dbe4bcb7e90c1dfc11 + - python-version: "3.11" + core-version: 0bdfb95d1d765bd218d43adbb4c9c68482fb5db2 + - python-version: "3.11" + core-version: 7c22225cd19ddd4e84d71781794876e6715a854d + - python-version: "3.11" + core-version: f9a0877bb9887e638c6940bc6aa10a48b2f317c8 + - python-version: "3.11" + core-version: 4ae69787a2f20649b5dec3124251ae057b4264e4 + - python-version: "3.11" + core-version: 1ace9ab82e76985bbd158714d7685d74c389c788 + - python-version: "3.11" + core-version: 8dc5f737895c01c431445b3333dcdd5cf435a949 + - python-version: "3.11" + core-version: 8a9f117bdcd7424969783707538e2197f5060e3d + - python-version: "3.11" + core-version: d46a72e5abf00ac7f4831564b251d0aaa1cd34be + - python-version: "3.11" + core-version: 5c54fa1ce1e36388b82367b9163094b2f3110924 + - python-version: "3.11" + core-version: 2a18d0a764eaa5eaf02180081b5809e06fc77f12 + - python-version: "3.11" + core-version: 9a2a920fd4a6007b7041f1ecfa352e67feb20cb3 + - python-version: "3.11" + core-version: c253549e6883fc8c62aeb5b77d1c415d844f5629 + - python-version: "3.11" + core-version: faa67a40c453e7fbef9e3e8ff8af7ab1b974a697 steps: - name: Check out code from GitHub uses: actions/checkout@v3 From 82c57cc82fdd141dd42626da3b495dc13193c6e3 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 11:48:04 -0700 Subject: [PATCH 14/28] test more --- .github/workflows/pytest.yaml | 379 ++-------------------------------- 1 file changed, 17 insertions(+), 362 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 1e6c7783..80d6994e 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -32,388 +32,43 @@ jobs: core-version: "2023.6.1" - python-version: "3.11" core-version: "2023.7.3" - - python-version: "3.11" - # One commit before 2023.7.3 - core-version: "0b0f072faf5a08b6ab5e4543419e972b7d125a43" # 2023.7.3 - python-version: "3.11" # 2023.7.3 core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - python-version: "3.11" - core-version: "4e300568303c34019ed26f25881591af80e60f99" # 2023.7.3 - - python-version: "3.11" - core-version: "2023.8.0b0" - - python-version: "3.11" - core-version: "2023.8.0" - - python-version: "3.11" - core-version: "dev" - - python-version: "3.11" - core-version: 4e300568303c34019ed26f25881591af80e60f99 - - python-version: "3.11" - core-version: 9f98a418cdf1a9f7552b561f178979b5109dc105 - - python-version: "3.11" - core-version: 530556015f98097664d02372701efb15442c6949 - - python-version: "3.11" - core-version: be7818fafb3ef9d5b0df1d87f256c58d64be698f - - python-version: "3.11" - core-version: fe140bdca30356411c23861ab422e8b9459f0c54 - - python-version: "3.11" - core-version: 4644355eff8095abd2839ccedd047e3e3c1dd57c - - python-version: "3.11" - core-version: fd3bdeaef141b113a8dbbd5121390cdb2478b7e6 - - python-version: "3.11" - core-version: 26584e366074a53fc1a4abe85f6f33844b457310 - - python-version: "3.11" - core-version: b3da2ea9a602336946f5fb752dc8e72f47f547a5 - - python-version: "3.11" - core-version: 9434a64b8766076dc3c61c8860afb842a05ffee5 - - python-version: "3.11" - core-version: 9954208d3ac0f4948ccb22e4a787bdd90fa4afc8 - - python-version: "3.11" - core-version: 7d173bf4e5b6189052e1a33a23528b9ede551911 - - python-version: "3.11" - core-version: 2e156e56bf47d5b00b632be82cfe6494c0396452 - - python-version: "3.11" - core-version: 878a4f1bb9af119576b970872aad396bc2d2a967 - - python-version: "3.11" - core-version: 58ce35787087e1c199b1ae2192e7c11f745c686d - - python-version: "3.11" - core-version: 9b0d4c8c03377626c50f492614e998e60752725f - - python-version: "3.11" - core-version: 447fbf58c98b860bde283d2918dcad3917e08704 - - python-version: "3.11" - core-version: 747f4d4a7328a2d0b4fd7083ac2d7cd45a21bdf7 - - python-version: "3.11" - core-version: 4916351d9ae8eb62814ff3ed90103a6e33fe230d - - python-version: "3.11" - core-version: 33c2fc008ad2fb7841bbb87d552ffd5b363f74a4 - - python-version: "3.11" - core-version: e4d65cbae1447b93b2f9c2be96e229ee886e7b8e - - python-version: "3.11" - core-version: 52313bfce5ac6f29157cf34eac50c83f244d6e68 - - python-version: "3.11" - core-version: 4fa9f25e38a0b5625cb10acac092aa5650ecea6e - - python-version: "3.11" - core-version: d935c18f38010845d9e5b7526b63b4a378a8a622 - - python-version: "3.11" - core-version: b39f7d6a71aaf2480a34a5fea9124a3071c60bfe - - python-version: "3.11" - core-version: e9eb8a475473cc823ada7022e55f0e2d7f5e2578 - - python-version: "3.11" - core-version: e2394b34bd37bd86bec659cc2581cb5355f89c65 - - python-version: "3.11" - core-version: 32d63ae890f6277b877539c2da9049fc26410888 - - python-version: "3.11" - core-version: 92eaef9b18bde1da4829b120c9efd4801ddcc206 - - python-version: "3.11" - core-version: 4e964c3819a74e8abbdfb10477ad62af678e3e9a - - python-version: "3.11" - core-version: 28ff173f164cb80fe9e7e25268e311334abb0531 - - python-version: "3.11" - core-version: b504665b56dbbf19c616d0f21c32b1b1d5a4b1d9 - - python-version: "3.11" - core-version: c067c52cf486e79b11cb70d6aac1d7543094a2bb - - python-version: "3.11" - core-version: 9fba6870fe85afcdf0986222acad0d67a3ed03cb - - python-version: "3.11" - core-version: 99def97ed976e65bddb9e54d2b3642b4912c5668 - - python-version: "3.11" - core-version: 6818cae0722f4ef41b69569eb643d09e58a69d91 - - python-version: "3.11" - core-version: e9a63b7501887533088d77f83c87b448b4d5f006 - - python-version: "3.11" - core-version: b7bcc1eae4ec89f8d35a2011e815280a2f5cc743 - - python-version: "3.11" - core-version: 7389fea22348d2d784e12f3a444192d2ff1bd9c3 - - python-version: "3.11" - core-version: 55e5947330332d632b95b4e346ba7774eed87c3f - - python-version: "3.11" - core-version: 35ab024298560346d67d8c97720ec4c1e1ca3a9e - - python-version: "3.11" - core-version: 71ca976d589ff485bbb47c697d983dfee25607e7 - - python-version: "3.11" - core-version: e9620c62b8dc091d572234963f855bc437764ce0 - - python-version: "3.11" - core-version: 2a13515759d909eae06c0ecaf09eaa03a12c937e - - python-version: "3.11" - core-version: da5cba8083b29bdcdc5ef99c3f5463fb794b0f50 - - python-version: "3.11" - core-version: d36d2338856e631fee4943ae96cb25ab59e222be - - python-version: "3.11" - core-version: c99adf54b42fdf6baadab476e2f7a85288ce9372 - - python-version: "3.11" - core-version: fff254e0dc79883e9f56446534f913948e399b1d - - python-version: "3.11" - core-version: a381ceed86b0b8ca39260cfb022ddbdcd6807ab9 - - python-version: "3.11" - core-version: f809ce90337693abe9e337f1491a4727dd678e2e - - python-version: "3.11" - core-version: 86d9d9cea5465de11f835992e2856a9db7a95e07 - - python-version: "3.11" - core-version: 14b553ddbc3074d3e0ce44ea7757929f50c6f39b - - python-version: "3.11" - core-version: df46179d26fd46a41dc18ccaf0075f77e7d7fe07 - - python-version: "3.11" - core-version: 8896c164be2ed5cb495a4614767c63d36b347d2d - - python-version: "3.11" - core-version: db83dc9accc62c712db1e77454e32c88b85ac74e - - python-version: "3.11" - core-version: c433b251fa125789a2b8a68e67014d0eeb7bf6e0 - - python-version: "3.11" - core-version: 0ba2531ca4ef613115125359670b97a482106e02 - - python-version: "3.11" - core-version: 7105b4b28bd044771a92b79f9fb32cfdd90243cc - - python-version: "3.11" - core-version: db32aa7c5ee073f69061aab23f6d1a74fa403c51 - - python-version: "3.11" - core-version: 0c10005270b2be395b14818343f6dec7b555de1b - - python-version: "3.11" - core-version: 58c3c8a7a8052b621d88dbb9743ea30ca311ab34 - - python-version: "3.11" - core-version: c118574bf48fdf0e4b34dac59f3da8cf4f7b5e96 - - python-version: "3.11" - core-version: 7f5a141f6978df3518440778ffc915c79fb8dbc9 - - python-version: "3.11" - core-version: 3890d8d1320f1692ea2e7a8b43330f568e891a8c - - python-version: "3.11" - core-version: 72073b28cc5d01ddbcd2957190e683098e8c15c7 - - python-version: "3.11" - core-version: 4501bdb5bffba7b99fc09c43986406e3c26b887d - - python-version: "3.11" - core-version: 77480000263209714ad7a597c54066f7dac3e187 - - python-version: "3.11" - core-version: 38d58b4d91eeb6ebd27d046b7061e53c07994904 - - python-version: "3.11" - core-version: fff04a5e9b69b26e2a8faf210814b51768e5f9a4 - - python-version: "3.11" - core-version: 4e2b00a44369365066868d78f4664b1b93e5b057 - - python-version: "3.11" - core-version: d866cdb9cf4003ab55ea7c734e7192b389c69ca1 - - python-version: "3.11" - core-version: 653b1e5ad8d6d98250f6813c83cb67f8aa0912d3 - - python-version: "3.11" - core-version: f5ba9af4948b98eacef9c9a38fa86e1b3ef451a7 - - python-version: "3.11" - core-version: cfcdf866ddb0010bf757593bef0ca376bc15b3b7 - - python-version: "3.11" - core-version: b193b5667bfa45fa3112bfaa7a8ab31fc4ebc2cd - - python-version: "3.11" - core-version: 173a61bdff2064360a47a3644b361aca9460d5aa - - python-version: "3.11" - core-version: 7425d97ee18c472cb0c2e6b434e9e1a591f9f1e9 - - python-version: "3.11" - core-version: 8382feeff41a9e76193e907e9402a36c397eb083 - - python-version: "3.11" - core-version: 2967a00bc663ec60935a700780bb62ec2a0564f2 - - python-version: "3.11" - core-version: a9902a21bf4b86b40a02c54324128e23cf3a8761 - - python-version: "3.11" - core-version: a50a96b687024a0c3ca71413ec68e19b67b30388 - - python-version: "3.11" - core-version: bc795f4953e10437734e32738be62f4159813ad9 + core-version: "aa13082ce0dd9fb29e631c9280449428822d8000" - python-version: "3.11" - core-version: 1f11a75ab1354ecec88cf4f026ee3275bf954081 + core-version: "bc6a41fb9465523998b2e152dd7f3d4275f2cc9d" - python-version: "3.11" - core-version: 6ed119006deeebc8c326b98c11e651837dcd1a75 + core-version: "4bf23fac6f50eeebd127b979212a7ea607e0f212" - python-version: "3.11" - core-version: 3fbdf4a184d43ae0382210baa03d5fbac68003d9 + core-version: "863b36c0c30010c3ea79afc32bfaf46bb6687922" - python-version: "3.11" - core-version: effa90272d6068bdc444bc341bd76feaab3bd718 + core-version: "560e0cc7e0c759adba3b7ad16fbb72e67794e67d" - python-version: "3.11" - core-version: 34e30570c159d51c469c64d420d5648c1996fe1d + core-version: "57361a738e26de2b83cd5f8478c140ae92b1b6dc" - python-version: "3.11" - core-version: fa0d68b1d73211f52c33462add67558bcb4135bd + core-version: "2f8b88e6ef767c3ca27f4d2e96837c4d65c59666" - python-version: "3.11" - core-version: db76bf3a9ffb61eefe8f4987f2e23c03e81e387f + core-version: "f809b7284be577386c2f292007168a470285bcba" - python-version: "3.11" - core-version: 4e460f71f8960b7de4caf71d842d96a691365186 + core-version: "1e9a5e48c32ec055c4aa18f98128cb2d0f7baa55" - python-version: "3.11" - core-version: ce0027a84e0bc1c45e414b2a74bd9364601cde8d + core-version: "63115a906d7c8ede02be7ee9c30ac95d0c5ff7b8" - python-version: "3.11" - core-version: df19d4fd155eb08646d92bf7ad7194a222526806 + core-version: "d35e5db9843624f560e0bf4934568bca90478d6d" - python-version: "3.11" - core-version: 5ffffd8dbc0d8b0e27d1532404998f8683766edf + core-version: "72458b66725c9f05a8c7e4e338bc8f89b5c41fb6" - python-version: "3.11" - core-version: 0349e47372257c8a58deb379f13f4f2caa5bb18d + core-version: "3e429ae081a6d559bb397dcf99c4674431f79629" - python-version: "3.11" - core-version: 660c95d78409ebe828e8c231ab774e8f19d162cd + core-version: "3b80deb2b74d642e805f6b1abaa8c4be9253439e" - python-version: "3.11" - core-version: 1c19c54e380539e303e58382087a59be9fbd25b4 - - python-version: "3.11" - core-version: 9da155955ab1b1b3d20a64f495ae3d18e17b9bb8 - - python-version: "3.11" - core-version: 23810752edfea60129bcb61e8edaed4651321cbd - - python-version: "3.11" - core-version: 822d840f81238a820244a76a8378f8d2211abc90 - - python-version: "3.11" - core-version: 6bb81b862cbd47a019341c2d056a5837e8c9dbd1 - - python-version: "3.11" - core-version: 955bed0128e3e04177a0526a8eda4c75f5c63fb4 - - python-version: "3.11" - core-version: f310d6ca582b9111642cc131fbc7daf4dafe01eb - - python-version: "3.11" - core-version: daa53118b3ae9a2509dd909cc2e6cae63418aefe - - python-version: "3.11" - core-version: deafdc3005ca8150a5f777776d37beaf836046ce - - python-version: "3.11" - core-version: 0f4c71f9934681c2a20f9f7cf14e78755b5125a5 - - python-version: "3.11" - core-version: 29aa89bea095d174fae39d1cf33b45eb2a54c297 - - python-version: "3.11" - core-version: 39b242f1549df0e653e1d6418d556b49aaec65cb - - python-version: "3.11" - core-version: dae264f79e74266b4779ff7f6c58556f2afe94a3 - - python-version: "3.11" - core-version: c80085367df3b60574dfeb255ed7a0a4e7e4d93e - - python-version: "3.11" - core-version: 3b501fd2d7495b0336a5e254dc0c508daec189a1 - - python-version: "3.11" - core-version: 06aeacc324a2b853cdca0b5d0e41df50238fde3c - - python-version: "3.11" - core-version: 93ac340d54a731a06de7b7c639f3f01d90ac4362 - - python-version: "3.11" - core-version: e449f8e0e5ba0fe97770cffc3914ca88c10e4a12 - - python-version: "3.11" - core-version: 0502879d10a3eac03929ddc1d409075517459049 - - python-version: "3.11" - core-version: a305a9fe9c2a1fc76168b6d5c9dd5ad4f1e7ddbc - - python-version: "3.11" - core-version: 33b3b8947a806065b7abed5a12d6ccf60a4e121d - - python-version: "3.11" - core-version: f0953dde95a69d5bba763893f466c8009bb411e3 - - python-version: "3.11" - core-version: e18da97670aebc76fb99bb697dd04038157677c9 - - python-version: "3.11" - core-version: efbd82b5fb0218a322cd193755f30342dcd51362 - - python-version: "3.11" - core-version: 6ffb1c3c2de0af2c928e36923963fd4b76b16224 - - python-version: "3.11" - core-version: 90bdbf503a399e822c0d984f5c83c2c098f0383a - - python-version: "3.11" - core-version: f4bc32ea089b3a6709e0e103bad23d8308fabd43 - - python-version: "3.11" - core-version: e39187423f4292593859644db413fafa194490bf - - python-version: "3.11" - core-version: b53eae2846e0fb53bf720a23f14826ef07b56140 - - python-version: "3.11" - core-version: 80a74470306850817ce9292b7f6f10eaa818c405 - - python-version: "3.11" - core-version: 67e3203d004e39614dd54119e3100333a5524bcd - - python-version: "3.11" - core-version: 87d0b026c248f8661e96bd3ce6c256bba610163f - - python-version: "3.11" - core-version: 01e66d6fb2671fcbfba296a020e11e497a82bb50 - - python-version: "3.11" - core-version: 3e58e1987c318399d02ebdd683c8b68b0529b08a - - python-version: "3.11" - core-version: f2bd122fde12f20dc8cf1189d6cb24254c7801fd - - python-version: "3.11" - core-version: 22d0f4ff0af055d95ce90e9ff42953a0347b43fa - - python-version: "3.11" - core-version: b45369bb35c97fd508476cf3bfbe8d16ec8e1c83 - - python-version: "3.11" - core-version: 9b839041fa288f84a539f8c157d91821c9e86ff0 - - python-version: "3.11" - core-version: 1449df5649749541b31e47f93b9a74db1f1da3fe - - python-version: "3.11" - core-version: 22fbd2294336ad9f4365a2a0d6b2183f3ef0e16d - - python-version: "3.11" - core-version: 0d69ba6797720856c97f29594d6cfde3da793794 - - python-version: "3.11" - core-version: 727a72fbaa54a6d3a65f24616acdb65a26d6d874 - - python-version: "3.11" - core-version: 4b2cbbe8c2ce998c7ffaeea8654d3c9900c386b3 - - python-version: "3.11" - core-version: 4fefbf0408de1d0c2a3de49dcd3a0395cbc932ee - - python-version: "3.11" - core-version: fdb69efd67d18871251dc84070bde2101aec2402 - - python-version: "3.11" - core-version: c853010f80de7e296fca5849447c441ededca0dd - - python-version: "3.11" - core-version: 3c072e50c7ae3dd7dc15d6fd9aaf7d103019b0e8 - - python-version: "3.11" - core-version: 3681816a43ad32164ee46551d5cfb0996e4e4fff - - python-version: "3.11" - core-version: c2d66cc14ac2095a904a7b68d878d6384b78ebdd - - python-version: "3.11" - core-version: 2b3a379b8e8cca4687b9b2252567ed449fa2d44a - - python-version: "3.11" - core-version: a2495f494b2634104ca56c02aa8c6a091bad223a - - python-version: "3.11" - core-version: 6f880ec83764064116e4e82ebc83ad95e04dacc2 - - python-version: "3.11" - core-version: 89ed630af94744f9b0734aed6bdb1110a1378217 - - python-version: "3.11" - core-version: fa59b7f8ac89f0aa5caf5eedfea08ed453a87299 - - python-version: "3.11" - core-version: 46675560d29883fa13a897234ba5f893d48a2c2a - - python-version: "3.11" - core-version: 36b4b5b887e38cd9fad1a5252f7d17da40b56b33 - - python-version: "3.11" - core-version: e29598ecaa581e789987d855781fd9f6daef2baf - - python-version: "3.11" - core-version: c94c7fae1b10a7f7759182fd17b6922d0a28651c - - python-version: "3.11" - core-version: 8675bc6554bf0248c3cd88ab42417c0ddbb83d6b - - python-version: "3.11" - core-version: 1ceb536dfb9e5e3122c7e0a3d82f420b6a4ec4a2 - - python-version: "3.11" - core-version: 0ff8371953e29a1584fc5a7ab9db540f1c8a5d04 - - python-version: "3.11" - core-version: 499c7491af9abf3f4dcbb908ba1e73965f17bc92 - - python-version: "3.11" - core-version: 344f349371d593652fef0fcdfc47932be7b3501b - - python-version: "3.11" - core-version: 6afa49a441de6ce4fc8871fdf9406d853bd2035b - - python-version: "3.11" - core-version: ac06905b1c96587c57728086db50c665ffc9912c - - python-version: "3.11" - core-version: 0ca4da559238ae12d4b26a922451bc2c4864ea93 - - python-version: "3.11" - core-version: cb1f365482b1e8b69d42e30b84f8cfb28411d0c3 - - python-version: "3.11" - core-version: da5455c454eada12c8d887a40be8319fb07c5858 - - python-version: "3.11" - core-version: 701c8a376835963ef0513c22c99f4fd448bb5178 - - python-version: "3.11" - core-version: 4e9ce235e8cfbbfe47c5b4b862df25b533d7251d - - python-version: "3.11" - core-version: c989e56d3cffd911e150cdfff3d3ae3658f469e5 - - python-version: "3.11" - core-version: 1422a4f8c6f4eaada2195c6bd875c6fa5f497253 - - python-version: "3.11" - core-version: d8c989f7326cc65bd6ae8eccf4ab0c28b2a2e844 - - python-version: "3.11" - core-version: 6bd4ace3c3b4ab05e1fdb85c27d55ac09c39d950 - - python-version: "3.11" - core-version: 9a8fe0490749e440577c0211b2e460c72baf0904 - - python-version: "3.11" - core-version: 67eeed67036248ed4c9fb7dbe4bcb7e90c1dfc11 - - python-version: "3.11" - core-version: 0bdfb95d1d765bd218d43adbb4c9c68482fb5db2 - - python-version: "3.11" - core-version: 7c22225cd19ddd4e84d71781794876e6715a854d - - python-version: "3.11" - core-version: f9a0877bb9887e638c6940bc6aa10a48b2f317c8 - - python-version: "3.11" - core-version: 4ae69787a2f20649b5dec3124251ae057b4264e4 - - python-version: "3.11" - core-version: 1ace9ab82e76985bbd158714d7685d74c389c788 - - python-version: "3.11" - core-version: 8dc5f737895c01c431445b3333dcdd5cf435a949 - - python-version: "3.11" - core-version: 8a9f117bdcd7424969783707538e2197f5060e3d - - python-version: "3.11" - core-version: d46a72e5abf00ac7f4831564b251d0aaa1cd34be - - python-version: "3.11" - core-version: 5c54fa1ce1e36388b82367b9163094b2f3110924 - - python-version: "3.11" - core-version: 2a18d0a764eaa5eaf02180081b5809e06fc77f12 - - python-version: "3.11" - core-version: 9a2a920fd4a6007b7041f1ecfa352e67feb20cb3 + core-version: "2023.8.0b0" - python-version: "3.11" - core-version: c253549e6883fc8c62aeb5b77d1c415d844f5629 + core-version: "2023.8.0" - python-version: "3.11" - core-version: faa67a40c453e7fbef9e3e8ff8af7ab1b974a697 + core-version: "dev" steps: - name: Check out code from GitHub uses: actions/checkout@v3 From 3a79c8dd6ae5389019e8892baa4769df949a82df Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 11:54:32 -0700 Subject: [PATCH 15/28] limit range --- .github/workflows/pytest.yaml | 76 ++++++++++++++++++++++++++++++----- 1 file changed, 65 insertions(+), 11 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 80d6994e..258fca39 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -36,33 +36,87 @@ jobs: # 2023.7.3 core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - python-version: "3.11" - core-version: "aa13082ce0dd9fb29e631c9280449428822d8000" + core-version: "4bf23fac6f50eeebd127b979212a7ea607e0f212" - python-version: "3.11" - core-version: "bc6a41fb9465523998b2e152dd7f3d4275f2cc9d" + core-version: "ca2863a1b928ba904f8342614aa5edf1bfcc5e20" - python-version: "3.11" - core-version: "4bf23fac6f50eeebd127b979212a7ea607e0f212" + core-version: "a9f75228579084f6a8c47882802ef0c22ba0edbe" + - python-version: "3.11" + core-version: "eb60dc65ec0df7ce1e4166b6fc1af750472d783a" + - python-version: "3.11" + core-version: "771b5e34b7442b577c545db07409b9c797cd1daa" + - python-version: "3.11" + core-version: "44aa531a5177ffeed58d704d7710336a4c078ee4" + - python-version: "3.11" + core-version: "564e618d0c9c34aef85052959886f80a5770df24" + - python-version: "3.11" + core-version: "8cccfcc9465aaa0e904650a71543f8cff03f8cb6" + - python-version: "3.11" + core-version: "c79fa87a7f772528f73d7606bc9914c296bcae2b" + - python-version: "3.11" + core-version: "49a27bb9a75bd74effa131252329230a98c241d6" - python-version: "3.11" core-version: "863b36c0c30010c3ea79afc32bfaf46bb6687922" + - python-version: "3.11" + core-version: "8559af8232a19f9c078930186d60c441ac93383a" + - python-version: "3.11" + core-version: "1e3fdcc4d196821dfba24c9b3df3f0827ea87fdd" + - python-version: "3.11" + core-version: "d02bf837a6cdb5e44e029bca39035212e2958d24" + - python-version: "3.11" + core-version: "d80b7d0145c15d2dd593a84d98c4f6704b82fdb8" + - python-version: "3.11" + core-version: "36cb3f72781f4d4441fe760c3b105d4ed0edda39" + - python-version: "3.11" + core-version: "31dfa5561a65ecc55fbf93d97b789d63638bd1d2" + - python-version: "3.11" + core-version: "aa87f0ad546d95028cfa62ab57a69f260fb11189" + - python-version: "3.11" + core-version: "a4d4eb3871d689aa53cf26a5caae2b538a64ac7a" + - python-version: "3.11" + core-version: "e99b6b2a0328b361f494c1d0c188161406e9e840" - python-version: "3.11" core-version: "560e0cc7e0c759adba3b7ad16fbb72e67794e67d" + - python-version: "3.11" + core-version: "70c88a125c9937fb50ef832af04814a90d9ca11e" + - python-version: "3.11" + core-version: "7ccb06ed2247e7c3ba753f2300fe92f8d12016e2" + - python-version: "3.11" + core-version: "005e45edcc3de1400808e7c889f4e0646960d310" + - python-version: "3.11" + core-version: "8937884e33866938764cdc6b0d126531d95641ae" + - python-version: "3.11" + core-version: "34f1b2b71d208a3f040442cd450f8c03c5c04f35" + - python-version: "3.11" + core-version: "98e166f795690cc60133572873d89ad6ecc30a98" + - python-version: "3.11" + core-version: "e76254a50fe0d546300ce34e5ae45df3e4cfea1f" + - python-version: "3.11" + core-version: "b0dd05a411eb027cd5feb9268bc8a211a5c1aba8" + - python-version: "3.11" + core-version: "73bbfc7a2d7e85229da8a22c719e8a8d064dcd49" - python-version: "3.11" core-version: "57361a738e26de2b83cd5f8478c140ae92b1b6dc" - python-version: "3.11" - core-version: "2f8b88e6ef767c3ca27f4d2e96837c4d65c59666" + core-version: "dc8267b05a5c81c484b10d0ab11daf88cbdfdfe4" - python-version: "3.11" - core-version: "f809b7284be577386c2f292007168a470285bcba" + core-version: "5a951c390b5c2b6554c5ca0018d609e9336fb741" - python-version: "3.11" - core-version: "1e9a5e48c32ec055c4aa18f98128cb2d0f7baa55" + core-version: "56bc708b28d93ddc354593d5c02af3655febde6b" - python-version: "3.11" - core-version: "63115a906d7c8ede02be7ee9c30ac95d0c5ff7b8" + core-version: "4a6247f922a41f3145a30b1e071aa92f1dcdd1f1" - python-version: "3.11" - core-version: "d35e5db9843624f560e0bf4934568bca90478d6d" + core-version: "e29b6408f6581c5ccd133a94fc00a08c6455aec9" - python-version: "3.11" - core-version: "72458b66725c9f05a8c7e4e338bc8f89b5c41fb6" + core-version: "65ebb6a74f4a276e557b17898720f6eac5741bf9" - python-version: "3.11" - core-version: "3e429ae081a6d559bb397dcf99c4674431f79629" + core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - python-version: "3.11" - core-version: "3b80deb2b74d642e805f6b1abaa8c4be9253439e" + core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" + - python-version: "3.11" + core-version: "657fdb075ad4d79ad21c442495f0145d6e672f3c" + - python-version: "3.11" + core-version: "2f8b88e6ef767c3ca27f4d2e96837c4d65c59666" - python-version: "3.11" core-version: "2023.8.0b0" - python-version: "3.11" From 11c4d72bccd509851e399158e3d62f9724f5cc75 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 12:00:17 -0700 Subject: [PATCH 16/28] limit range --- .github/workflows/pytest.yaml | 77 +---------------------------------- 1 file changed, 1 insertion(+), 76 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 258fca39..96f83ba4 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -32,83 +32,8 @@ jobs: core-version: "2023.6.1" - python-version: "3.11" core-version: "2023.7.3" - - python-version: "3.11" - # 2023.7.3 + - python-version: "3.11" # 2023.7.3 core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - - python-version: "3.11" - core-version: "4bf23fac6f50eeebd127b979212a7ea607e0f212" - - python-version: "3.11" - core-version: "ca2863a1b928ba904f8342614aa5edf1bfcc5e20" - - python-version: "3.11" - core-version: "a9f75228579084f6a8c47882802ef0c22ba0edbe" - - python-version: "3.11" - core-version: "eb60dc65ec0df7ce1e4166b6fc1af750472d783a" - - python-version: "3.11" - core-version: "771b5e34b7442b577c545db07409b9c797cd1daa" - - python-version: "3.11" - core-version: "44aa531a5177ffeed58d704d7710336a4c078ee4" - - python-version: "3.11" - core-version: "564e618d0c9c34aef85052959886f80a5770df24" - - python-version: "3.11" - core-version: "8cccfcc9465aaa0e904650a71543f8cff03f8cb6" - - python-version: "3.11" - core-version: "c79fa87a7f772528f73d7606bc9914c296bcae2b" - - python-version: "3.11" - core-version: "49a27bb9a75bd74effa131252329230a98c241d6" - - python-version: "3.11" - core-version: "863b36c0c30010c3ea79afc32bfaf46bb6687922" - - python-version: "3.11" - core-version: "8559af8232a19f9c078930186d60c441ac93383a" - - python-version: "3.11" - core-version: "1e3fdcc4d196821dfba24c9b3df3f0827ea87fdd" - - python-version: "3.11" - core-version: "d02bf837a6cdb5e44e029bca39035212e2958d24" - - python-version: "3.11" - core-version: "d80b7d0145c15d2dd593a84d98c4f6704b82fdb8" - - python-version: "3.11" - core-version: "36cb3f72781f4d4441fe760c3b105d4ed0edda39" - - python-version: "3.11" - core-version: "31dfa5561a65ecc55fbf93d97b789d63638bd1d2" - - python-version: "3.11" - core-version: "aa87f0ad546d95028cfa62ab57a69f260fb11189" - - python-version: "3.11" - core-version: "a4d4eb3871d689aa53cf26a5caae2b538a64ac7a" - - python-version: "3.11" - core-version: "e99b6b2a0328b361f494c1d0c188161406e9e840" - - python-version: "3.11" - core-version: "560e0cc7e0c759adba3b7ad16fbb72e67794e67d" - - python-version: "3.11" - core-version: "70c88a125c9937fb50ef832af04814a90d9ca11e" - - python-version: "3.11" - core-version: "7ccb06ed2247e7c3ba753f2300fe92f8d12016e2" - - python-version: "3.11" - core-version: "005e45edcc3de1400808e7c889f4e0646960d310" - - python-version: "3.11" - core-version: "8937884e33866938764cdc6b0d126531d95641ae" - - python-version: "3.11" - core-version: "34f1b2b71d208a3f040442cd450f8c03c5c04f35" - - python-version: "3.11" - core-version: "98e166f795690cc60133572873d89ad6ecc30a98" - - python-version: "3.11" - core-version: "e76254a50fe0d546300ce34e5ae45df3e4cfea1f" - - python-version: "3.11" - core-version: "b0dd05a411eb027cd5feb9268bc8a211a5c1aba8" - - python-version: "3.11" - core-version: "73bbfc7a2d7e85229da8a22c719e8a8d064dcd49" - - python-version: "3.11" - core-version: "57361a738e26de2b83cd5f8478c140ae92b1b6dc" - - python-version: "3.11" - core-version: "dc8267b05a5c81c484b10d0ab11daf88cbdfdfe4" - - python-version: "3.11" - core-version: "5a951c390b5c2b6554c5ca0018d609e9336fb741" - - python-version: "3.11" - core-version: "56bc708b28d93ddc354593d5c02af3655febde6b" - - python-version: "3.11" - core-version: "4a6247f922a41f3145a30b1e071aa92f1dcdd1f1" - - python-version: "3.11" - core-version: "e29b6408f6581c5ccd133a94fc00a08c6455aec9" - - python-version: "3.11" - core-version: "65ebb6a74f4a276e557b17898720f6eac5741bf9" - python-version: "3.11" core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - python-version: "3.11" From e17902484e93c0ee18f892371e3d09b78ba2ce71 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 12:14:35 -0700 Subject: [PATCH 17/28] probably 3a06659120aa629e0db290ec9e83e2ad129baaf3 is the cause --- .github/workflows/pytest.yaml | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 96f83ba4..bdd2e7d7 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -35,15 +35,38 @@ jobs: - python-version: "3.11" # 2023.7.3 core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - python-version: "3.11" + n: "0" core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - python-version: "3.11" + n: "1" + core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" + - python-version: "3.11" + n: "2" + core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" + - python-version: "3.11" + n: "3" + core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" + - python-version: "3.11" + n: "4" + core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" + - python-version: "3.11" + n: "5" core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - python-version: "3.11" - core-version: "657fdb075ad4d79ad21c442495f0145d6e672f3c" + n: "0" + core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" + - python-version: "3.11" + n: "1" + core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - python-version: "3.11" - core-version: "2f8b88e6ef767c3ca27f4d2e96837c4d65c59666" + n: "2" + core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - python-version: "3.11" - core-version: "2023.8.0b0" + n: "3" + core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" + - python-version: "3.11" + n: "4" + core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - python-version: "3.11" core-version: "2023.8.0" - python-version: "3.11" From ad897fdcbaa6932b1d75359e5a8c09c57f6ca078 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 13:02:24 -0700 Subject: [PATCH 18/28] add more logging --- custom_components/adaptive_lighting/switch.py | 4 ++++ tests/test_switch.py | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index 150f2ef4..21668c63 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2219,6 +2219,10 @@ def on(eid: str, event: Event): and event.time_fired > timer.start_time # type: ignore[operator] ): # Restart the auto reset timer + _LOGGER.debug( + "Restarting auto reset timer for '%s' because it was turned on manually.", + eid, + ) timer.start() if service == SERVICE_TURN_OFF: diff --git a/tests/test_switch.py b/tests/test_switch.py index ce24c770..25bd359c 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -765,17 +765,23 @@ async def test_auto_reset_manual_control(hass): manual_control = switch.manager.manual_control async def update(): + _LOGGER.debug("start update") await switch._update_attrs_and_maybe_adapt_lights(context=context, transition=0) + _LOGGER.debug("end update") await hass.async_block_till_done() + _LOGGER.debug("end block in update ") async def turn_light(state, **kwargs): + _LOGGER.debug("start turn light") await hass.services.async_call( LIGHT_DOMAIN, SERVICE_TURN_ON if state else SERVICE_TURN_OFF, {ATTR_ENTITY_ID: light.entity_id, **kwargs}, blocking=True, ) + _LOGGER.debug("end turn light") await hass.async_block_till_done() + _LOGGER.debug("end block in turn light") await update() _LOGGER.debug( "Turn light %s to state %s, to %s", light.entity_id, state, kwargs @@ -799,7 +805,9 @@ async def turn_light(state, **kwargs): for i in range(3): _LOGGER.debug("Quick change %s", i) await turn_light(True, brightness=(i + 1) * 20) + _LOGGER.debug("yolo 1") await asyncio.sleep(0.04) # Less than 0.1, but 3x0.04 > 0.1 + _LOGGER.debug("yolo 2") assert manual_control[light.entity_id] await update() From 8ad56a3403d1e96f002172994617f72886fc111a Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 13:10:21 -0700 Subject: [PATCH 19/28] add one more logging call --- custom_components/adaptive_lighting/switch.py | 1 + 1 file changed, 1 insertion(+) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index 21668c63..2b14777b 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -1299,6 +1299,7 @@ async def _execute_adaptation_calls(self, data: AdaptationData): service_data, context=data.context, ) + _LOGGER.debug("%s: 'light.turn_on' awaited", self._name) async def execute_cancellable_adaptation_calls( self, From 1193f4d1024e2168ea2dcdefc3e067f9adf9a368 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 13:14:54 -0700 Subject: [PATCH 20/28] remove logging call and use hass.async_create_task --- custom_components/adaptive_lighting/switch.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index 2b14777b..ad23253c 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -1299,7 +1299,6 @@ async def _execute_adaptation_calls(self, data: AdaptationData): service_data, context=data.context, ) - _LOGGER.debug("%s: 'light.turn_on' awaited", self._name) async def execute_cancellable_adaptation_calls( self, @@ -2015,7 +2014,7 @@ async def _service_interceptor_turn_on_single_light_handler( # Don't await to avoid blocking the service call. # Assign to a variable only to await in tests. self.adaptation_tasks.add( - asyncio.create_task( + self.hass.async_create_task( switch.execute_cancellable_adaptation_calls(adaptation_data), ), ) From 29ce84b27cff9b6a07ec7f37e4eb44511913dc45 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 13:19:23 -0700 Subject: [PATCH 21/28] add log --- custom_components/adaptive_lighting/switch.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index ad23253c..eb005ef2 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2259,6 +2259,8 @@ def on(eid: str, event: Event): elif state == STATE_OFF: # is turning on on(eid, event) + _LOGGER.debug("end of turn_on_off_event_listener()") + async def state_changed_event_listener(self, event: Event) -> None: """Track 'state_changed' events.""" entity_id = event.data.get(ATTR_ENTITY_ID, "") From eb572093a79f215fd2832ca2cdaf47132efbabc0 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 13:48:36 -0700 Subject: [PATCH 22/28] await switch.manager.adaptation_tasks --- custom_components/adaptive_lighting/switch.py | 2 -- tests/test_switch.py | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index eb005ef2..ad23253c 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2259,8 +2259,6 @@ def on(eid: str, event: Event): elif state == STATE_OFF: # is turning on on(eid, event) - _LOGGER.debug("end of turn_on_off_event_listener()") - async def state_changed_event_listener(self, event: Event) -> None: """Track 'state_changed' events.""" entity_id = event.data.get(ATTR_ENTITY_ID, "") diff --git a/tests/test_switch.py b/tests/test_switch.py index 25bd359c..7c7caef8 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -590,6 +590,7 @@ async def test_manual_control( async def update(): await switch._update_attrs_and_maybe_adapt_lights(context=context, transition=0) + await asyncio.gather(*switch.manager.adaptation_tasks) await hass.async_block_till_done() async def turn_light(state, **kwargs): From 5648750f920693a4132823815c5d1c3c0bd8f961 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 13:49:49 -0700 Subject: [PATCH 23/28] assert 0 --- .github/workflows/pytest.yaml | 29 ------------------- custom_components/adaptive_lighting/switch.py | 2 ++ tests/test_switch.py | 1 + 3 files changed, 3 insertions(+), 29 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index bdd2e7d7..92412924 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -32,38 +32,9 @@ jobs: core-version: "2023.6.1" - python-version: "3.11" core-version: "2023.7.3" - - python-version: "3.11" # 2023.7.3 - core-version: "40b5605cafcf81925c6066545b0bc226ee78a4e4" # 2023.7.3 - python-version: "3.11" n: "0" core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - - python-version: "3.11" - n: "1" - core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - - python-version: "3.11" - n: "2" - core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - - python-version: "3.11" - n: "3" - core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - - python-version: "3.11" - n: "4" - core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - - python-version: "3.11" - n: "5" - core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - - python-version: "3.11" - n: "0" - core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - - python-version: "3.11" - n: "1" - core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - - python-version: "3.11" - n: "2" - core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - - python-version: "3.11" - n: "3" - core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - python-version: "3.11" n: "4" core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index ad23253c..eb005ef2 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2259,6 +2259,8 @@ def on(eid: str, event: Event): elif state == STATE_OFF: # is turning on on(eid, event) + _LOGGER.debug("end of turn_on_off_event_listener()") + async def state_changed_event_listener(self, event: Event) -> None: """Track 'state_changed' events.""" entity_id = event.data.get(ATTR_ENTITY_ID, "") diff --git a/tests/test_switch.py b/tests/test_switch.py index 7c7caef8..e4082bb4 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -814,6 +814,7 @@ async def turn_light(state, **kwargs): await update() await asyncio.sleep(0.3) # Wait the auto reset time assert not manual_control[light.entity_id] + assert 0, switch.extra_state_attributes["autoreset_time_remaining"] async def test_apply_service(hass): From 04b3c53754b0043c8f7cfea954f369a1eea3fecc Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 13:58:20 -0700 Subject: [PATCH 24/28] remove log statement --- custom_components/adaptive_lighting/switch.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index eb005ef2..ad23253c 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2259,8 +2259,6 @@ def on(eid: str, event: Event): elif state == STATE_OFF: # is turning on on(eid, event) - _LOGGER.debug("end of turn_on_off_event_listener()") - async def state_changed_event_listener(self, event: Event) -> None: """Track 'state_changed' events.""" entity_id = event.data.get(ATTR_ENTITY_ID, "") From 6ef8d414e46924002d5d880cc83ec651485747ca Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 14:03:38 -0700 Subject: [PATCH 25/28] undo log --- custom_components/adaptive_lighting/switch.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/custom_components/adaptive_lighting/switch.py b/custom_components/adaptive_lighting/switch.py index ad23253c..af69f21f 100644 --- a/custom_components/adaptive_lighting/switch.py +++ b/custom_components/adaptive_lighting/switch.py @@ -2013,11 +2013,9 @@ async def _service_interceptor_turn_on_single_light_handler( # Don't await to avoid blocking the service call. # Assign to a variable only to await in tests. - self.adaptation_tasks.add( - self.hass.async_create_task( - switch.execute_cancellable_adaptation_calls(adaptation_data), - ), - ) + coro = switch.execute_cancellable_adaptation_calls(adaptation_data) + task = self.hass.async_create_task(coro) + self.adaptation_tasks.add(task) # Remove tasks that are done if done_tasks := [t for t in self.adaptation_tasks if t.done()]: self.adaptation_tasks.difference_update(done_tasks) @@ -2219,10 +2217,6 @@ def on(eid: str, event: Event): and event.time_fired > timer.start_time # type: ignore[operator] ): # Restart the auto reset timer - _LOGGER.debug( - "Restarting auto reset timer for '%s' because it was turned on manually.", - eid, - ) timer.start() if service == SERVICE_TURN_OFF: From 98390a5bab0259b01518237f5f8cb516484b45a5 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 14:07:23 -0700 Subject: [PATCH 26/28] revert tests --- tests/test_switch.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/tests/test_switch.py b/tests/test_switch.py index e4082bb4..4744f878 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -590,7 +590,6 @@ async def test_manual_control( async def update(): await switch._update_attrs_and_maybe_adapt_lights(context=context, transition=0) - await asyncio.gather(*switch.manager.adaptation_tasks) await hass.async_block_till_done() async def turn_light(state, **kwargs): @@ -766,23 +765,17 @@ async def test_auto_reset_manual_control(hass): manual_control = switch.manager.manual_control async def update(): - _LOGGER.debug("start update") await switch._update_attrs_and_maybe_adapt_lights(context=context, transition=0) - _LOGGER.debug("end update") await hass.async_block_till_done() - _LOGGER.debug("end block in update ") async def turn_light(state, **kwargs): - _LOGGER.debug("start turn light") await hass.services.async_call( LIGHT_DOMAIN, SERVICE_TURN_ON if state else SERVICE_TURN_OFF, {ATTR_ENTITY_ID: light.entity_id, **kwargs}, blocking=True, ) - _LOGGER.debug("end turn light") await hass.async_block_till_done() - _LOGGER.debug("end block in turn light") await update() _LOGGER.debug( "Turn light %s to state %s, to %s", light.entity_id, state, kwargs @@ -806,15 +799,12 @@ async def turn_light(state, **kwargs): for i in range(3): _LOGGER.debug("Quick change %s", i) await turn_light(True, brightness=(i + 1) * 20) - _LOGGER.debug("yolo 1") - await asyncio.sleep(0.04) # Less than 0.1, but 3x0.04 > 0.1 - _LOGGER.debug("yolo 2") + await asyncio.sleep(0.05) # Less than 0.1 assert manual_control[light.entity_id] await update() await asyncio.sleep(0.3) # Wait the auto reset time assert not manual_control[light.entity_id] - assert 0, switch.extra_state_attributes["autoreset_time_remaining"] async def test_apply_service(hass): From 2f0223d6033d1d5bcca50d206dcb479d209979bd Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 14:12:32 -0700 Subject: [PATCH 27/28] await in test again --- .github/workflows/pytest.yaml | 38 +++++++++++++++-------------------- tests/test_switch.py | 1 + 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 92412924..93f19e48 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -14,32 +14,26 @@ jobs: fail-fast: false matrix: include: - # - python-version: "3.10" - # core-version: "2022.11.5" - # - python-version: "3.10" - # core-version: "2022.12.9" - # - python-version: "3.10" - # core-version: "2023.1.7" - # - python-version: "3.10" - # core-version: "2023.2.5" - # - python-version: "3.10" - # core-version: "2023.3.6" - # - python-version: "3.10" - # core-version: "2023.4.6" - # - python-version: "3.10" - # core-version: "2023.5.2" + - python-version: "3.10" + core-version: "2022.11.5" + - python-version: "3.10" + core-version: "2022.12.9" + - python-version: "3.10" + core-version: "2023.1.7" + - python-version: "3.10" + core-version: "2023.2.5" + - python-version: "3.10" + core-version: "2023.3.6" + - python-version: "3.10" + core-version: "2023.4.6" + - python-version: "3.10" + core-version: "2023.5.4" - python-version: "3.11" - core-version: "2023.6.1" + core-version: "2023.6.3" - python-version: "3.11" core-version: "2023.7.3" - python-version: "3.11" - n: "0" - core-version: "3a06659120aa629e0db290ec9e83e2ad129baaf3" - - python-version: "3.11" - n: "4" - core-version: "c76fac0633749e8f463f9b6c22a4d47bba5ba1e7" - - python-version: "3.11" - core-version: "2023.8.0" + core-version: "2023.8.1" - python-version: "3.11" core-version: "dev" steps: diff --git a/tests/test_switch.py b/tests/test_switch.py index 4744f878..484bdb83 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -766,6 +766,7 @@ async def test_auto_reset_manual_control(hass): async def update(): await switch._update_attrs_and_maybe_adapt_lights(context=context, transition=0) + await asyncio.gather(*switch.manager.adaptation_tasks) await hass.async_block_till_done() async def turn_light(state, **kwargs): From aeeddd034a8b5390c40ea904186c541bdb924b80 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Thu, 10 Aug 2023 15:59:41 -0700 Subject: [PATCH 28/28] shorter periods --- tests/test_switch.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_switch.py b/tests/test_switch.py index 484bdb83..e0127ecf 100644 --- a/tests/test_switch.py +++ b/tests/test_switch.py @@ -797,10 +797,10 @@ async def turn_light(state, **kwargs): ) # Do a couple of quick changes and check that light is not reset - for i in range(3): + for i in range(15): # do 15 changes to get to >0.1s _LOGGER.debug("Quick change %s", i) await turn_light(True, brightness=(i + 1) * 20) - await asyncio.sleep(0.05) # Less than 0.1 + await asyncio.sleep(0.01) # Less than 0.1 assert manual_control[light.entity_id] await update()