Start work on parallel tests. Provide a first draft function to execute a
test in a separate (background, in this case) process.
Move all operations, such as check for disabled tests, finding the test
executable to run, etc., inside the common test function (executing on the
background at the moment).
Process tests in batches of 5 (for now hardcoded and batches are sequential,
i.e., parallelism is limited to the tests within a batch).
Continue on parallel tests. Some variables renamed. Re-enabled the
capability to run until the first failure. Centralized the final messages
from the script and counting failures.
Provide a command-line option for controlling the number of tests to run in
parallel (default to 1, serial execution).
Process all tests continuously instead of splitting in batches of 5 (more
generally, batch size given by '--parallel' option).
Rename the output synchronization flock.
A bit of re-factoring to simplify unlocking flocks.
Implement a sub-system to allow the tests to advertise their CPU load
requirements and to count the current CPU availability. Allows to serialize
tests that are internally parallel or use unique facilities.
Some tests fail on unknown option '--verbose'. Do not set for now.
Revamp command-line option usage based on modern comma utilities. Also,
instead of counting max iterations in attempt to grab the needed number of
CPUs, count the total wait time and fail a test if max_wait (new option) is
exceeded.
By default, wait forever until CPUs become available.
Minor, improve a comment.
Implemented and manually tested a framework for load management. Currently
understands the number of CPUs, the amount of shared memory to be used by
the tests, as well if the test is serial. Tested manually.
Minor: a better trace message.
Just a re-order: move all function definitions in front.
Some to-do notes.
One more to-do note.
Update the usage notes so that they reflect the current script.
Determine the system parameters (total CPU count, total shared memory
amount) on entry to the script. Unused for now.