stijn
c6fd9ba4f3
tests: Add option to not clear MICROPYPATH when running tests
...
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.
2017-02-14 20:19:00 +03:00
Damien George
e08395a35c
tests/misc: Add test for line number printing with large bytecode chunk.
2017-02-10 12:02:02 +11:00
dmazzella
18e6569166
py/objtype: Implement __delattr__ and __setattr__.
...
This patch implements support for class methods __delattr__ and __setattr__
for customising attribute access. It is controlled by the config option
MICROPY_PY_DELATTR_SETATTR and is disabled by default.
2017-02-09 12:40:15 +11:00
Damien George
d3bb3e38df
tests/pyb: Adjust tests so they can run on PYB and PYBLITE.
...
A few tests still fail on PYBLITE, and that's due to differences in the
available peripheral block numbers on the different MCUs (eg I2C(2)
exists on one, but it's I2C(3) on the other).
2017-02-06 13:50:34 +11:00
Damien George
27c149efe0
stmhal: Add pyb.fault_debug() function, to control hard-fault behaviour.
...
This new function controls what happens on a hard-fault:
- debugging disabled: board will do a reset
- debugging enabled: board will print registers and stack and flash LEDs
The default is disabled, ie to do a reset. This is different to previous
behaviour which flashed the LEDs and waited indefinitely.
2017-02-06 13:22:17 +11:00
Paul Sokolovsky
d5e9ab6e61
extmod/machine_pulse: Make time_pulse_us() not throw exceptions.
...
machine.time_pulse_us() is intended to provide very fine timing, including
while working with signal bursts, where each transition is tracked in row.
Throwing and handling an exception may take too much time and "signal loss".
So instead, in case of a timeout, just return negative value. Cases of
timeout while waiting for initial signal stabilization, and during actual
timing, are recognized.
The documentation is updated accordingly, and rewritten somewhat to clarify
the function behavior.
2017-02-05 14:20:17 +03:00
Damien George
84fb292cd5
tests/basics/string_format_modulo: Add more tests for dict formatting.
2017-02-03 12:17:43 +11:00
Paul Sokolovsky
87882e1708
tests: Split tests for 2- and 3-arg pow().
2017-02-02 23:34:52 +03:00
Nicko van Someren
df0117c8ae
py: Added optimised support for 3-argument calls to builtin.pow()
...
Updated modbuiltin.c to add conditional support for 3-arg calls to
pow() using MICROPY_PY_BUILTINS_POW3 config parameter. Added support in
objint_mpz.c for for optimised implementation.
2017-02-02 22:23:10 +03:00
Damien George
8a39e18f5f
tests/float: Add tests for zero to a negative power.
2017-02-03 00:04:13 +11:00
Damien George
05c70fdfba
tests/basics/set_binop: Add tests for inplace set operations.
2017-02-02 23:36:53 +11:00
Paul Sokolovsky
b32880bd51
tests/heapalloc_bytesio: Test for BytesIO with preallocates space.
2017-02-02 00:38:38 +03:00
Damien George
28185bb81b
tests/thread: Fix stack size test so tests run reliably on baremetal.
2017-02-01 17:21:35 +11:00
Damien George
bebb3a6160
tests/thread: Make thread_exc2 runable on baremetal.
2017-01-31 13:59:20 +11:00
Paul Sokolovsky
33b8e65bc0
tests/basics/zip: Make skippable.
2017-01-31 00:33:01 +03:00
Paul Sokolovsky
aee723ed4c
tests/run-tests: Skip frozenset tests if set literal syntax is not available.
2017-01-31 00:25:09 +03:00
Damien George
a0c729681f
tests/extmod/vfs_fat_ramdisk: Make it work on pyboard.
2017-01-27 23:22:15 +11:00
Damien George
b9bfaa349a
tests/extmod/vfs_fat: Update tests to work with new VFS sub-system.
...
The vfs_fat_fsusermount test is no longer relevant so has been removed.
2017-01-27 17:21:45 +11:00
Damien George
94d87fbb30
test/extmod: Update vfs_fat tests for new OO FatFs library.
...
The new version of FatFs requires a minimum of 50 blocks on the device.
Also, some tests no longer make sense with an OO vfs.
2017-01-27 13:19:10 +11:00
Paul Sokolovsky
9ffc3ae0e7
tests/heapalloc_str: Test for alloc-free string operations.
...
Starts with concatenation with an empty string.
2017-01-27 00:49:39 +03:00
Damien George
221f88d1f3
tests/extmod: Add test for ure debug printing when compiling a regex.
2017-01-26 23:45:51 +11:00
Damien George
bf51200bc1
tests/extmod/framebuf1: Fix test for framebuf invalid constructor.
2017-01-25 23:23:50 +11:00
Oleg Korsak
406fb3cb60
tests/extmod/framebuf4: Add tests for GS4_HMSB framebuf format.
2017-01-25 23:20:19 +11:00
Oleg Korsak
fd99690f18
extmod/modframebuf: Add GS4_HMSB format.
2017-01-25 23:19:28 +11:00
stijn
533129f835
tests: Make sure special tests can be skipped as well.
...
Fixes #2806 .
2017-01-24 00:30:55 +11:00
Damien George
20fc620327
tests/basics/builtin_help: Add test for help('modules').
2017-01-22 12:14:56 +11:00
Damien George
1864f90e9a
tests: Add test for builtin help function.
2017-01-22 11:56:16 +11:00
Paul Sokolovsky
bd3dd9296b
tests/heapalloc_int_from_bytes: Test that int.from_bytes() can work w/o alloc.
...
For a small number of bytes, it's expected to return a small int without
allocation.
2017-01-21 20:15:56 +03:00
Paul Sokolovsky
3b09dca046
tests: Add test for int.from_bytes() for arbitrary-precision integer.
...
This test works only for MICROPY_LONGINT_IMPL == MICROPY_LONGINT_IMPL_MPZ
and needs a way of skipping in other cases.
2017-01-21 20:15:31 +03:00
Damien George
1639200e57
tests/basics: Add test for assignment of attribute to bound method.
2017-01-20 13:17:22 +11:00
Damien George
7314ebae8a
tests/misc/non_compliant: Add test for inability to assign func attrs.
2017-01-19 23:38:53 +11:00
Damien George
fb5838041b
tests/micropython/opt_level: Add test for opt_level 3.
2017-01-19 23:38:11 +11:00
Damien George
4c4f586e2c
tests/extmod/framebuf1: Add test for no-op fill_rect.
2017-01-19 23:37:44 +11:00
Damien George
213a718953
tests/float: Add test for assigning to attribute of complex number.
2017-01-19 23:37:21 +11:00
Paul Sokolovsky
af90461931
py/binary: mp_binary_get_size: Raise error on unsupported typecodes.
...
Previouly, we had errors checked in callers, which led to duplicate code
or missing checks in some places.
2017-01-17 22:53:06 +03:00
Rami Ali
5e80c53c11
tests/extmod: Improve test coverage of ure module.
2017-01-17 17:42:37 +11:00
Rami Ali
5314219f18
tests/basics: Improve runtime.c test coverage.
2017-01-17 16:21:17 +11:00
Rami Ali
cba723fc8c
tests/io: Improve test coverage of io.BufferedWriter.
2017-01-17 13:27:02 +11:00
Damien George
96baaa68a4
tests: Update tests, and add new ones, for recent generator tweaks.
2017-01-17 00:17:44 +11:00
Rami Ali
751e379533
tests: Improve frozen import test coverage.
2017-01-16 16:59:03 +11:00
Damien George
63e291de70
py/builtinimport: Raise ValueError for bad relative import, per CPython.
2017-01-16 16:21:04 +11:00
Rami Ali
50e14ca619
tests/import: Improve builtinimport.c test coverage.
2017-01-16 15:59:33 +11:00
Rami Ali
8d01bd3a1c
tests: Improve stream.c test coverage.
2017-01-16 15:57:10 +11:00
Damien George
65cadbeb9d
tests: Update test suite to be compatible with CPython 3.6.
...
CPython 3.6 has a few changes that, when run on uPy's test suite, give a
different output to CPython 3.5. uPy currently officially supports the
3.4 language definition, but it's useful to be able to run the test suite
with 3.4/3.5/3.6 versions of CPython. This patch makes such changes to
support 3.6.
2017-01-09 00:19:01 +11:00
Damien George
a722ed532f
tests/unix/extra_coverage: Add tests for importing frozen packages.
2017-01-08 22:45:55 +11:00
Paul Sokolovsky
ef1bbada96
tests/array*: Allow to skip test if "array" is unavailable.
2017-01-07 01:13:40 +03:00
Paul Sokolovsky
e5a6a26330
tests/types1: Split out set type test to set_types.
...
set isn't the most basic type and can be disabled by a port.
2017-01-06 11:01:55 +03:00
Damien George
8d1c236a1f
tests/unix/extra_coverage: Add basic tests to import frozen str and mpy.
2017-01-05 14:58:08 +11:00
Rami Ali
d7e168428b
tests/unix: Improve formatfloat.c test coverage using C.
2017-01-05 12:31:05 +11:00
Rami Ali
64dc925c4a
tests/float: Improve formatfloat.c test coverage using Python.
2017-01-05 12:31:05 +11:00
Rami Ali
ec72db8a39
tests: Improve warning.c test coverage.
2017-01-05 12:23:40 +11:00
Paul Sokolovsky
26f00ff154
tests/run-tests: Allow to skip set tests.
...
If sets are not enabled, set literals lead to SyntaxError during parsing,
so it requires feature_check. Set tests are skipped based on set_*.py
pattern.
2017-01-05 00:16:29 +03:00
Damien George
54ea10a76a
tests/pyb/uart: Update test to match recent change to UART timeout_char.
2017-01-04 17:53:41 +11:00
Rami Ali
75aa7befec
tests/unix: Improve runtime_utils.c test coverage.
2016-12-29 18:24:03 +11:00
Rami Ali
b7024f0f64
tests/cmdline: Improve repl.c autocomplete test coverage.
2016-12-29 17:14:04 +11:00
Rami Ali
f397e1fdf0
tests/thread: Improve modthread.c test coverage.
2016-12-29 13:27:50 +11:00
Rami Ali
c15ebf7c8c
tests/extmod: Improve ubinascii.c test coverage.
2016-12-29 13:22:19 +11:00
Rami Ali
eae819c0ed
tests/micropython: Add test for micropython.stack_use() function.
2016-12-28 17:46:52 +11:00
Rami Ali
65574f817a
tests/basics: Add tests to improve coverage of binary.c.
2016-12-28 16:11:54 +11:00
Damien George
43384ad7e7
tests/basics: Add tests for parsing of ints with base 36.
2016-12-28 12:08:46 +11:00
Paul Sokolovsky
05aebb9206
tests/heapalloc_inst_call: Test for no alloc for simple object calls.
2016-12-25 00:50:27 +03:00
Paul Sokolovsky
492c612f9d
tests/utimeq_stable: Test for partial stability of utimeq queuing.
2016-12-24 00:25:15 +03:00
Paul Sokolovsky
ffe807f349
extmod/moduheapq: Revert change for adhoc relative-time queue support.
...
Now that specialized utimeq module has been implenented, revert previous
adhoc changes to uheapq.
This reverts commit 0cbc07227c
.
2016-12-22 06:37:49 +03:00
Damien George
cdec7ba30e
tests: Add a coverage test for printing the parse-tree.
2016-12-22 11:26:06 +11:00
Damien George
adccafb42a
tests/basics/lexer: Add a test for newline-escaping within a string.
2016-12-22 10:32:06 +11:00
Paul Sokolovsky
5d9025a76e
tests/extmod: Add test for utimeq module.
2016-12-22 00:31:38 +03:00
Rami Ali
1731868ae7
tests: Add tests to improve coverage of objarray.c.
2016-12-21 18:21:41 +11:00
Rami Ali
531c206e8b
tests: Add tests to improve coverage of runtime.c.
2016-12-21 15:44:41 +11:00
Damien George
67f3edc10a
tests/import: Add a test which uses ... in from-import statement.
2016-12-21 11:25:53 +11:00
Rami Ali
5d06a74303
tests/basics: Improve test coverage for generators.
2016-12-20 16:19:56 +11:00
Damien George
1e7a801e2d
tests/run-tests: For REPL tests make sure the REPL is exited at the end.
2016-12-20 15:13:49 +11:00
Damien George
7bbce4e213
tests/basics/set_pop: Improve coverage of set functions.
2016-12-20 14:25:06 +11:00
Damien George
b470f59892
tests/basics: Add test for builtin locals().
2016-12-20 14:08:57 +11:00
Damien George
d291007fea
tests/basics/builtin_dir: Add test for dir() of a type.
2016-12-20 14:08:27 +11:00
Damien George
49bf7617d0
tests/float/builtin_float_round: Test round() with second arg.
2016-12-20 14:01:10 +11:00
Rami Ali
5e1ccddc82
tests/basics: Improve mpz test coverage.
2016-12-20 10:15:48 +11:00
Paul Sokolovsky
91359c8690
tests/struct*: Make skippable.
2016-12-19 19:41:12 +03:00
Damien George
7081ea4119
tests/micropython: Get heapalloc_traceback test running on baremetal.
...
When printing exceptions from files sent to a target by pyboard.py the
filename in the exception is <stdin>, which differs to when running the
script on the PC. So we strip out the filename to make the outputs the
same on all targets (see also misc/print_exception.py test).
2016-12-15 11:11:57 +11:00
Rami Ali
9112b0b62b
tests/extmod: Improve modframebuf test coverage.
2016-12-13 16:29:21 +11:00
Rami Ali
d22762017e
tests/extmod: Improve moductypes test coverage.
2016-12-12 17:09:14 +11:00
Paul Sokolovsky
aee13ef3f2
tests: Update for required byteorder arg for int.from_bytes()/to_bytes().
2016-12-09 22:53:30 +03:00
Damien George
898d4c1217
extmod/modframebuf: Make framebuf implement the buffer protocol.
...
So that one can easily access the underlying data of the frame buffer, eg
to write the data out to a display.
2016-12-08 15:17:47 +11:00
Damien George
042d5f24d6
tests/extmod/framebuf1: Add basics tests for hline, vline, rect, line.
2016-12-05 11:55:43 +11:00
Paul Sokolovsky
e44b236ce2
tests/extmod/btree1: Exercise btree.flush().
2016-12-05 01:55:05 +03:00
Damien George
6194336d81
tests/extmod/vfs_fat_fileio: Add test for constructor of FileIO type.
2016-12-02 15:37:58 +11:00
Damien George
b7df3e541a
extmod/vfs_fat: Implement POSIX behaviour of rename, allow to overwrite.
...
If the destination of os.rename() exists then it will be overwritten if it
is a file. This is the POSIX behaviour, which is also the CPython
behaviour, and so we follow suit.
See issue #2598 for discussion.
2016-12-02 15:06:09 +11:00
Damien George
81e171b7bb
extmod/modframebuf: Add back legacy FrameBuffer1 "class".
...
For backwards compatibility. It simple creates a frame buffer with the
MVLSB format.
2016-12-01 16:43:25 +11:00
Radomir Dopieralski
225e22b287
extmod/modframebuf: Make FrameBuffer handle 16bit depth.
...
Rename FrameBuffer1 into FrameBuffer and make it handle different bit
depths via a method table that has getpixel and setpixel. Currently
supported formats are MVLSB (monochrome, vertical, LSB) and RGB565.
Also add blit() and fill_rect() methods.
2016-12-01 16:43:25 +11:00
Damien George
dbc09d03f6
tests/basics: Enable tests for list slice getting with 3rd arg.
...
Also add a test to check case when 3rd arg is 0.
2016-11-26 16:39:25 +11:00
Damien George
4c3c515bd1
tests/basics: Change dict_fromkeys test so it doesn't use generators.
...
And then it can run with the native emitter.
2016-11-26 16:38:38 +11:00
Damien George
a4f96c8c2a
tests/basics: Add tests for if-expressions.
2016-11-26 16:15:31 +11:00
Damien George
a31a3a9fd5
tests/basics: Add test for dict.fromkeys where arg is a generator.
...
Improves coverage because it tests the case where the arg does not have a
__len__ slot.
2016-11-26 15:38:48 +11:00
Rami Ali
2eff9c29a1
tests/basics: Improve user class coverage.
2016-11-22 15:49:02 +11:00
Rami Ali
1b41cacac7
tests/extmod: Improve ujson coverage.
2016-11-22 15:48:42 +11:00
Damien George
1f43d49f9e
tests/micropython: Move alloc-less traceback test to separate test file.
...
The native emitter doesn't provide proper traceback info so this test
should not be run in that case.
2016-11-21 17:39:23 +11:00
Damien George
d70f87aaa2
tests/micropython: Add test for creating traceback without allocation.
2016-11-21 17:10:17 +11:00
Damien George
30bca45e1a
tests/basics: Add test for logical constant folding.
2016-11-15 16:48:49 +11:00
Paul Sokolovsky
8212773adb
tests: Use read() instead of readall().
2016-11-14 00:27:35 +03:00
Paul Sokolovsky
0cbc07227c
extmod/moduheapq: Adhoc changes to support ordering by utime.ticks_ms().
...
As required for further elaboration of uasyncio, like supporting baremetal
systems with wraparound timesources. This is not intended to be public
interface, and likely will be further refactored in the future.
2016-11-12 02:33:17 +03:00
Damien George
c4e58eaa98
stmhal/i2c: Add option to I2C to enable/disable use of DMA transfers.
...
New keyword option in constructor and init() method is "dma=<bool>".
DMA is now disabled by default for I2C transfers because it currently does
not handle I2C bus errors very well (eg if slave device doesn't ACK or
NACK correctly during a transfer).
2016-11-11 17:36:19 +11:00