aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2017-03-11tests/misc/: Make few tests skippable.Paul Sokolovsky
2017-03-10tests/extmod: Rename websocket test to websocket_basic.Damien George
This is so that the filename of the test doesn't clash with the module name itself (being "websocket"), and lead to potential problems executing the test.
2017-03-10tests/basics/fun_error: Split out skippable test.Paul Sokolovsky
2017-03-10tests/feature_check/int_big: Rework "big int" detection.Paul Sokolovsky
MICROPY_LONGINT_IMPL_LONGLONG doesn't have overflow detection, so just parsing a large number won't give an error, we need to print it out to check that the whole number was parsed.
2017-03-09tests/micropython/opt_level: Clarify the expected output for opt_level == 3.Paul Sokolovsky
2017-03-09tests/micropython/heapalloc_traceback: Fix backtrace line # after refactor.Paul Sokolovsky
2017-03-09tests/micropython: Make uio-using tests skippable.Paul Sokolovsky
2017-03-09tests/dict_fromkeys: Split out skippable part.Paul Sokolovsky
2017-03-09tests/extmod: Add websocket tests.Alex March
These short unit tests test the base uPy methods as well as parts of the websocket protocol, as implemented by uPy. @dpgeorge converted the original socket based tests by @hosaka to ones that only require io.BytesIO.
2017-03-09tests/extmod: Add very basic feature test for ussl module.Damien George
This test just tests that the basic functions/methods can be called with the appropriate arguments. There is no real test of underlying functionality. Thanks to @hosaka for the initial implementation of this test.
2017-03-09tests/float: Make various tests skippable.Paul Sokolovsky
2017-03-09tests/basic: Make various tests skippable.Paul Sokolovsky
2017-03-07tests/uctypes_array_assign_native_le: Split off intbig part.Paul Sokolovsky
2017-03-07tests/micropython/: Split off intbig tests.Paul Sokolovsky
2017-03-07tests/basics/unpack1.py: Test if *a, = b copies b when b is a list.Krzysztof Blazewicz
2017-03-07tests/basics/string_join.py: Add test case where argument is not iterable.Krzysztof Blazewicz
2017-03-07tests/string_format_modulo2: Split off intbig test.Paul Sokolovsky
2017-03-06tests/float2int*: Suffix with _intbig, don't run on any other int type.Paul Sokolovsky
I.e. they don't run successfully with MICROPY_LONGINT_IMPL_NONE and MICROPY_LONGINT_IMPL_LONGLONG (the problem is that they generate different output than CPython, TODO to fix that).
2017-03-06float/float2int*: Make actually be parsable for MICROPY_LONGINT_IMPL_NONE.Paul Sokolovsky
The use of large literal numbers is a big no-no when it comes to writing programs which work with different int representations. Also, some checks are pretty adhoc (e.g using struct module to check for 64-bitness). This change bases entire detection on sys.maxsize and integer operarions, and thus more correct, even if longer. Note that this change doesn't mean that any of these tests can pass with anything but MPZ - even despite checking for various int representations, the tests aren't written to be portable among them.
2017-03-06tests/float/complex1: Split out intbig test.Paul Sokolovsky
2017-03-04tests/basic: Split tests into working with small ints and not working.Paul Sokolovsky
Tests which don't work with small ints are suffixed with _intbig.py. Some of these may still work with long long ints and need to be reclassified later.
2017-03-03tests/run-tests: Check for big int availability and skip related tests.Paul Sokolovsky
Big aka arbitrary-precision integers (implemented by MPZ module) are used in tests starting with "int_big_" or ending with "_intbig".
2017-03-03tests/basics: Add further tests for OrderedDict.Damien George
2017-03-02tests/extmod: Add test for machine.Signal class.Damien George
2017-02-27py/objarray: Disallow slice-assignment to read-only memoryview.Damien George
Also comes with a test for this. Fixes issue #2904.
2017-02-24py: Create str/bytes objects in the parser, not the compiler.Damien George
Previous to this patch any non-interned str/bytes objects would create a special parse node that held a copy of the str/bytes data. Then in the compiler this data would be turned into a str/bytes object. This actually lead to 2 copies of the data, one in the parse node and one in the object. The parse node's copy of the data would be freed at the end of the compile stage but nevertheless it meant that the peak memory usage of the parse/compile stage was higher than it needed to be (by an amount equal to the number of bytes in all the non-interned str/bytes objects). This patch changes the behaviour so that str/bytes objects are created directly in the parser and the object stored in a const-object parse node (which already exists for bignum, float and complex const objects). This reduces peak RAM usage of the parse/compile stage, simplifies the parser and compiler, and reduces code size by about 170 bytes on Thumb2 archs, and by about 300 bytes on Xtensa archs.
2017-02-24tests/micropython: Add test for consts that are bignums.Damien George
2017-02-20tests/cpydiff: Add a test for storing iterable to a list slice.Damien George
2017-02-20tests/cpydiff: Add initial set of tests for uPy-CPython differences.Rami Ali
These tests are intended to fail, as they provide a programatic record of differences between uPy and CPython. They also contain a special comment at the start of the file which has meta-data describing the difference, including known causes and known workarounds.
2017-02-20py/objlist: For list slice assignment, allow RHS to be a tuple or list.Damien George
Before this patch, assigning anything other than a list would lead to a crash. Fixes issue #2886.
2017-02-20tests/heapalloc_exc_raise.py: Heap alloc test for raising/catching exc.Paul Sokolovsky
2017-02-17tests/basics/string_join: Add more tests for string concatenation.Damien George
2017-02-17tests/cmdline/cmd_parsetree: Update to work with changes to grammar.Damien George
2017-02-16tests/cmdline: Update cmd_parsetree test for changes to grammar order.Damien George
2017-02-16tests/micropython/heapalloc_iter: Add tests for contains and unpack.Damien George
2017-02-16tests/micropython: Add test for iterating with the heap locked.Damien George
2017-02-16tests/cmdline/cmd_showbc: Update to work with recent changes.Damien George
2017-02-16tests/cmdline: Update tests to pass with latest changes to bytecode.Damien George
2017-02-16py: Allow bytecode/native to put iter_buf on stack for simple for loops.Damien George
So that the "for x in it: ..." statement can now work without using the heap (so long as the iterator argument fits in an iter_buf structure).
2017-02-15tests/basic/: Make various tests skippable.Paul Sokolovsky
To run the testsuite on small ports.
2017-02-15tests/gen_yield_from_close: Use range() instead of reversed().Paul Sokolovsky
As a "more basic" builtin iterator, present even in smaller ports.
2017-02-15tests/thread: Add stress-test for creating many threads.Damien George
2017-02-15tests/thread: Replace busy waiting loops with a loop that sleeps.Damien George
Depending on the thread scheduler, a busy-wait loop can hog the CPU and make the tests very slow. So convert such loops to loops that have an explicit sleep, allowing the worker threads to do their job.
2017-02-15tests/extmod: Make tests skippable.Paul Sokolovsky
2017-02-15tests/dict_fromkeys: Revert to use reversed() to run in native codegen mode.Paul Sokolovsky
2017-02-15tests/basic/[a-f]*: Make skippable.Paul Sokolovsky
For small ports which don't have all features enabled.
2017-02-14tests/builtin_dir: The most expected thing in sys is exit, test for it.Paul Sokolovsky
2017-02-14tests/comprehension1, containment: Split set tests to separate files.Paul Sokolovsky
To make skippable.
2017-02-14tests/run-tests: Allow to skip tests using async/await keywords.Paul Sokolovsky
2017-02-14tests: Add option to not clear MICROPYPATH when running testsstijn
This allows using the test runner for other scenarios than just testing uPy itself. The principle of comparing either to CPython or else to a .exp file is really handy but to be able to test custom modules not built into micropython.exe one needs to be able to specify the module search path a.k.a MICROPYPATH.