aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2014-05-07tests/bench: Add testcase for positional/kwargs to enumerate().Paul Sokolovsky
Inspired by discussion in #577. So, in this case of builtin function, passing args by keyword has less than 1% overhead.
2014-05-07tests/bench: Add tests for various ways to pass function args.Paul Sokolovsky
Passing 3 args with keywords is for example 50% slower than via positional args.
2014-05-07tests/bench: Add variation on loop_count/while_down_ne test.Paul Sokolovsky
2014-05-07tests/bench: Add testcases for lookup in 5-el instance and namedtuple.Paul Sokolovsky
... 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.
2014-05-07tests/bench: Time namedtuple field access.Paul Sokolovsky
That's higher than instance field access - behold the power of hashing.
2014-05-07tests: Add a test for native code on pyboard.Damien George
2014-05-07tests: Add inline assembler test for pyboard.Damien George
2014-05-06py: Add keyword arg support to enumerate constructor.Damien George
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.
2014-05-05tests/bench/var: Add tests for class/instance var access.Paul Sokolovsky
Also compared with method abstraction for accessing instance vars - it's more than 3 times slower than accessing var directly.
2014-05-05tests: Add framework for comparative benchmarking.Paul Sokolovsky
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.
2014-05-04tests, pyb: Add 'import pyb' when needed.Damien George
2014-05-03py, stream: Implement readlines for a stream.Damien George
2014-05-03tests: Add a suite of tests specifically for the pyboard.Damien George
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/.
2014-05-02tests: Add testcases for catching user Exception subclasses.Paul Sokolovsky
2014-05-02objtype: .print() Exception instances in adhoc way.Paul Sokolovsky
This is ugly, just as expected.
2014-05-01Fix the builtin min() and max() functions (and add tests).Andrew Scheller
Fixes #539
2014-04-30tests: Add test for calling inherited native method on subclass.Paul Sokolovsky
2014-04-29tests: Add test for accessing attribute of inherited native type.Paul Sokolovsky
2014-04-29tests: Add basic tests for subclassing native types and using special methods.Paul Sokolovsky
Even of these, some features do not yet work as expected.
2014-04-28py: Fix bug in map lookup of interned string vs non-interned.Damien George
Had choice of either interning or forcing full equality comparison, and chose latter. See comments in mp_map_lookup. Addresses issue #523.
2014-04-27py: Implement keyword-only args.Damien George
Implements 'def f(*, a)' and 'def f(*a, b)', but not default keyword-only args, eg 'def f(*, a=1)'. Partially addresses issue #524.
2014-04-26modio: Implement io.StringIO class.Paul Sokolovsky
2014-04-26objstr: Implement .lstrip() & .rstrip().Paul Sokolovsky
Share code with .strip(). TODO: optimize .rstrip().
2014-04-25py: Support instance __call__ method.Paul Sokolovsky
2014-04-19test/class-super: Expose super() breakage.Paul Sokolovsky
2014-04-19objarray: Implement slice subscription.Paul Sokolovsky
2014-04-19modstruct: Initial implementation of struct.pack().Paul Sokolovsky
2014-04-18sequence: Fix glaring bug in sequence comparison.Paul Sokolovsky
2014-04-17tests: Move gen_context to import tests, because it relies on import.Damien George
2014-04-17objgenerator: Generator must execute in its defining lexical context.Paul Sokolovsky
I.e. with its own globals. So, just as for functions, we need to switch globals when resuming a generator.
2014-04-17Merge pull request #504 from lurch/patch-4Damien George
Allow the uPy used by run-tests to be overridden
2014-04-17tests: Split out those tests requiring float and import.Damien George
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.
2014-04-17Changed the envvar name to MICROPY_MICROPYTHONAndrew Scheller
As discussed in #504
2014-04-17tests: Remove print('flush') from 2 tests, since stmhal now works.Damien George
Fixing the USB problem on stmhal now gets these 2 tests working.
2014-04-16Stupid typoAndrew Scheller
2014-04-16Allow the uPy used by run-tests to be overriddenAndrew Scheller
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)
2014-04-16fix README to match contents of run-testsAndrew Scheller
2014-04-16run-tests can now skip certain tests when run under Travis CIAndrew Scheller
See the `skip_travis_tests` variable. Fixes #495 (also tidied up usage of os.path.basename() function)
2014-04-15py: Add builtin functions bin and oct, and some tests for them.Damien George
2014-04-15tests: Disable memoryerror.py test, since it fails on travis.Damien George
Would be good to test this, but need to find a way to optionally not running it when on travis.
2014-04-15travis: Diff output, hopefully this works.Damien George
2014-04-15travis: More tests output debugging.Damien George
2014-04-15travis: More tests debugging.Damien George
2014-04-15travis: Debugging failing tests.Damien George
2014-04-15py: Implement __delitem__ method for classes.Paul Sokolovsky
2014-04-13tests: Add property test.Damien George
2014-04-13tests: Make tests pass on pyboard.Damien George
2014-04-13Make pyboard.py have its own exception; update run-tests for pyboard.Damien George
2014-04-13Merge pull request #473 from pfalcon/list-extend-iterDamien George
objlist: Make .extend accept arbitrary iterable.
2014-04-13py: Rename collections module to _collections.Paul Sokolovsky
We're not going to implement all the plethora of types in there in C. Funnily, CPython implements defaultdict in C, and namedtuple in Python.