Command line interface for testsuite mainloop (in the acats/fixed bugs style)
gnatpython-mainloop [options] test_list_file command_pattern
gnatpython-mainloop program use the MainLoop package which provides a class called MainLoop that provides a generic implementation of a testsuite main loop. Parallelism, abortion and time control are the key features.
Each MainLoop instance controls a set of Workers whose number is set by the user. The list of tasks/tests to be achieved by the workers, is provided by a list. The mainloop distribute the elements to the the workers when they have nothing to do. Usually, an element is a string identifying the test to be run. An element can also be a list in that case the worker will execute sequentially each "subelement". This case is used to address dependency between tests (occurs for example with the ACATS).
When a worker is asked to run a test, the command is executed by calling run_testcase (testid). Once a test is finished the function collect_result will be called with test id, and process (a gnatpython.ex.Run object) and the job_info as parameters. Both run_testcase and collect_result are user defined functions.
Note also that from the user point view there is no parallelism to handle. The two user defined function run_testcase and collect_result are called sequentially.
Note that this main page is written using comments from the code by the package maintainer.
Options are not documented.
gnatpython-rlimit
gnatpython-opt-parser