ratis icon indicating copy to clipboard operation
ratis copied to clipboard

RATIS-1658. Prepare unit check for running some tests repeatedly

Open adoroszlai opened this issue 3 years ago • 0 comments

What changes were proposed in this pull request?

Allow running multiple iterations of tests in unit.sh simply by setting ITERATIONS environment variable.

Results (summary, output of failed tests) for all iterations are saved in separate subdirectories.

https://issues.apache.org/jira/browse/RATIS-1658

How was this patch tested?

Locally:

$ ITERATIONS=3 ./dev-support/checks/unit.sh -Dtest=TestLogAppenderWithGrpc
...

$ find target/unit -type f | sort
target/unit/iteration1/failures
target/unit/iteration1/output.log
target/unit/iteration1/summary.txt
target/unit/iteration2/failures
target/unit/iteration2/output.log
target/unit/iteration2/summary.txt
target/unit/iteration3/failures
target/unit/iteration3/output.log
target/unit/iteration3/summary.txt
target/unit/summary.txt

$ cat target/unit/summary.txt
Iteration 1 exit code: 0
Iteration 2 exit code: 0
Iteration 3 exit code: 0

Sample usage in CI: https://github.com/adoroszlai/incubator-ratis/blob/87eafcd2e19a49c1b251207955f19d5c9f3d0296/.github/workflows/post-commit.yml#L45-L47

Repeated run in CI: https://github.com/adoroszlai/incubator-ratis/runs/7666927698?check_suite_focus=true#step:6:5

Regular CI: https://github.com/adoroszlai/incubator-ratis/actions/runs/2794766233

adoroszlai avatar Aug 04 '22 07:08 adoroszlai