- 14 Mar, 2017 11 commits
-
-
Damien George authored
-
Damien George authored
The lexer constructor may now raise an exception and it needs to be caught.
-
Damien George authored
-
Damien George authored
And raise an exception when mp_lexer_new_from_file is called.
-
Damien George authored
And raise an exception when mp_lexer_new_from_file is called.
-
Damien George authored
And raise an exception when mp_lexer_new_from_file is called.
-
Damien George authored
And raise an exception when mp_lexer_new_from_file is called.
-
Damien George authored
The lexer can now raise an exception on construction so it must go within an nlr handler block.
-
Damien George authored
The lexer can now raise an exception on construction so it must go within an nlr handler block.
-
Damien George authored
This patch refactors the error handling in the lexer, to simplify it (ie reduce code size). A long time ago, when the lexer/parser/compiler were first written, the lexer and parser were designed so they didn't use exceptions (ie nlr) to report errors but rather returned an error code. Over time that has gradually changed, the parser in particular has more and more ways of raising exceptions. Also, the lexer never really handled all errors without raising, eg there were some memory errors which could raise an exception (and in these rare cases one would get a fatal nlr-not-handled fault). This patch accepts the fact that the lexer can raise exceptions in some cases and allows it to raise exceptions to handle all its errors, which are for the most part just out-of-memory errors during construction of the lexer. This makes the lexer a bit simpler, and also the persistent code stuff is simplified. What this means for users of the lexer is that calls to it must be wrapped in a nlr handler. But all uses of the lexer already have such an nlr handler for the parser (and compiler) so that doesn't put any extra burden on the callers.
-
Damien George authored
-
- 13 Mar, 2017 5 commits
-
-
Paul Sokolovsky authored
-
Damien George authored
-
Damien George authored
For example, if the current directory is the root dir then this patch allows one to do uos.listdir('mnt'), where 'mnt' is a valid mount point. Previous to this patch such a thing would not work, on needed to do uos.listdir('/mnt') instead.
-
Damien George authored
-
Damien George authored
Some ports may want to compile with generic MICROPY_VFS support but without the VfsFat class. This patch allows such a thing.
-
- 12 Mar, 2017 3 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Minimal config can be now build with: ./make-minimal BOARD=... This is required because of Makefile.exports magic, which in its turn depends on PROJ_CONF to be set correctly at the beginning of Makefile parsing at all times. Instead of adding more and more workarounds for that, it's better to just move minimal support to a separate wrapper. Also, remove Zephyr 1.5 era cruft from Makefile, and add support for Zephyr's "run" target which supercedes older "qemu" target in upstream.
-
Paul Sokolovsky authored
This is a typical problem with make: we want to trigger rebuilds only if file actually changed, not if its timestamp changed. In this case, it's aggravated by the fact that prj.conf depends on the value of BOARD variable, so we need to do some tricks anyway. We still don't try to detect if just BOARD changed, just try to generate new prj.conf.tmp every time (quick), but do actual replacement of prj.conf only if its content changed.
-
- 11 Mar, 2017 1 commit
-
-
Paul Sokolovsky authored
-
- 10 Mar, 2017 7 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
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.
-
Damien George authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
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.
-
- 09 Mar, 2017 8 commits
-
-
Paul Sokolovsky authored
This makes int.from_bytes() work for MICROPY_LONGINT_IMPL_LONGLONG.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Alex March authored
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.
-
Damien George authored
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.
-
- 08 Mar, 2017 4 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Damien George authored
Two independent fixes: - need to prefix symbols referenced from asm with underscore; - need to undo the C-function prelude.
-
Paul Sokolovsky authored
Mostly intended to ease experimentation, no particular plans for APIs so far (far less their stability), is_preempt_thread() provided is mostly an example.
-
- 07 Mar, 2017 1 commit
-
-
Paul Sokolovsky authored
-