Remove ESP8266 unit tests because ESP8266 does only support arduiono framework
This commit is contained in:
parent
03a4fa501c
commit
1c99601dc9
|
|
@ -26,7 +26,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
board: [esp8266, esp32s2, esp32c3, full]
|
board: [esp32s2, esp32c3, full]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
### What you need
|
### What you need
|
||||||
|
|
||||||
* ESPHome compatible microcontroller (e.g. ESP8266, ESP32, ESP32-S2, ESP32-C3, ...)
|
* ESPHome compatible microcontroller (e.g. ESP32, ESP32-S2, ESP32-C3, ...)
|
||||||
* RJ12 cable (phone cable, RJ11 may also work)
|
* RJ12 cable (phone cable, RJ11 may also work)
|
||||||
|
|
||||||
### Wiring
|
### Wiring
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
### What you need
|
### What you need
|
||||||
|
|
||||||
* ESPHome compatible microcontroller (e.g. ESP8266, ESP32, ESP32-S2, ESP32-C3, ...)
|
* ESPHome compatible microcontroller (e.g. ESP32, ESP32-S2, ESP32-C3, ...)
|
||||||
* ADUM1201 Dual Channel Digital Magnetic Isolator
|
* ADUM1201 Dual Channel Digital Magnetic Isolator
|
||||||
(to convert 5V UART signal from the heatpump to 3.3V UART signal of the ESP controller)
|
(to convert 5V UART signal from the heatpump to 3.3V UART signal of the ESP controller)
|
||||||
* CN-CNT cable/connectors to Heatpump/CZ-TAW1 (see [Heishamon](https://github.com/Egyras/HeishaMon) github site for more information)
|
* CN-CNT cable/connectors to Heatpump/CZ-TAW1 (see [Heishamon](https://github.com/Egyras/HeishaMon) github site for more information)
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ tests/
|
||||||
│ ├── README.md
|
│ ├── README.md
|
||||||
│ ├── test_panasonic_heatpump_unit.py # Unit tests
|
│ ├── test_panasonic_heatpump_unit.py # Unit tests
|
||||||
│ ├── test_panasonic_heatpump_integration.py # Integration tests
|
│ ├── test_panasonic_heatpump_integration.py # Integration tests
|
||||||
│ ├── test_panasonic_heatpump_esp8266.yaml # ESP8266 test config
|
|
||||||
│ ├── test_panasonic_heatpump_esp32s2.yaml # ESP32-S2 test config
|
│ ├── test_panasonic_heatpump_esp32s2.yaml # ESP32-S2 test config
|
||||||
│ ├── test_panasonic_heatpump_esp32c3.yaml # ESP32-C3 test config
|
│ ├── test_panasonic_heatpump_esp32c3.yaml # ESP32-C3 test config
|
||||||
│ ├── test_panasonic_heatpump_cztaw1.yaml # CZ-TAW1 test config
|
│ ├── test_panasonic_heatpump_cztaw1.yaml # CZ-TAW1 test config
|
||||||
|
|
|
||||||
|
|
@ -14,13 +14,11 @@ This directory contains comprehensive tests for the `panasonic_heatpump` ESPHome
|
||||||
### Integration Tests (`test_panasonic_heatpump_integration.py`)
|
### Integration Tests (`test_panasonic_heatpump_integration.py`)
|
||||||
- Tests minimal feature configuration on ESP32 board
|
- Tests minimal feature configuration on ESP32 board
|
||||||
- Tests full feature configuration on ESP32 board
|
- Tests full feature configuration on ESP32 board
|
||||||
- Tests configuration on ESP8266 board
|
|
||||||
- Tests configuration on ESP32-S2 board
|
- Tests configuration on ESP32-S2 board
|
||||||
- Tests configuration on ESP32-C3 board
|
- Tests configuration on ESP32-C3 board
|
||||||
- Tests configuration with CZ-TAW1 (UART-proxy)
|
- Tests configuration with CZ-TAW1 (UART-proxy)
|
||||||
|
|
||||||
### Test Configuration Files
|
### Test Configuration Files
|
||||||
- `test_panasonic_heatpump_esp8266.yaml` - ESP8266 Wemos D1 Mini
|
|
||||||
- `test_panasonic_heatpump_esp32s2.yaml` - ESP32-S2 Wemos S2 Mini
|
- `test_panasonic_heatpump_esp32s2.yaml` - ESP32-S2 Wemos S2 Mini
|
||||||
- `test_panasonic_heatpump_esp32c3.yaml` - ESP32-C3 mini (RISC-V)
|
- `test_panasonic_heatpump_esp32c3.yaml` - ESP32-C3 mini (RISC-V)
|
||||||
- `test_panasonic_heatpump_cztaw1.yaml` - UART proxy setup for CZ-TAW1 client support
|
- `test_panasonic_heatpump_cztaw1.yaml` - UART proxy setup for CZ-TAW1 client support
|
||||||
|
|
@ -68,7 +66,7 @@ The GitHub Actions workflow (`.github/workflows/test_panasonic_heatpump.yml`) in
|
||||||
### Jobs
|
### Jobs
|
||||||
|
|
||||||
1. **test-build**: Validates and compiles the component
|
1. **test-build**: Validates and compiles the component
|
||||||
- Tests on multiple board types: ESP8266, ESP32 (full), ESP32-S2, ESP32-C3 and with CZ-TAW1 (UART-proxy)
|
- Tests on multiple board types: ESP32 (full), ESP32-S2, ESP32-C3 and with CZ-TAW1 (UART-proxy)
|
||||||
- Uses esphome/build-action for firmware compilation
|
- Uses esphome/build-action for firmware compilation
|
||||||
|
|
||||||
2. **lint-code**: Runs clang-format on C++ code
|
2. **lint-code**: Runs clang-format on C++ code
|
||||||
|
|
@ -196,7 +194,7 @@ All tests must pass before merging to main branch. The GitHub Actions workflow e
|
||||||
- Code follows formatting standards
|
- Code follows formatting standards
|
||||||
- All unit and integration tests pass
|
- All unit and integration tests pass
|
||||||
- Latest ESPHome versions is supported
|
- Latest ESPHome versions is supported
|
||||||
- ESP8266 and ESP32 boards are supported
|
- Only ESP32 boards are supported
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
---
|
|
||||||
# Test configuration for panasonic_heatpump component on ESP8266
|
|
||||||
# ESP8266 has limited GPIO pins and only one UART
|
|
||||||
|
|
||||||
esp8266:
|
|
||||||
board: d1_mini
|
|
||||||
|
|
||||||
esphome:
|
|
||||||
name: test-panasonic-heatpump-esp8266
|
|
||||||
friendly_name: "Test Panasonic Heatpump ESP8266"
|
|
||||||
|
|
||||||
logger:
|
|
||||||
level: DEBUG
|
|
||||||
|
|
||||||
external_components:
|
|
||||||
- source:
|
|
||||||
type: local
|
|
||||||
path: ../../components
|
|
||||||
components: [panasonic_heatpump]
|
|
||||||
|
|
||||||
uart:
|
|
||||||
- id: uart_heatpump
|
|
||||||
tx_pin: GPIO13
|
|
||||||
rx_pin: GPIO15
|
|
||||||
baud_rate: 9600
|
|
||||||
data_bits: 8
|
|
||||||
parity: EVEN
|
|
||||||
stop_bits: 1
|
|
||||||
|
|
||||||
# Test basic configuration
|
|
||||||
panasonic_heatpump:
|
|
||||||
id: my_heatpump
|
|
||||||
uart_id: uart_heatpump
|
|
||||||
|
|
||||||
# Test sensor types - first item only
|
|
||||||
sensor:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
top1:
|
|
||||||
name: "Pump Flow"
|
|
||||||
|
|
||||||
# Test binary sensors - first item only
|
|
||||||
binary_sensor:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
top0:
|
|
||||||
name: "Heatpump State"
|
|
||||||
|
|
||||||
# Test text sensors - first item only
|
|
||||||
text_sensor:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
top4:
|
|
||||||
name: "Operating Mode State"
|
|
||||||
|
|
||||||
# Test number controls - first item only
|
|
||||||
number:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
set5:
|
|
||||||
name: "Set Z1 Heat Request Temperature"
|
|
||||||
|
|
||||||
# Test select controls - first item only
|
|
||||||
select:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
set2:
|
|
||||||
name: "Set Holiday Mode"
|
|
||||||
|
|
||||||
# Test switch controls - first item only
|
|
||||||
switch:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
set1:
|
|
||||||
name: "Set Heatpump"
|
|
||||||
|
|
||||||
# Test climate controls - first item only
|
|
||||||
climate:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
zone1:
|
|
||||||
name: "Zone 1"
|
|
||||||
|
|
||||||
# Test water_heater controls - first item only
|
|
||||||
water_heater:
|
|
||||||
- platform: panasonic_heatpump
|
|
||||||
tank:
|
|
||||||
name: "DHW"
|
|
||||||
|
|
@ -12,17 +12,6 @@ import os
|
||||||
class TestPanasonicHeatpumpIntegration:
|
class TestPanasonicHeatpumpIntegration:
|
||||||
"""Integration tests using ESPHome CLI."""
|
"""Integration tests using ESPHome CLI."""
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def test_yaml_esp8266(self):
|
|
||||||
"""Get the path to the ESP8266 test YAML file."""
|
|
||||||
base_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
|
||||||
return os.path.join(
|
|
||||||
base_dir,
|
|
||||||
"tests",
|
|
||||||
"panasonic_heatpump",
|
|
||||||
"test_panasonic_heatpump_esp8266.yaml",
|
|
||||||
)
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def test_yaml_esp32(self):
|
def test_yaml_esp32(self):
|
||||||
"""Get the path to the ESP32 test YAML file."""
|
"""Get the path to the ESP32 test YAML file."""
|
||||||
|
|
@ -64,26 +53,6 @@ class TestPanasonicHeatpumpIntegration:
|
||||||
"test_panasonic_heatpump_cztaw1.yaml",
|
"test_panasonic_heatpump_cztaw1.yaml",
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_validate_esp8266_config(self, test_yaml_esp8266: str):
|
|
||||||
"""Test that the ESP8266 configuration is valid."""
|
|
||||||
if not os.path.exists(test_yaml_esp8266):
|
|
||||||
pytest.skip(f"Test file not found: {test_yaml_esp8266}")
|
|
||||||
|
|
||||||
try:
|
|
||||||
result = subprocess.run(
|
|
||||||
["esphome", "config", test_yaml_esp8266],
|
|
||||||
capture_output=True,
|
|
||||||
text=True,
|
|
||||||
timeout=120,
|
|
||||||
)
|
|
||||||
assert (
|
|
||||||
result.returncode == 0
|
|
||||||
), f"ESP8266 config validation failed: {result.stderr}"
|
|
||||||
except FileNotFoundError:
|
|
||||||
pytest.skip("ESPHome not installed")
|
|
||||||
except subprocess.TimeoutExpired:
|
|
||||||
pytest.fail("ESPHome config validation timed out")
|
|
||||||
|
|
||||||
def test_validate_esp32_config(self, test_yaml_esp32: str):
|
def test_validate_esp32_config(self, test_yaml_esp32: str):
|
||||||
"""Test that the ESP32 configuration is valid."""
|
"""Test that the ESP32 configuration is valid."""
|
||||||
if not os.path.exists(test_yaml_esp32):
|
if not os.path.exists(test_yaml_esp32):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue