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.
This issue was the single umbrella every
tests/parity/allowlist entry pointed at while theparity suite was new. It is now an index: every one of the 218 symbols the suite flagged
against
micropython-rp2-stubshas been sorted into either a documented design/hardwarelimit (
docs/limitations.md, quoted intests/parity/allowlist.toml) or one of theper-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 chiprp2.*-- no PIO/DMA hardware on this class of AVR chipmachine.ADC'sATTN_*/WIDTH_*/CORE_*/ADCBlock/ADCWiPy-- ESP32/WiPy specificmachine.Pin'sALT_*/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-- peripheralsthis chip does not have
machine.UART'sCTS/RTS/IDLE/INV_RX/INV_TX/IRQ_BREAK/IRQ_RX/IRQ_RXIDLE/IRQ_TXIDLE-- no hardware flow control or break/idle IRQ sourcemicropython'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) andasm_thumb/asm_xtensa-- no interpreter/heap at runtime, andno ARM/Xtensa target
time/utime'sgmtime/localtime/mktime/time/time_ns-- no RTC peripheralmachine.PWM.init's stub...defaults -- a stub-authoring convention, not a real defaultTracked gaps (one issue per distinct cause)
/syntax #12 --/(PEP 3102 positional-only) is unsupported by both compiler frontends; blockstime/utime/micropython/severalmachinesignatures from ever matching exactlyPin.value()/Pin.mode()/Signal.value()'s sentinel 255 collides with the legalvalue 255
I2C/SoftI2C/SPIread methods need a caller-owned buffer where MicroPythonreturns a list/bytes object, and
I2Chas nostop=repeated-start controlI2C/SoftI2Crawstart/stop/write/readintoprimitives,readfrom_mem/writeto_mem, andI2CTarget(slave mode) are not implementedUART.init/deinit/flush/irq/sendbreak/txdoneare not implementedreset_cause()/soft_reset()are not implemented thoughMCUSRbacks thembitstream()/dht_readinto()are not implementedPin.init(value=...)and aPin.pull()getter are missingTimer.init()'s shape doesn't match any one of the stub's three overloadsmachine.SPI's constructor andSoftSPI-- coversSPI.init/CONTROLLER/LSB/MSB/SoftSPIOriginal snapshot, for history
Initial results before allowlisting: 293 generated parity cases, 74 passing, 218 unexpected
failures, 1 skipped alias-only
uasynciostub case. That 218 is now the count sorted above.