Mount test results from container to test machine
- Dominant language
- HTML
- Stars
- 155
- Forks
- 346
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 36
Description
This issue is to track the pulling of junit-style test results out from within the container they are created in, into a mounted area on the test machine where the container is running, so that if they are available, they can be viewed via the Jenkins JUnit plugin. This will allow for better debugging of the external test group.
We had previously done this for some tests (related: https://github.com/adoptium/aqa-tests/issues/976 which is now closed in favour of this issue), but that approach was 'broken' quite a while ago when we switched to autogenerating the Dockerfiles.
Recently, [PR 3427](https://github.com/adoptium/aqa-tests/pull/3427/files) that sets TEST_HOME was merged, so it should be possible to create a somewhat generic approach to finding and mapping the test results from the container to the test machine results directory so that they can be seen and browsed via the Jenkins job using the Junit plugin.
Steps to approach this item:
1. List all external tests that produce a Junit-style report that could be copied. To do this, one can look inside of the dockerfile/test.sh scripts and look for a `find` command. This was the previous way we mapped these results to the test machine. Example: historically, jacoco produces test results into a surefire-reports dir, see [jacoco-test.sh#L26](https://github.com/adoptium/aqa-tests/blob/master/external/jacoco/dockerfile/jacoco-test.sh#L26).
2. For each of the tests that do produce junit test results, verify where they are produced in the docker container, in relation to TEST_HOME and update the `find` command in the test.sh script.
3. Verify with Grinders that the result of this work, can then be shown in the test results view of the Jenkins job.
Contributor guide
Research direction
Start by reviewing the external test dockerfile/test.sh scripts and their find commands, using external/jacoco/dockerfile/jacoco-test.sh around line 26 as an example. Check each JUnit-style report location relative to TEST_HOME, then use Grinders to verify that reports appear in the Jenkins JUnit test-results view.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, shell
- Domain
- ci-cd, devops, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100