Skip to content

Implement first ESP32 QEMU runner for esp32dev post-build crash testing #25

Closed

Description

@zackees

Goal

Implement the first ESP32 QEMU-backed emulator path for crash-oriented post-build testing.

Why

The repo already documents QEMU testing direction for ESP32, and the existing crash decoder understands ESP32-family crash output. The practical first slice is narrow: esp32dev only, with clearly documented image-layout and flash-mode constraints.

Scope

  • implement QemuEsp32Runner
  • support esp32dev only in the first iteration
  • define the required artifact bundle: bootloader, partitions, app binary, or merged image
  • codify image layout / flash mode constraints for emulator use
  • route emulator output through existing timeout and crash classification logic
  • add at least one crash fixture and one success fixture

Explicit non-goals

  • ESP32-S3 support in the first iteration
  • broad ESP32 family coverage
  • pretending QEMU coverage is equivalent to hardware validation

Acceptance criteria

  • fbuild test-emu works end-to-end for esp32dev
  • crash output is surfaced and classified through existing decoding/monitor logic
  • constraints are documented clearly in tests/examples/docs
  • unsupported ESP32 variants fail explicitly instead of silently trying to run

References

Parent: #21

Activity

  1. added
    enhancementNew feature or request
    area: emulationEmulator, simulator, and post-build test runner work
    priority: p2Valuable later follow-up after core path is working
    on Apr 10, 2026
  2. zackees commented on Apr 10, 2026

    @zackees
    MemberAuthor

    Priority note: this is P2 for the first wave, not because it lacks value, but because it carries more emulator-specific constraints than AVR.

    Dependencies and sequencing:

  3. zackees commented on Apr 11, 2026

    @zackees
    MemberAuthor

    Completed in PR #28. QemuRunner implemented for ESP32 and ESP32-S3 with DIO flash mode validation and crash classification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: emulationEmulator, simulator, and post-build test runner workenhancementNew feature or requestpriority: p2Valuable later follow-up after core path is working

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions