micropython/tests
Damien George 06593fb0f2 py: Use a wrapper to explicitly check self argument of builtin methods.
Previous to this patch a call such as list.append(1, 2) would lead to a
seg fault.  This is because list.append is a builtin method and the first
argument to such methods is always assumed to have the correct type.

Now, when a builtin method is extracted like this it is wrapped in a
checker object which checks the the type of the first argument before
calling the builtin function.

This feature is contrelled by MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG and
is enabled by default.

See issue #1216.
2015-06-20 16:39:39 +01:00
..
basics py: Use a wrapper to explicitly check self argument of builtin methods. 2015-06-20 16:39:39 +01:00
bench
bytecode
cmdline py: Add MP_BINARY_OP_DIVMOD to simplify and consolidate divmod builtin. 2015-06-13 23:36:30 +01:00
extmod tests: Check that machine module exists and print SKIP if it doesn't. 2015-06-15 23:35:15 +01:00
float py: Implement second arg for math.log (optional value for base). 2015-06-13 22:35:25 +01:00
import
inlineasm
io
micropython py: Fallback to stack alloca for Python-stack if heap alloc fails. 2015-06-08 22:07:27 +01:00
misc tests: Add test for recursive iternext stack overflow. 2015-06-03 22:41:06 +01:00
pyb
pybnative
unicode py: Support unicode (utf-8 encoded) identifiers in Python source. 2015-06-09 10:58:07 +00:00
unix tests: Add special tests to test mp_printf function to improve coverage. 2015-05-28 14:25:07 +00:00
README
pyboard.py
run-bench-tests
run-tests unix: Allow to cat a script into stdin from the command line. 2015-06-04 23:42:45 +01: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. Note
that bytecode tests are not yet stable and should be run separately in
"bytecode" subdirectory.

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.