-
Notifications
You must be signed in to change notification settings - Fork 5
Tests Structure
Andrew Goroshko edited this page Jul 28, 2022
·
127 revisions
Constructs are listed according to the reference manual for python 3.8.1
Right now all tests are placed in this folder. All testing process can be divided on such stages:
- processing input python code
- simplifying it with AST usage
- checking result code in system python interpreter
- translating to the EO language
Then all tests except CPython and DJango will move through these stages:
- translating from EO to the JAVA via maven plugin <---- link is required as I think
- getting output from the plugin with java running results
- integration with Polystat <---- need more info about this stage
Right now we have such test sets:
- if - else
- assignment
- while
- def - return
- django tests
- cpython tests (189100 non-blank lines)
- django tests
- assigning link to the object
- loop with assigning together with break
- inheritance
Tests description:
- if tests - support handling simple constructions of conditional operator
if/else
. A testingdef
return result of condition operator variable changing. - assignment tests - support assigning value to variable. A testing
def
returnTrue/False
. - while tests - support usage of while usage operator with test variable value asigning. A testing
def
returnTrue/False
. - def tests - support testing of def with return availability. A testing
def
returnTrue/False
. - cpython tests - support cloning remote repository from
/cpython.git
. The main problem of original cpython test is that in some tests exceptions can throw message which will be compared with constant string. In case of non equal message the test will fail. Also sometimes the error message can contain part of documentation, which thrown an exception, and in such case origin code line can not be parsed by our parser. That is why in this directory we have tests set which were fixed for better exception messages checking for preventing failures. - django code parsing