---
name: "gnatpython-mainloop"
section: "1"
platform: "linux"
package: "python-gnatpython"
version: "54-3+b1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/gnatpython-mainloop"
---

# gnatpython-mainloop(1)

command line interface for testsuite mainloop (in the ACATS/Fixed bugs style)

## NAME

gnatpython-mainloop - command line interface for testsuite mainloop (in the ACATS/Fixed bugs style)

## SYNOPSIS

**gnatpython-mainloop** \[options\] test\_list\_file command\_pattern\

## DESCRIPTION

**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

Options are not documented.

## SEE ALSO

- **gnatpython-rlimit**

  **gnatpython-opt-parser**
