micropython/tests
Damien George 5996eeb48f py/persistentcode: Add a qstr window to save mpy files more efficiently.
This is an implementation of a sliding qstr window used to reduce the
number of qstrs stored in a .mpy file.  The window size is configured to 32
entries which takes a fixed 64 bytes (16-bits each) on the C stack when
loading/saving a .mpy file.  It allows to remember the most recent 32 qstrs
so they don't need to be stored again in the .mpy file.  The qstr window
uses a simple least-recently-used mechanism to discard the least recently
used qstr when the window overflows (similar to dictionary compression).
This scheme only needs a single pass to save/load the .mpy file.

Reduces mpy file size by about 25% with a window size of 32.
2019-03-05 16:25:07 +11:00
..
basics py: Fix VM crash with unwinding jump out of a finally block. 2019-03-05 16:05:05 +11:00
bench
cmdline py: Replace POP_BLOCK and POP_EXCEPT opcodes with POP_EXCEPT_JUMP. 2019-03-05 16:09:58 +11:00
cpydiff
extmod extmod/moduwebsocket: Refactor `websocket` to `uwebsocket`. 2019-02-14 00:35:45 +11:00
feature_check
float
import py/persistentcode: Add a qstr window to save mpy files more efficiently. 2019-03-05 16:25:07 +11:00
inlineasm
io tests/io: Update tests to use uos.remove() instead of uos.unlink(). 2018-11-26 23:27:28 +11:00
jni
micropython
misc
net_hosted
net_inet
pyb stm32/uart: Add rxbuf keyword arg to UART constructor and init method. 2018-12-05 13:24:11 +11:00
pybnative
stress
thread
unicode
unix
wipy
README
run-bench-tests
run-tests
run-tests-exp.py
run-tests-exp.sh

README

This directory contains tests for various functionality areas of MicroPython.
To run all stable tests, run "run-tests" script in this directory.

Tests of capabilities not supported on all platforms should be written
to check for the capability being present. If it is not, the test
should merely output 'SKIP' followed by the line terminator, and call
sys.exit() to raise SystemExit, instead of attempting to test the
missing capability. The testing framework (run-tests in this
directory, test_main.c in qemu_arm) recognizes this as a skipped test.

There are a few features for which this mechanism cannot be used to
condition a test. The run-tests script uses small scripts in the
feature_check directory to check whether each such feature is present,
and skips the relevant tests if not.

When creating new tests, anything that relies on float support should go in the
float/ subdirectory.  Anything that relies on import x, where x is not a built-in
module, should go in the import/ subdirectory.