summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/subclass_native3.py
Commit message (Collapse)AuthorAge
* py/objexcept: Make mp_obj_exception_get_value support subclassed excs.Damien George2021-07-15
| | | | Signed-off-by: Damien George <damien@micropython.org>
* py/objexcept: Support errno attribute on OSError exceptions.Damien George2021-04-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds the errno attribute to exceptions, so code can retrieve errno codes from an OSError using exc.errno. The implementation here simply lets `errno` (and the existing `value`) attributes work on any exception instance (they both alias args[0]). This is for efficiency and to keep code size down. The pros and cons of this are: Pros: - more compatible with CPython, less difference to document and learn - OSError().errno will correctly return None, whereas the current way of doing it via OSError().args[0] will raise an IndexError - it reduces code size on most bare-metal ports (because they already have the errno qstr) - for Python code that uses exc.errno the generated bytecode is 2 bytes smaller and more efficient to execute (compared with exc.args[0]); so bytecode loaded to RAM saves 2 bytes RAM for each use of this attribute, and bytecode that is frozen saves 2 bytes flash/ROM for each use - it's easier/shorter to type, and saves 2 bytes of space in .py files that use it (for each use) Cons: - increases code size by 4-8 bytes on minimal ports that don't already have the `errno` qstr - all exceptions now have .errno and .value attributes (a cpydiff test is added to address this) See also #2407. Signed-off-by: Damien George <damien@micropython.org>
* tests: Modify tests that print repr of an exception with 1 arg.Damien George2018-08-17
| | | | | | | | | | In Python 3.7 the behaviour of repr() of an exception with one argument changed: it no longer prints a trailing comma in the argument list. See https://bugs.python.org/issue30399 This patch modifies tests that rely on this behaviour to not rely on it. And the python34.py test is updated to include a test for this behaviour with a .exp file.
* tests: Rename test scripts, changing - to _ for consistency.Damien George2014-07-05
From now on, all new tests must use underscore. Addresses issue #727.