Skip to content

Merge pull request #168 from tjmv/fix-race-cond #644

Merge pull request #168 from tjmv/fix-race-cond

Merge pull request #168 from tjmv/fix-race-cond #644

Triggered via push June 5, 2024 07:07
Status Failure
Total duration 28s
Artifacts

lint.yml

on: push
Run linters and tests
21s
Run linters and tests
Fit to window
Zoom out
Zoom in

Annotations

41 errors and 2 warnings
/home/runner/work/pywizlight/pywizlight/pywizlight/_version.py#L1
"""PyPi Version.""" + __version__ = "0.5.14"
/home/runner/work/pywizlight/pywizlight/pywizlight/discovery.py#L1
"""Discover bulbs in a network.""" + import asyncio import json import logging from asyncio import AbstractEventLoop, BaseTransport, DatagramTransport, Future from typing import Any, List, Optional, Tuple, cast
/home/runner/work/pywizlight/pywizlight/pywizlight/bulblibrary.py#L9
DW -- Dimmable White (most filament bulbs) RGB -- Fullstack bulb 1C -- Specific to the hardware - defines PWM frequency + way of controlling CCT temperature 31 -- Related to the hardware revision """ + import dataclasses import logging from enum import Enum from typing import List, Optional
/home/runner/work/pywizlight/pywizlight/pywizlight/cli.py#L1
"""Command-line interface to interact with wizlight devices.""" + import asyncio from functools import wraps from typing import Any, Callable, Coroutine, TypeVar import click
/home/runner/work/pywizlight/pywizlight/pywizlight/models.py#L1
"""Models.""" + import dataclasses from typing import Dict, List @dataclasses.dataclass(frozen=True)
/home/runner/work/pywizlight/pywizlight/pywizlight/protocol.py#L1
"""pywizlight integration protocol.""" + import asyncio import logging from typing import Callable, Optional, Tuple _LOGGER = logging.getLogger(__name__)
/home/runner/work/pywizlight/pywizlight/pywizlight/push_manager.py#L1
"""pywizlight integration push updates.""" + import asyncio import json import logging from typing import Callable, Dict, Optional, Tuple, cast
/home/runner/work/pywizlight/pywizlight/pywizlight/rgbcw.py#L1
"""Manages the RGBCW color.""" + import logging from math import atan2, cos, pi from typing import Iterable, Tuple from .vec import (
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_bad_json_1_0_0.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_dimmable_white.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_dimmable_white_1_11_7.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_dimmable_white_1_8_0.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_hero_1_23_70.py#L1
"""Tests for the Bulb API with a Hero.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_invalid_module_name.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_light_strip_1_16_64.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import PilotBuilder, wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb.py#L1
"""Tests for the Bulb API.""" + from typing import AsyncGenerator from unittest.mock import patch import pytest
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_light_strip_1_21_4.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import PilotBuilder, wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_missing_kelvin_range.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_no_module_name.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_light_strip_1_25_0.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import PilotBuilder, wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_rgbww_1_17_1.py#L1
"""Tests for the Bulb API.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_rgbw_1_21_4.py#L1
"""Tests for the Bulb API with a rgbtw bulb.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_socket_1_16_71.py#L1
"""Tests for the Bulb API with a socket.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_socket.py#L1
"""Tests for the Bulb API with a socket.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/bulb.py#L1
"""pywizlight integration.""" + import asyncio import contextlib import json import logging import time
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_squire_1_21_40.py#L1
"""Tests for the Bulb API with a Squire.""" + from typing import AsyncGenerator import pytest from pywizlight import PilotBuilder, wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_turnable_white.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_turnable_white_1_18_0.py#L1
"""Tests for the Bulb API with a light strip.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_turnable_white_1_10_0.py#L1
"""Tests for the Bulb API with a turnable white device with 1.10.0 firmware.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_unknown_1_8_0.py#L1
"""Tests for the Bulb API with an unknown bulb.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_bulb_wall_switch_1_16_68.py#L1
"""Tests for the Bulb API with a wall switch dimmer.""" + from typing import AsyncGenerator import pytest from pywizlight import wizlight
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_scenes.py#L1
"""Tests for the Scenes.""" - import pytest from pywizlight import scenes
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_utils.py#L1
"""Tests for the Utils.""" - import pytest from pywizlight import utils
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_discovery.py#L1
"""Tests for discovery.""" + import asyncio import contextlib import logging from typing import AsyncGenerator, Tuple from unittest.mock import MagicMock, patch
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_discovery.py#L19
@pytest.fixture async def mock_discovery_aio_protocol() -> AsyncGenerator: """Fixture to mock an asyncio connection.""" loop = asyncio.get_running_loop() - future: asyncio.Future[ - Tuple[asyncio.DatagramProtocol, BroadcastProtocol] - ] = asyncio.Future() + future: asyncio.Future[Tuple[asyncio.DatagramProtocol, BroadcastProtocol]] = ( + asyncio.Future() + ) async def _wait_for_connection(): transport, protocol = await future await asyncio.sleep(0) await asyncio.sleep(0)
/home/runner/work/pywizlight/pywizlight/setup.py#L1
"""Setup for pywizlight.""" + import os import re import setuptools
/home/runner/work/pywizlight/pywizlight/pywizlight/vec.py#L1
"""Helper class with some math. A bunch of utility functions, just so we don't have to bring in any external dependencies. """ + from math import cos, sin, sqrt from operator import add, mul, sub from typing import Tuple # a small value, really close to zero, more than adequate for our 3 orders of magnitude
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/test_push_manager.py#L1
"""Tests for the Bulb API with a socket.""" + import asyncio import logging from typing import AsyncGenerator, Optional, cast from unittest.mock import patch
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/fake_bulb.py#L1
"""Start up a fake bulb to test features without a real bulb.""" + import asyncio import json from typing import Any, Callable, Dict, Tuple, cast from pywizlight.protocol import WizProtocol
/home/runner/work/pywizlight/pywizlight/pywizlight/tests/fake_bulb.py#L833
) handler.transport = cast(asyncio.DatagramTransport, transport_proto[0]) return transport_proto -async def make_udp_fake_bulb_push_server() -> Tuple[ - asyncio.BaseTransport, asyncio.BaseProtocol -]: +async def make_udp_fake_bulb_push_server() -> ( + Tuple[asyncio.BaseTransport, asyncio.BaseProtocol] +): """Configure a fake push instance.""" handler = BulbUDPRequestHandler() transport_proto = await asyncio.get_event_loop().create_datagram_endpoint( lambda: WizProtocol(on_response=lambda resp, addr: None), local_addr=("127.0.0.1", 0),
Run linters and tests
Process completed with exit code 1.
Run linters and tests
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/setup-python@v1, samuelmeuli/lint-action@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Run linters and tests
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/setup-python@v1, samuelmeuli/lint-action@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/