Skip to content

Track MicroPython RP2 stub API parity gaps #8

Description

@begeistert

This issue was the single umbrella every tests/parity/ allowlist entry pointed at while the
parity suite was new. It is now an index: every one of the 218 symbols the suite flagged
against micropython-rp2-stubs has been sorted into either a documented design/hardware
limit (docs/limitations.md, quoted in tests/parity/allowlist.toml) or one of the
per-cause issues below, and no allowlist entry points at this issue anymore.

Documented limits (not tracked as gaps; see docs/limitations.md)

  • network.* -- no radio hardware on this class of AVR chip
  • rp2.* -- no PIO/DMA hardware on this class of AVR chip
  • machine.ADC's ATTN_*/WIDTH_*/CORE_*/ADCBlock/ADCWiPy -- ESP32/WiPy specific
  • machine.Pin's ALT_*/DRIVE_*/drive/ANALOG/OPEN_DRAIN/PULL_HOLD/level IRQs --
    RP2040 pin-mux and drive-strength concepts this GPIO does not have
  • machine.I2S/RTC/SDCard/USBDevice/mem32/mem_backup/bootloader -- peripherals
    this chip does not have
  • machine.UART's CTS/RTS/IDLE/INV_RX/INV_TX/IRQ_BREAK/IRQ_RX/IRQ_RXIDLE/
    IRQ_TXIDLE -- no hardware flow control or break/idle IRQ source
  • micropython's runtime-introspection helpers (mem_info, qstr_info, stack_use,
    heap_lock/heap_unlock, opt_level, kbd_intr, alloc_emergency_exception_buf,
    RingIO, Const_T) and asm_thumb/asm_xtensa -- no interpreter/heap at runtime, and
    no ARM/Xtensa target
  • time/utime's gmtime/localtime/mktime/time/time_ns -- no RTC peripheral
  • machine.PWM.init's stub ... defaults -- a stub-authoring convention, not a real default

Tracked gaps (one issue per distinct cause)

Original snapshot, for history

Initial results before allowlisting: 293 generated parity cases, 74 passing, 218 unexpected
failures, 1 skipped alias-only uasyncio stub case. That 218 is now the count sorted above.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions