Building a Test for Diverse Fleet of Platforms, How Hard That Could Be?
summary
Shows concrete failures and fixes: tests that assume single core break on SMP so use test1_cpu helper or set CONFIG_SMP_CPUS=1; timeouts fail across units and slow targets so replace blind sleeps with synchronization primitives or tune tick/ms conversions; compilers remove or fold operations (malloc checks, division‑by‑zero hooks) so disable optimization per function with a no_optimization attribute and prevent elision with volatile access; examples come from Zephyr CI, qemu, and ARC hardware debugging.
AI-written summary · about
chapters (5)
- 0:00Intro
- 1:49Multiprocessing
- 4:36Timeouts in tests
- 6:39Undefined behavior in tests
- 7:58Compiler optimizations
related talks
05mHeterogeneity and characteristic testing
44mTest Strategy for Zephyr
55mComprehensive Testing of Embedded Software
44mTest Strategy for Zephyr
41mReducing Friction in Testing Using QEMU and Labgrid for Yocto-based Products
33mAutomated Testing for Embedded Development: Next Generation Board Farming
28mKVM-unit-tests: When "KVM" Doesn't Mean KVM
19mChecking your work: Linux kernel testing and CI
