Commit Graph
16734 Commits
Author SHA1 Message Date
J. Nick Koston b8f736ac86 Let the backstop own the impossible table states
A build cannot succeed with a missing or unreadable partition table
(gen_esp32part consumes it first), so the is_file check and the OSError
arm also defended dead paths; the reachable contract keeps its named
handling (None from the caller, no qualifying row) and everything else
is the backstop's business.
2026-08-23 16:09:22 -05:00
J. Nick Koston f4651dcc57 Remove the partition-table arms gen_esp32part makes unreachable
A malformed table cannot reach a successful build: IDF's own parser
rejects blank/junk/zero size cells and validates the layout before rc
is 0, so the blank-cell raise, the row-context re-raise, the broken-
table warning arm, and the size-0 backstop defended dead paths. Only
the read race (OSError) stays named; anything else is the backstop's
business. Their tests go with them; a decimal size cell keeps the
plain-int parse covered.
2026-08-23 16:05:31 -05:00
J. Nick Koston 7153c8b209 Classify a truncated size report as a corrupt artifact
UnicodeDecodeError is a ValueError, so a non-UTF-8 esp_idf_size.json
read as an internal regression via the backstop; the size report is the
one input nothing upstream validates.
2026-08-23 15:58:25 -05:00
J. Nick Koston 7595baebd2 Warn only on corrupt reports, carry the traceback, name the file
Structural corruption at any level (containers or non-numeric leaves)
warns as malformed; a well-shaped report simply lacking DRAM/DIRAM is a
variant difference and stays at debug, so healthy builds on other
targets cannot train users to ignore the warning channel. The backstop
warning carries exc_info so a field report is actionable without -v,
and the image_size warning names its file. Tests pin each message
distinctly.
2026-08-23 15:49:41 -05:00
J. Nick Koston 7475ab8f94 Name the shape predicates 2026-08-23 15:39:48 -05:00
J. Nick Koston 1fa8d37558 Extract _ram_line and a nil-safe _dict_get
The RAM block's inline isinstance ternaries collapse, and the summary
body reads as two symmetric line helpers.
2026-08-23 15:36:42 -05:00
J. Nick Koston aa200c1051 Name malformed shapes distinctly, widen the broken-table net, pin the quiet path
A structurally corrupt memory_types warns as malformed instead of
posing as a variant without the region; csv.Error joins the
broken-table warning arm; the blanket's visible record carries the
exception type. The malformed-cell test parametrizes over blank and
non-blank junk, the missing-report test pins its warning, and the
quiet path asserts its debug record exists with no warning records.
2026-08-23 15:31:34 -05:00
J. Nick Koston 0e9a08c7c1 Let the Flash-line helper own both sides of its bar
_flash_line validates image_size and returns the formatted line, so
nothing after a print can raise and the line buffer, the image_size
double-lookup, and the blanket's one known trigger all dissolve; the
blanket keeps its charter (a test now drives it with a patched raise).
_find_app_partition_size returns None for legitimate absence and
reserves raises for a present-but-broken table, dissolving the
_MalformedPartitionRow subclass and the except-ordering it relied on;
run_compile passes the table path unconditionally so the module owns
the whole policy. The is_file pre-check folds into the OSError arm,
the dead or-{} is gone, and the tests share _dram_size_data and
_write_partitions instead of repeating payload literals.
2026-08-23 15:24:13 -05:00
J. Nick Koston 2f86ab222a Cover the suffix parse, quiet-skip arms, and corrupt size report 2026-08-23 15:17:32 -05:00
J. Nick Koston c43003d0c1 Warn on the build's own broken artifacts, buffer the report, pin the blank-cell path
Skips caused by the build's own outputs (missing/unparsable/misshapen
size report, absent RAM region, broken-but-present partition table via
a typed _MalformedPartitionRow) log at warning; only the legitimately
quiet cases (no table given, no qualifying partition) stay at debug.
The report is buffered so a late failure prints nothing instead of half
a report. The blank-cell test now asserts the logged row and path, so
reverting the ValueError fails it (mutation-checked), and the nested-
shape tests assert the named guard fired rather than the blanket.
2026-08-23 15:12:59 -05:00
J. Nick Koston 2982d75fd2 Warn when the summary is skipped, name the file and row, pin the blanket test on output
The blanket backstop and the zero-partition skip log at warning naming
their input, so a regression or broken table is visible where the
missing line is observed, with the traceback at debug. The blank-cell
ValueError carries the partition and csv path, and the blanket test
asserts no half-formed bar prints instead of a vacuous Traceback check.
2026-08-23 14:04:42 -05:00
J. Nick Koston 6a5a45dd73 Trim comments and docstrings 2026-08-22 23:57:02 -05:00
J. Nick Koston dca2e6dafd Blanket the summary against nested shapes, reject blank size cells by name, correct the CI-effect comment 2026-08-22 23:41:19 -05:00
J. Nick Koston b27a0227a1 Exercise the OSError arm deterministically; annotate the fixtures 2026-08-22 23:33:22 -05:00
J. Nick Koston 6193a39358 [esp-idf] Never let the size summary fail a linked build 2026-08-22 23:26:34 -05:00
J. Nick KostonandGitHub f0651e5c9b [radio_frequency] Inline the trivial make_call helper (#18645) 2026-08-22 21:07:34 -05:00
J. Nick KostonandGitHub f24b731f95 [infrared] Inline the trivial make_call helper (#18644) 2026-08-22 21:07:14 -05:00
J. Nick KostonandGitHub 01ad424d12 [datetime] Inline the trivial make_call helpers (#18643) 2026-08-22 21:07:03 -05:00
J. Nick KostonandGitHub 435d522683 [text] Inline the trivial Text publish_state forwarding overloads (#18642) 2026-08-22 21:06:47 -05:00
J. Nick KostonandGitHub a63c3bc0c7 [valve] Inline the trivial Valve and ValveCall accessors (#18641) 2026-08-22 21:06:31 -05:00
J. Nick KostonandGitHub b83ce91528 [display] Inline the trivial DisplayPage setters and page navigation helpers (#18639) 2026-08-22 21:06:03 -05:00
J. Nick KostonandGitHub a30238aab6 [wireguard] Inline the trivial Wireguard setters (#18638) 2026-08-22 21:05:51 -05:00
J. Nick KostonandGitHub 47156c9a5b [mqtt] Inline the trivial MQTT client, component and sensor accessors (#18637) 2026-08-22 21:05:39 -05:00
J. Nick KostonandGitHub 78240c9a46 [sprinkler] Inline the trivial Sprinkler accessors (#18636) 2026-08-22 21:04:57 -05:00
J. Nick KostonandGitHub 5a9f06e584 [thermostat] Inline the trivial ThermostatClimate setters and getters (#18635) 2026-08-22 21:04:41 -05:00
J. Nick KostonandGitHub ecb007da70 [deep_sleep] Inline the trivial DeepSleepComponent setters (#18634) 2026-08-22 21:04:23 -05:00
J. Nick KostonandGitHub ad1a4fca36 [version] Inline the trivial VersionTextSensor setters (#18633) 2026-08-22 21:04:08 -05:00
J. Nick KostonandGitHub 832a738588 [switch] Inline the trivial inverted accessors (#18632) 2026-08-22 21:03:51 -05:00
J. Nick KostonandGitHub fedb3ac5c1 [fan] Inline the trivial Fan call helpers (#18631) 2026-08-22 21:03:38 -05:00
J. Nick KostonandGitHub cb4e55e444 [cover] Inline the trivial Cover and CoverCall accessors (#18630) 2026-08-22 21:03:15 -05:00
J. Nick KostonandGitHub 3ef5a8e6a4 [water_heater] Inline the trivial visual override setters (#18629) 2026-08-22 21:03:07 -05:00
J. Nick KostonandGitHub 0e915e9b8b [core] Inline the ESPTime::strftime std::string overload (#18628) 2026-08-22 21:02:58 -05:00
J. Nick KostonandGitHub dba3b287dd [api] Inline the trivial APIServer accessors (#18627) 2026-08-22 21:02:14 -05:00
J. Nick KostonandGitHub ce019f508d [safe_mode] Inline the trivial set_safe_mode setters (#18626) 2026-08-22 21:02:04 -05:00
J. Nick KostonandGitHub 5c2286cc4a [climate] Inline the trivial visual override setters (#18624) 2026-08-22 21:01:55 -05:00
J. Nick KostonandGitHub efc0a94112 [text_sensor] Inline the trivial TextSensor forwarding overloads (#18623) 2026-08-22 21:01:42 -05:00
J. Nick KostonandGitHub c60062c418 [sensor] Inline the trivial ExponentialMovingAverageFilter setters (#18622) 2026-08-22 21:01:28 -05:00
J. Nick KostonandGitHub 763a1d9371 [select] Inline the trivial Select accessors (#18621) 2026-08-22 21:01:16 -05:00
J. Nick KostonandGitHub 4db1666024 [light] Inline the trivial LightState accessors (#18620) 2026-08-22 21:00:59 -05:00
J. Nick KostonandGitHub 0dc69aab1e [logger] Inline the trivial Logger accessors (#18619) 2026-08-22 21:00:49 -05:00
J. Nick KostonandGitHub a282cb095e [ethernet] Inline the trivial EthernetComponent setters (#18618) 2026-08-22 21:00:39 -05:00
J. Nick KostonandGitHub 259e7182a3 [esp32] Exclude esp_gdbstub from the build by default (#18604) 2026-08-22 20:59:55 -05:00
J. Nick KostonandGitHub 74bdf275d2 [core] Dump the main.cpp config comment with sorted keys (#18653) 2026-08-22 20:58:28 -05:00
J. Nick KostonandGitHub 14499223fd [esp8266] Don't report stale crash state after hardware WDT resets (#18597) 2026-08-22 20:58:13 -05:00
J. Nick KostonandGitHub 6aab523dd9 [esp32_ble] Log connection parameter update results (#18607) 2026-08-22 20:57:58 -05:00
J. Nick KostonandGitHub 1f31e51446 [esphome] Inline the trivial OTA port accessors (#18625) 2026-08-22 20:57:37 -05:00
J. Nick KostonandGitHub c062d0c717 [ota] Log prepare, upload, and total OTA timing in espota2 (#18582) 2026-08-22 20:57:13 -05:00
J. Nick KostonandGitHub dcabaedff1 [bk72xx_ble] Block BK7238 until the LibreTiny bonding partition fix lands (#18649) 2026-08-23 11:59:24 +12:00
d119ad6c60 [usb_uart] Extract non-final USBUartChannelBase from USBUartChannel (#17472)
Co-authored-by: p1ngb4ck <p@local>
2026-08-22 10:47:46 -05:00
esphome[bot]andGitHub 74fc2e367a Bump bundled esphome-device-builder to 1.12.4 (#18651) 2026-08-22 15:42:53 +00:00