From 7df554364fe3e5070ca2c9e34b42de98de34d538 Mon Sep 17 00:00:00 2001 From: mikecarper Date: Tue, 6 Oct 2026 10:57:33 -0700 Subject: [PATCH] Cover every T-Beam charger boot read failure --- test/test_tbeam_charge_target.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/test_tbeam_charge_target.py b/test/test_tbeam_charge_target.py index 26d17f036..d5a836f80 100644 --- a/test/test_tbeam_charge_target.py +++ b/test/test_tbeam_charge_target.py @@ -118,6 +118,21 @@ int main() { assert(!charge::setPersistent(io, store, model, target)); assert(io.writes == 0 && store.writes == 0); } + for (unsigned fail = 1; fail <= 3; ++fail) { + IO io = initialized(model); + assert(charge::write(io, model, 4100)); + io.reads = io.writes = 0; + io.failRead = fail; + Store store; + store.present = true; + store.value = target; + assert(!charge::configureBoot(io, store, model, true)); + assert(store.present && store.value == target && store.writes == 0 && store.erases == 0); + uint16_t actual = 0; + assert(charge::read(io, model, actual)); + assert(actual == (fail < 3 ? 4100 : target)); + assert(actual != 4200); // A failed boot restore cannot use the default. + } for (bool existed : {false, true}) { for (bool failedCommit : {false, true}) { IO io = initialized(model);