iltest is a test framework for InterLeaved TESTing. It was originally written for X.Org X Server testing. The principle: A process (the "testee") need to be tested by other processes (the "tester(s)"). The testers report on whether the tests were successful. A test has three stages: - pre: preparation stage - run: actual testing stage - post: cleanup stage In iltest, the order of calls is thus: Time Testee Tester | pre() | pre() | run() | run() | post() V post() Thus, in the case of the X server testing, usually this happens: testee.pre: back up various files, ensure system integrity, etc. tester.pre: set up configuration files, add virtual devices, etc. testee.run: run the X server tester.run: run tests testee.post: restore files tester.post: gather test results iltest itself does not do much. It simply provides the interfaces for the test suites (which contain most of the knowledge) and a few utility functions.