micropython/tests/micropython
Damien George 079f3e5e5b py/parse: Allow all constant objects to be used in "X = const(o)".
Now that constant tuples are supported in the parser, eg (1, True, "str"),
it's a small step to allow anything that is a constant to be used with the
pattern:

    from micropython import const

    X = const(obj)

This commit makes the required changes to allow the following types of
constants:

    from micropython import const

    _INT = const(123)
    _FLOAT = const(1.2)
    _COMPLEX = const(3.4j)
    _STR = const("str")
    _BYTES = const(b"bytes")
    _TUPLE = const((_INT, _STR, _BYTES))
    _TUPLE2 = const((None, False, True, ..., (), _TUPLE))

Prior to this, only integers could be used in const(...).

Signed-off-by: Damien George <damien@micropython.org>
2022-05-18 16:18:35 +10:00
..
const.py tests/micropython/const.py: Add comment about required config for test. 2021-11-17 14:28:20 +11:00
const.py.exp
const2.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
const2.py.exp
const_alltypes.py py/parse: Allow all constant objects to be used in "X = const(o)". 2022-05-18 16:18:35 +10:00
const_alltypes.py.exp py/parse: Allow all constant objects to be used in "X = const(o)". 2022-05-18 16:18:35 +10:00
const_error.py py/parse: Support constant folding of power operator for integers. 2020-05-03 16:23:19 +10:00
const_error.py.exp py/parse: Remove unnecessary check in const folding for ** operator. 2020-04-09 16:02:39 +10:00
const_intbig.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
const_intbig.py.exp
decorator.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
decorator.py.exp
decorator_error.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
decorator_error.py.exp
emg_exc.py all: Rename "sys" module to "usys". 2020-09-04 00:10:24 +10:00
emg_exc.py.exp tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
extreme_exc.py tests/micropython: Fully unlink nested list in extreme exc test. 2022-05-18 09:16:33 +10:00
extreme_exc.py.exp
heap_lock.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heap_lock.py.exp
heap_locked.py
heap_locked.py.exp
heapalloc.py tests/micropython: Add tests that const tuples don't use the heap. 2022-04-15 00:17:02 +10:00
heapalloc.py.exp tests/micropython: Add tests that const tuples don't use the heap. 2022-04-15 00:17:02 +10:00
heapalloc_bytesio.py
heapalloc_bytesio.py.exp
heapalloc_bytesio2.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_bytesio2.py.exp
heapalloc_exc_compressed.py tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_compressed.py.exp tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_compressed_emg_exc.py tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_compressed_emg_exc.py.exp tests/micropython: Switch from set.pop to raise-0 to test exc strings. 2022-03-07 16:48:35 +11:00
heapalloc_exc_raise.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_exc_raise.py.exp
heapalloc_fail_bytearray.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_bytearray.py.exp
heapalloc_fail_dict.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_dict.py.exp
heapalloc_fail_list.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_list.py.exp
heapalloc_fail_memoryview.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_memoryview.py.exp
heapalloc_fail_set.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_set.py.exp
heapalloc_fail_tuple.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_fail_tuple.py.exp
heapalloc_inst_call.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_inst_call.py.exp
heapalloc_int_from_bytes.py
heapalloc_int_from_bytes.py.exp
heapalloc_iter.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_str.py
heapalloc_str.py.exp
heapalloc_super.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_super.py.exp
heapalloc_traceback.py all: Rename "sys" module to "usys". 2020-09-04 00:10:24 +10:00
heapalloc_traceback.py.exp tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_yield_from.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
heapalloc_yield_from.py.exp
import_mpy_invalid.py py: Rework bytecode and .mpy file format to be mostly static data. 2022-02-24 18:08:43 +11:00
import_mpy_invalid.py.exp py: Rework bytecode and .mpy file format to be mostly static data. 2022-02-24 18:08:43 +11:00
import_mpy_native_gc.py py/persistentcode: Remove unicode feature flag from .mpy file. 2022-05-17 12:51:54 +10:00
import_mpy_native_gc.py.exp py/persistentcode: Maintain root ptr list of imported native .mpy code. 2020-08-02 22:34:09 +10:00
import_mpy_native_x64.py py/persistentcode: Remove unicode feature flag from .mpy file. 2022-05-17 12:51:54 +10:00
import_mpy_native_x64.py.exp tests: Move .mpy import tests from import/ to micropython/ dir. 2020-07-26 22:04:31 +10:00
kbd_intr.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
kbd_intr.py.exp
meminfo.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
meminfo.py.exp
memstats.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
memstats.py.exp
native_closure.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_closure.py.exp
native_const.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_const.py.exp
native_const_intbig.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_const_intbig.py.exp
native_for.py tests: Move native for test from pybnative to micropython. 2021-01-29 23:57:10 +11:00
native_for.py.exp tests: Move native for test from pybnative to micropython. 2021-01-29 23:57:10 +11:00
native_gen.py tests/micropython: Add more test cases for native generators. 2022-05-18 15:23:11 +10:00
native_gen.py.exp tests/micropython: Add more test cases for native generators. 2022-05-18 15:23:11 +10:00
native_misc.py py/emitnative: Ensure stack settling is safe mid-branch. 2021-07-19 23:18:59 +10:00
native_misc.py.exp py/emitnative: Ensure stack settling is safe mid-branch. 2021-07-19 23:18:59 +10:00
native_try.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_try.py.exp
native_try_deep.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_try_deep.py.exp
native_with.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
native_with.py.exp
opt_level.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
opt_level.py.exp
opt_level_lineno.py all: Rename "sys" module to "usys". 2020-09-04 00:10:24 +10:00
opt_level_lineno.py.exp
schedule.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
schedule.py.exp
stack_use.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
stack_use.py.exp
viper_addr.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_addr.py.exp
viper_args.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_args.py.exp
viper_binop_arith.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_arith.py.exp
viper_binop_arith_uint.py py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_arith_uint.py.exp py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_bitwise_uint.py py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_bitwise_uint.py.exp py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_comp.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_comp.py.exp
viper_binop_comp_imm.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_comp_imm.py.exp
viper_binop_comp_uint.py py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_comp_uint.py.exp py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_binop_divmod.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_divmod.py.exp
viper_binop_multi_comp.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_binop_multi_comp.py.exp
viper_cond.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_cond.py.exp
viper_const.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_const.py.exp
viper_const_intbig.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_const_intbig.py.exp
viper_error.py py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_error.py.exp py/emitnative: Implement binary operations for viper uint operands. 2020-06-27 00:24:04 +10:00
viper_globals.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_globals.py.exp
viper_import.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_import.py.exp
viper_misc.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_misc.py.exp
viper_misc2.py py/emitnative: Fix x86-64 emitter to generate correct 8/16-bit stores. 2021-05-20 23:43:25 +10:00
viper_misc2.py.exp py/emitnative: Fix x86-64 emitter to generate correct 8/16-bit stores. 2021-05-20 23:43:25 +10:00
viper_misc_intbig.py all: Rename "sys" module to "usys". 2020-09-04 00:10:24 +10:00
viper_misc_intbig.py.exp
viper_ptr8_load.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr8_load.py.exp
viper_ptr8_store.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr8_store.py.exp
viper_ptr16_load.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr16_load.py.exp
viper_ptr16_store.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr16_store.py.exp
viper_ptr32_load.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr32_load.py.exp
viper_ptr32_store.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_ptr32_store.py.exp
viper_subscr.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_subscr.py.exp
viper_subscr_multi.py py/emitnative: Ensure load_subscr does not clobber existing REG_RET. 2021-09-13 22:30:24 +10:00
viper_subscr_multi.py.exp py/emitnative: Ensure load_subscr does not clobber existing REG_RET. 2021-09-13 22:30:24 +10:00
viper_try.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_try.py.exp
viper_types.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_types.py.exp
viper_with.py tests: Format all Python code with black, except tests in basics subdir. 2020-03-30 13:21:58 +11:00
viper_with.py.exp