Uh oh!
There was an error while loading. Please reload this page.
test(bloat): FastLED master ESP32-S3 end-to-end integration test - #448
Conversation
The Phase 2 + Phase 3 acceptance gate from the #434 meta. Exercises the full `fbuild build` → `fbuild bloat` flow against the latest FastLED master + ESP32-S3 toolchain to verify: - build_info.json carries the four #428 toolchain paths (nm_path, cppfilt_path, readelf_path, objdump_path) and mirrors them onto the PIO-shape `aliases` block. - `fbuild bloat .` works zero-flag and lands `report.json` + `report.md` at the documented Phase 3 path `<project>/.fbuild/build/esp32s3/bloat-report/`. - stdout prints both absolute paths on exit (Phase 3 invariant). - Symbol counts, totals, and the >100 map-derived (#427) row count are within bounds generous enough not to flake on FastLED master drift, but tight enough to catch real regressions. - Markdown output renders the top-flash table. Marked `#[ignore]` so ordinary `cargo test` runs aren't network- dependent. Wire into the nightly CI matrix via workflow_dispatch + scheduled weekly to surface FastLED master regressions here too. Closes#442. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Closes#442 (Integration test for #434). Stacked on top of #447 → #446 → #445 → #443 → #436. Merge those first.
The Phase 2 + Phase 3 acceptance gate from the #434 meta. Exercises the full
fbuild build→fbuild bloatflow against the latest FastLED master + ESP32-S3 toolchain to verify:build_info.jsoncarries the four fbuild symbols: ingest toolchain paths from build_info.json + extend schema with nm/c++filt/readelf/objdump #428 toolchain paths (nm_path,cppfilt_path,readelf_path,objdump_path) and mirrors them onto the PIO-shapealiasesblock.fbuild bloat .works zero-flag and landsreport.json+report.mdat the documented Phase 3 path<project>/.fbuild/build/esp32s3/bloat-report/.>100map-derived (feat(symbols): map-derived synthesis for anonymous rodata pools (closes #425) #427) row count are within bounds generous enough not to flake on FastLED master drift, but tight enough to catch real regressions.Run mode
Marked
#[ignore]so ordinarycargo testruns aren't network-dependent. Wire into the nightly CI matrix viaworkflow_dispatch+ scheduled weekly to surface FastLED master regressions here too:soldr cargo test -p fbuild-cli --test bloat_esp32s3_fastled_master \ -- --ignored --nocaptureTest plan
soldr cargo test -p fbuild-cli --test bloat_esp32s3_fastled_master— compiles, properly ignored by default (0 passed; 1 ignored).soldr cargo clippy -p fbuild-cli --tests -- -D warnings✅fbuild bloat— first-class, end-to-end bloat analysis with build_info-driven toolchain resolution (no manual nm/c++filt, no PlatformIO, no side scripts) #434), which lives in the CI workflow that consumes this test.🤖 Generated with Claude Code