micropython/tests
Damien George 34f26ea862 tests: Allow tests to pass against CPython 3.5.
All breaking changes going from 3.4 to 3.5 are contained in
basics/python34.py.
2015-10-02 13:01:47 +01:00
..
basics tests: Allow tests to pass against CPython 3.5. 2015-10-02 13:01:47 +01:00
bench
cmdline tests: Add escaped quotes tests for REPL. 2015-09-19 14:06:23 +01:00
extmod tests: Add tests to improve coverage of objstr.c. 2015-09-03 23:06:18 +01:00
feature_check
float py: Catch all cases of integer (big and small) division by zero. 2015-10-01 22:48:48 +01:00
import
inlineasm
io
micropython
misc tests: Allow tests to pass against CPython 3.5. 2015-10-02 13:01:47 +01:00
pyb
pybnative
unicode tests: Move int+unicode test to unicode-specific test directory. 2015-09-07 21:36:24 +01:00
unix tests: Add further tests for mpz code. 2015-10-01 18:49:37 +01:00
wipy tests/wipy: Skip the rtc_irq test. 2015-09-27 21:36:38 +02:00
README tests/README: Explain how tests get skipped 2015-09-15 20:05:05 +03:00
pyboard.py
run-bench-tests
run-tests tests: Skip uheapq1 test if target is WiPy. 2015-09-27 18:47:35 +02:00
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.