J. Nick Koston
f8af05bbea
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-18 23:22:56 -10:00
Javier Peletier and J. Nick Koston
c2c50ceea7
[substitutions] substitutions pass and !include redesign (package refactor part 2a) ( #14917 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-18 23:10:01 -10:00
J. Nick Koston
3e845d387a
[tests] Fix test_show_logs_serial taking 30s due to unmocked serial port wait ( #14903 )
2026-03-17 14:44:17 -10:00
J. Nick Koston
d27a54553c
Merge remote-tracking branch 'upstream/fix-slow-serial-log-test' into integration
...
# Conflicts:
# .github/workflows/ci.yml
# esphome/components/esp32_ble_server/ble_server.cpp
# esphome/components/mqtt/mqtt_backend_esp32.cpp
# script/cpp_benchmark.py
# script/determine-jobs.py
2026-03-17 14:30:31 -10:00
J. Nick Koston
cdf05263df
[tests] Fix test_show_logs_serial taking 30s due to unmocked serial port wait
...
The test was calling show_logs() which invokes _wait_for_serial_port("/dev/ttyUSB0").
Since that path doesn't exist in CI/dev environments, it spun in a 30-second polling
loop before returning. Add mock_wait_for_serial_port fixture to skip the wait.
2026-03-17 14:26:24 -10:00
0c5f055d45
[core] cpp tests: Allow customizing code generation during tests ( #14681 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-18 00:16:01 +00:00
J. Nick Koston
8daa946afa
[esp32] Add crash handler to capture and report backtrace across reboots ( #14709 )
2026-03-12 14:00:20 +13:00
J. Nick Koston
a5dffabe6e
Merge branch 'esp32-crash-handler' into integration
2026-03-11 13:02:34 -10:00
J. Nick Koston
84813ded94
Add test for ESP32 crash handler stacktrace decoding
2026-03-11 10:43:52 -10:00
J. Nick Koston
829448a5c6
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-10 12:33:56 -10:00
J. Nick Koston and Claude Opus 4.6
6356e3def9
[core] Warn on crystal frequency mismatch during serial upload ( #14582 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 20:42:38 +00:00
J. Nick Koston
58e65f9355
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-10 10:39:58 -10:00
Jonathan Swoboda and Claude Opus 4.6
8d988723cd
[config] Allow !extend/!remove on components without id in schema ( #14682 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-10 16:38:50 -04:00
J. Nick Koston
043290c204
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# esphome/__main__.py
# esphome/core/log.cpp
# esphome/core/log.h
# esphome/util.py
# tests/component_tests/logger/test_logger.py
# tests/component_tests/logger/test_logger.yaml
# tests/unit_tests/test_util.py
2026-03-10 10:34:19 -10:00
J. Nick Koston
2c7ef4f758
[rp2040] Use picotool for BOOTSEL upload and improve upload UX ( #14483 )
2026-03-10 09:10:33 -10:00
J. Nick Koston
bc6691da9a
Merge remote-tracking branch 'origin/rp2040-upload-improvements' into integration
2026-03-09 17:49:47 -10:00
J. Nick Koston
4b83de10e5
make linux error reporting more helpful
2026-03-09 17:45:03 -10:00
J. Nick Koston
399d695a39
Merge remote-tracking branch 'upstream/dev' into rp2040-upload-improvements
2026-03-09 17:45:00 -10:00
e82f0f4432
[cpptests] support testing platform components ( #13075 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-10 02:41:02 +00:00
J. Nick Koston
6a0539b3d6
Merge branch 'inline-varint-parse-fast-path' into integration
2026-03-08 21:00:55 -10:00
J. Nick Koston and Claude Opus 4.6
088a8a4338
[ci] Match symbols with changed signatures in memory impact analysis ( #14600 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:23:58 -10:00
J. Nick Koston and Claude Opus 4.6
d0285cdc41
[core] Pack entity flags into configure_entity_() and protect setters ( #14564 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:11:15 -10:00
J. Nick Koston and Claude Opus 4.6
45f20d9c06
[core] Merge set_name + set_entity_strings into configure_entity_ ( #14444 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-07 07:26:01 -10:00
J. Nick Koston
1336198423
Merge branch 'warn-crystal-mismatch' into integration
...
# Conflicts:
# tests/unit_tests/test_util.py
2026-03-06 22:45:07 -10:00
J. Nick Koston and Claude Opus 4.6
696c0f021c
Patch at import point instead of subprocess.run
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 22:38:44 -10:00
J. Nick Koston and Claude Opus 4.6
9f72d5e428
Add test for run_external_process line_callbacks coverage
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 22:35:33 -10:00
J. Nick Koston
dc4506453e
Add tests for crystal callback wiring in upload_using_esptool
...
Tests both the in-process (run_external_command) and subprocess
(run_external_process) paths to ensure line_callbacks are passed.
2026-03-06 22:29:23 -10:00
J. Nick Koston
511e47b0f5
Remove unnecessary CORE mock from tests
...
CORE.reset() is called after each test via the reset_core fixture,
and CORE.dashboard defaults to False, so patching is not needed.
2026-03-06 22:26:12 -10:00
J. Nick Koston
ae8dabc41a
Add test for run_external_command with line_callbacks
2026-03-06 22:25:18 -10:00
J. Nick Koston
c2747a6d35
Add tests and use walrus operator for crystal freq check
2026-03-06 22:09:52 -10:00
J. Nick Koston
c1c73dd619
Merge remote-tracking branch 'upstream/protect_entity_setters' into integration
...
# Conflicts:
# tests/component_tests/binary_sensor/test_binary_sensor.py
# tests/component_tests/button/test_button.py
# tests/component_tests/text/test_text.py
# tests/component_tests/text_sensor/test_text_sensor.py
2026-03-06 11:16:34 -10:00
J. Nick Koston
c956b33e93
Add comment noting shift correctness is verified by integration test
2026-03-06 11:02:35 -10:00
J. Nick Koston
86dd579dea
Remove internal shift constants from unit tests
...
Tests now verify packed values via comment strings and non-zero
checks rather than decoding individual bit positions. This removes
the coupling to internal bit layout constants.
2026-03-06 11:00:19 -10:00
J. Nick Koston
dffb964e0c
Merge branch 'protect_entity_setters' into integration
2026-03-06 09:56:13 -10:00
J. Nick Koston
54a8f558d6
Convert finalize tests to end-to-end through public API
...
Tests now go through _setup_entity_impl + setup_device_class/
setup_unit_of_measurement + finalize_entity_strings using real
CONF_* keys instead of internal _KEY_* constants.
2026-03-06 09:51:26 -10:00
J. Nick Koston
c37f1481ce
Derive entity category names from cv.ENTITY_CATEGORIES and cleanup
...
- Remove hardcoded _ENTITY_CATEGORY_NAMES dict, derive from cv.ENTITY_CATEGORIES keys
- Remove redundant local import re (already at top level)
- Remove last setup_test_environment noqa line
2026-03-06 09:46:28 -10:00
J. Nick Koston
7117ded6b6
[core] Pack entity flags into configure_entity_() and protect setters
...
Move set_internal(), set_disabled_by_default(), set_entity_category(),
and set_device() to protected on EntityBase. These were codegen-only
setters never intended for runtime use.
internal, disabled_by_default, and entity_category are now packed into
the existing configure_entity_() uint32 parameter alongside string
indices, eliminating up to 3 separate function calls per entity.
set_device() is renamed to set_device_() per protected naming convention
and remains a separate call (pointer can't be packed).
Entity category integer mapping is derived from cv.ENTITY_CATEGORIES
to stay in sync with the C++ enum automatically.
2026-03-06 09:35:30 -10:00
J. Nick Koston
379e0b060f
Merge branch 'configure_entity' into integration
...
# Conflicts:
# esphome/components/api/api_connection.cpp
# esphome/components/api/api_connection.h
# esphome/core/application.h
# esphome/core/config.py
# esphome/core/entity_base.h
2026-03-06 08:47:29 -10:00
J. Nick Koston
fd19bb4aa3
Merge remote-tracking branch 'upstream/dev' into configure_entity
...
# Conflicts:
# esphome/core/entity_base.h
2026-03-06 08:40:31 -10:00
J. Nick Koston and Copilot
8a915dcbbe
[core] Move device class strings to PROGMEM on ESP8266 ( #14443 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-06 08:34:27 -10:00
J. Nick Koston
6b53ccc85a
make it safer
2026-03-06 07:39:49 -10:00
J. Nick Koston
79d7795c07
Merge branch 'dev' into configure_entity
2026-03-06 07:33:40 -10:00
J. Nick Koston
8359705fab
Merge branch 'dev' into rp2040-upload-improvements
2026-03-06 07:05:45 -10:00
J. Nick Koston
a16b8fc0ac
[rp2040] Fix Pico W LED pin and auto-generate board definitions for arduino-pico 5.5.x ( #14528 )
2026-03-06 07:00:31 -10:00
J. Nick Koston and Copilot
74e4b69654
[core] Replace Application name/friendly_name std::string with StringRef ( #14532 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2026-03-06 06:58:13 -10:00
J. Nick Koston
07e51886f3
[core] Move entity icon strings to PROGMEM on ESP8266 ( #14437 )
2026-03-06 06:57:52 -10:00
J. Nick Koston
dedabba199
Merge branch 'app-name-stringref' into integration
...
# Conflicts:
# esphome/core/application.h
2026-03-05 15:46:47 -10:00
J. Nick Koston
363086b4f1
Extract make_app_name_cpp as testable free function with unit tests
...
Move the pure logic (string building, escaping, byte length
calculation) out of the nested closure into a module-level function
that can be tested without codegen mocks. Tests cover both copilot
review concerns: empty friendly_name with MAC suffix, and UTF-8
byte length for non-ASCII characters.
2026-03-05 15:35:31 -10:00
J. Nick Koston
0596980326
Merge branch 'rp2040-auto-gen-boards' into integration
2026-03-05 14:43:00 -10:00
J. Nick Koston
46d325065f
Filter out placeholder pin values (e.g. 99) during board generation
2026-03-05 14:31:08 -10:00