Problem
We just fixed a Teensy 3.0 regression where fbuild selected the bundled Teensy framework libraries/FastLED even when the project already had a local lib/FastLED.
That produced duplicate FastLED builds and linker failures in the FastLED repo on teensy30:
- project-local copy:
lib/FastLED/...
- bundled framework copy:
framework-arduinoteensy/.../libraries/FastLED/...
The symptom was a long series of multiple-definition errors for CFastLED, FastLED, power_mgt, noise, palette symbols, etc.
What to add
Please add dedicated teensy30 regression coverage for this shadowing case in the Teensy test suite.
Suggested shape:
- fixture based on
tests/platform/teensy30
- include a project-local
lib/FastLED/ tree
- build a sketch that includes
<FastLED.h>
- assert that the bundled Teensy framework
FastLED is not selected/compiled when the local library exists
Good targets
Either of these is fine:
crates/fbuild-build/src/teensy/orchestrator.rs unit coverage for framework-library selection
crates/fbuild-build/tests/teensy_build.rs ignored integration coverage using a teensy30 fixture
The important thing is that a future regression would fail specifically on the Teensy 3.0 path, not just in downstream FastLED CI.
Why this matters
teensy30 already has a fixture under tests/platform/teensy30, but the current Teensy integration tests are centered on teensy41, so this exact 3.0 shadowing path can regress without an obvious test failure inside fbuild itself.
Problem
We just fixed a Teensy 3.0 regression where
fbuildselected the bundled Teensy frameworklibraries/FastLEDeven when the project already had a locallib/FastLED.That produced duplicate FastLED builds and linker failures in the FastLED repo on
teensy30:lib/FastLED/...framework-arduinoteensy/.../libraries/FastLED/...The symptom was a long series of multiple-definition errors for
CFastLED,FastLED,power_mgt,noise, palette symbols, etc.What to add
Please add dedicated
teensy30regression coverage for this shadowing case in the Teensy test suite.Suggested shape:
tests/platform/teensy30lib/FastLED/tree<FastLED.h>FastLEDis not selected/compiled when the local library existsGood targets
Either of these is fine:
crates/fbuild-build/src/teensy/orchestrator.rsunit coverage for framework-library selectioncrates/fbuild-build/tests/teensy_build.rsignored integration coverage using ateensy30fixtureThe important thing is that a future regression would fail specifically on the Teensy 3.0 path, not just in downstream FastLED CI.
Why this matters
teensy30already has a fixture undertests/platform/teensy30, but the current Teensy integration tests are centered onteensy41, so this exact 3.0 shadowing path can regress without an obvious test failure insidefbuilditself.