Following gives short introduction to main modules of testrunner-lite to give better understanding of the program flow.
File
main.c contains basic commandline parsing and calls for init functions of the testrunner-lite modules.
The test definition parsing is done in
testdefinitionparser.c. The data is saved to data structures defined in
testdefinitiondatatypes.h as the parsing progresses. File
testdefinitiondatatypes.c contains routines for intialization and cleanup of the test definition data types.
The test definition processor communicates with the parser module. It calls
td_next_node as long as there is data to parse in test definition (or error occurs). The parser in turn calls callbacks in the processor for suite and set, so that when the parser has a set parsed into internal structs (
testdefinitiondatatypes.h), those are passed to processor that then executes steps in the set, writes results and frees the data. This way testrunner-lite needs to keep only one test set data at a time in its memory. For the actual execution of a test step, the processor module uses executor module.
The executor module (
executor.c) takes care of test step execution. File
remote_executor.c provides support for host based testing, where the test steps are executed in a remote host over ssh. Manual test steps are handled in
manual_executor.c.
The logger module
log.c provides routines for logging to stdout or to remote location with http POST method.
Test results are written to text or xml writer in
testresultlogger.c.