Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | py, compiler: Add basic support for A=const(123). | Damien George | 2014-05-08 |
| | | | | | | | | | | | You can now do: X = const(123) Y = const(456 + X) and the compiler will replace X and Y with their values. See discussion in issue #266 and issue #573. | ||
* | py: Fix stack access in thumb native emitter. | Damien George | 2014-05-07 |
| | |||
* | tests/bench: Add testcase for positional/kwargs to enumerate(). | Paul Sokolovsky | 2014-05-07 |
| | | | | | Inspired by discussion in #577. So, in this case of builtin function, passing args by keyword has less than 1% overhead. | ||
* | tests/bench: Add tests for various ways to pass function args. | Paul Sokolovsky | 2014-05-07 |
| | | | | | Passing 3 args with keywords is for example 50% slower than via positional args. | ||
* | tests/bench: Add variation on loop_count/while_down_ne test. | Paul Sokolovsky | 2014-05-07 |
| | |||
* | tests/bench: Add testcases for lookup in 5-el instance and namedtuple. | Paul Sokolovsky | 2014-05-07 |
| | | | | | | | | | | | ... and we have not that bad mapping type after all - lookup time is ~ the same as in one-attr instance. My namedtuple implementation on the other hand degrades awfully. So, need to rework it. First observation is that named tuple fields are accessed as attributes, so all names are interned at the program start. Then, really should store field array as qstr[], and do quick 32/64 bit scan thru it. | ||
* | tests/bench: Time namedtuple field access. | Paul Sokolovsky | 2014-05-07 |
| | | | | That's higher than instance field access - behold the power of hashing. | ||
* | tests: Add a test for native code on pyboard. | Damien George | 2014-05-07 |
| | |||
* | tests: Add inline assembler test for pyboard. | Damien George | 2014-05-07 |
| | |||
* | py: Add keyword arg support to enumerate constructor. | Damien George | 2014-05-06 |
| | | | | | | | | Need to have a policy as to how far we go adding keyword support to built ins. It's nice to have, and gets better CPython compatibility, but hurts the micro nature of uPy. Addresses issue #577. | ||
* | tests/bench/var: Add tests for class/instance var access. | Paul Sokolovsky | 2014-05-05 |
| | | | | | Also compared with method abstraction for accessing instance vars - it's more than 3 times slower than accessing var directly. | ||
* | tests: Add framework for comparative benchmarking. | Paul Sokolovsky | 2014-05-05 |
| | | | | | | | | | | Motivation is optimizing handling of various constructs as well as understanding which constructs are more efficient in MicroPython. More info: http://forum.micropython.org/viewtopic.php?f=3&t=77 Results are wildly unexpected. For example, "optimization" of range iteration into while loop makes it twice as slow. Generally, the more bytecodes, the slower the code. | ||
* | tests, pyb: Add 'import pyb' when needed. | Damien George | 2014-05-04 |
| | |||
* | py, stream: Implement readlines for a stream. | Damien George | 2014-05-03 |
| | |||
* | tests: Add a suite of tests specifically for the pyboard. | Damien George | 2014-05-03 |
| | | | | | | | | | | | In tests/pyb is now a suite of tests that tests the pyb module on the pyboard. They include expected output files because we can't run CPython on the pyboard to compare against. run-tests script has now been updated to allow pyboard tests to be run. Just pass the option --pyboard. This runs all basic, float and pyb tests. Note that float/math-fun.py currently fails because not all math functions are implemented in stmhal/. | ||
* | tests: Add testcases for catching user Exception subclasses. | Paul Sokolovsky | 2014-05-02 |
| | |||
* | objtype: .print() Exception instances in adhoc way. | Paul Sokolovsky | 2014-05-02 |
| | | | | This is ugly, just as expected. | ||
* | Fix the builtin min() and max() functions (and add tests). | Andrew Scheller | 2014-05-01 |
| | | | | Fixes #539 | ||
* | tests: Add test for calling inherited native method on subclass. | Paul Sokolovsky | 2014-04-30 |
| | |||
* | tests: Add test for accessing attribute of inherited native type. | Paul Sokolovsky | 2014-04-29 |
| | |||
* | tests: Add basic tests for subclassing native types and using special methods. | Paul Sokolovsky | 2014-04-29 |
| | | | | Even of these, some features do not yet work as expected. | ||
* | py: Fix bug in map lookup of interned string vs non-interned. | Damien George | 2014-04-28 |
| | | | | | | | Had choice of either interning or forcing full equality comparison, and chose latter. See comments in mp_map_lookup. Addresses issue #523. | ||
* | py: Implement keyword-only args. | Damien George | 2014-04-27 |
| | | | | | | | Implements 'def f(*, a)' and 'def f(*a, b)', but not default keyword-only args, eg 'def f(*, a=1)'. Partially addresses issue #524. | ||
* | modio: Implement io.StringIO class. | Paul Sokolovsky | 2014-04-26 |
| | |||
* | objstr: Implement .lstrip() & .rstrip(). | Paul Sokolovsky | 2014-04-26 |
| | | | | Share code with .strip(). TODO: optimize .rstrip(). | ||
* | py: Support instance __call__ method. | Paul Sokolovsky | 2014-04-25 |
| | |||
* | test/class-super: Expose super() breakage. | Paul Sokolovsky | 2014-04-19 |
| | |||
* | objarray: Implement slice subscription. | Paul Sokolovsky | 2014-04-19 |
| | |||
* | modstruct: Initial implementation of struct.pack(). | Paul Sokolovsky | 2014-04-19 |
| | |||
* | sequence: Fix glaring bug in sequence comparison. | Paul Sokolovsky | 2014-04-18 |
| | |||
* | tests: Move gen_context to import tests, because it relies on import. | Damien George | 2014-04-17 |
| | |||
* | objgenerator: Generator must execute in its defining lexical context. | Paul Sokolovsky | 2014-04-17 |
| | | | | | I.e. with its own globals. So, just as for functions, we need to switch globals when resuming a generator. | ||
* | Merge pull request #504 from lurch/patch-4 | Damien George | 2014-04-17 |
|\ | | | | | Allow the uPy used by run-tests to be overridden | ||
| * | Changed the envvar name to MICROPY_MICROPYTHON | Andrew Scheller | 2014-04-17 |
| | | | | | | As discussed in #504 | ||
| * | Stupid typo | Andrew Scheller | 2014-04-16 |
| | | |||
| * | Allow the uPy used by run-tests to be overridden | Andrew Scheller | 2014-04-16 |
| | | | | | | | | | | with MICROPY_MP_PY envvar, in an analogous way to MICROPY_CPYTHON3 envvar. (the reason for this will be made clearer by a later PR) | ||
* | | tests: Split out those tests requiring float and import. | Damien George | 2014-04-17 |
| | | | | | | | | | | | | | | | | | | Tests in basics (which should probably be renamed to core) should not rely on float, or import any non-built-in files. This way these tests can be run when those features are not available. All test in basics now pass on the pyboard using stmhal port, except for string-repr which has some issues with character hex printing. | ||
* | | tests: Remove print('flush') from 2 tests, since stmhal now works. | Damien George | 2014-04-17 |
| | | | | | | | | Fixing the USB problem on stmhal now gets these 2 tests working. | ||
* | | fix README to match contents of run-tests | Andrew Scheller | 2014-04-16 |
|/ | |||
* | run-tests can now skip certain tests when run under Travis CI | Andrew Scheller | 2014-04-16 |
| | | | | | See the `skip_travis_tests` variable. Fixes #495 (also tidied up usage of os.path.basename() function) | ||
* | py: Add builtin functions bin and oct, and some tests for them. | Damien George | 2014-04-15 |
| | |||
* | tests: Disable memoryerror.py test, since it fails on travis. | Damien George | 2014-04-15 |
| | | | | | Would be good to test this, but need to find a way to optionally not running it when on travis. | ||
* | travis: Diff output, hopefully this works. | Damien George | 2014-04-15 |
| | |||
* | travis: More tests output debugging. | Damien George | 2014-04-15 |
| | |||
* | travis: More tests debugging. | Damien George | 2014-04-15 |
| | |||
* | travis: Debugging failing tests. | Damien George | 2014-04-15 |
| | |||
* | py: Implement __delitem__ method for classes. | Paul Sokolovsky | 2014-04-15 |
| | |||
* | tests: Add property test. | Damien George | 2014-04-13 |
| | |||
* | tests: Make tests pass on pyboard. | Damien George | 2014-04-13 |
| | |||
* | Make pyboard.py have its own exception; update run-tests for pyboard. | Damien George | 2014-04-13 |
| |