adoptium / adoptium/aqa-tests

Mount test results from container to test machine

Open
#3,464 2 comments 0 reactions 0 assignees View on GitHub
enhancement type:external
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.