Adding test case type RUNNER_MULTIPROCESS_TEST.
Running many processes in one test case would work fine on those rules.
* Using wait(), waitpid(), waitid() functions within test case body is forbidden
(waiting for child processes is handeled by framework).
* Process exiting properly should exit only 0.
* Communication by signals is forbidden - signals could be cought by parent and
ignored.
Tests also provided. To run them build this flags below and run them as
wrt-commons-tests-test --output=text --runignored .
flags: --define "WITH_TESTS ON" --define "WITH_CHILD ON"
All tests from DPL_TESTS_TEST_MULTIPROCESS group should pass.
[Issue#] SSDWSSP-438
[Bug/Feature] Calling fork() inside RUNNER_TEST causes errors for whole process
group while failed or ignored. Additional path for each redundant
failed process is created.
[Cause] N/A
[Solution] Creating test case type controlling processes.
[Verification] Applying it to failing multiprocess tests. All errors should
be collected as one and no additional process should run after
test case ends.
Change-Id: I371528de102def369107cab3c5cffe0b2f53e9e5