GSoC work report - 24th June
Since my last update, I have
(1) Fixed the parent printing issue when logging keys - Gerrit #55675
(2) Made an interpreter for log statements - Gerrit #56120
(3) Changed some log statements - Gerrit #56305
About the interpreter -
The purpose of printing the log statements in a DSL is mainly to be able to interpret these log statements. The interpreter is written in python and is available at core/uitest/loginterpreter.py
The interpreter takes a log file as its input and outputs a python file which will act as a test case. It starts to read the log file line-by-line. Some events span two lines in log files, and others one. The first major task is done by the function get_coupling_type() which tells the interpreter whether the event being currently read spans over one line or two. Accordingly, either get_test_line_from_one_log_line() or get_test_line_from_two_log_lines() gets called. The interpreter then creates a python object corresponding to the UI element on which the action was performed. Finally, it calls a method from the created python object to actually perform the action. More information about the interpreter is in the commit message.
Coming up next -
After Gerrit change #56305, all the log statements are now in the appropriate DSL. The next task is to ensure their proper support. I will be working on the functions in the interpreter to support more types of log statements. After this, I will resume working on different UI wrapper classes.
Thank you for reading this :-)
(1) Fixed the parent printing issue when logging keys - Gerrit #55675
(2) Made an interpreter for log statements - Gerrit #56120
(3) Changed some log statements - Gerrit #56305
About the interpreter -
The purpose of printing the log statements in a DSL is mainly to be able to interpret these log statements. The interpreter is written in python and is available at core/uitest/loginterpreter.py
The interpreter takes a log file as its input and outputs a python file which will act as a test case. It starts to read the log file line-by-line. Some events span two lines in log files, and others one. The first major task is done by the function get_coupling_type() which tells the interpreter whether the event being currently read spans over one line or two. Accordingly, either get_test_line_from_one_log_line() or get_test_line_from_two_log_lines() gets called. The interpreter then creates a python object corresponding to the UI element on which the action was performed. Finally, it calls a method from the created python object to actually perform the action. More information about the interpreter is in the commit message.
Coming up next -
After Gerrit change #56305, all the log statements are now in the appropriate DSL. The next task is to ensure their proper support. I will be working on the functions in the interpreter to support more types of log statements. After this, I will resume working on different UI wrapper classes.
Thank you for reading this :-)
Comments
Post a Comment