Skip to content

Commit

Permalink
Merge pull request #7 from opendevstack/feature/combine-test-results
Browse files Browse the repository at this point in the history
Create single JUnit XML file
  • Loading branch information
michaelsauter committed Nov 8, 2023
2 parents e733488 + d334dd8 commit c442811
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
6 changes: 5 additions & 1 deletion build/images/Dockerfile.gradle-toolset
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
FROM registry.access.redhat.com/ubi8/openjdk-17:1.13

ARG TARGETARCH

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

ENV GIT_VERSION=2.39 \
Expand Down Expand Up @@ -38,13 +40,15 @@ ADD https://raw.githubusercontent.com/opendevstack/ods-pipeline/v0.14.0-preview.
ADD https://raw.githubusercontent.com/opendevstack/ods-pipeline/v0.14.0-preview.1/build/images/scripts/copy-build-if-cached.sh /usr/local/bin/copy-build-if-cached
ADD https://raw.githubusercontent.com/opendevstack/ods-pipeline/v0.14.0-preview.1/build/images/scripts/copy-artifacts.sh /usr/local/bin/copy-artifacts
ADD https://raw.githubusercontent.com/opendevstack/ods-pipeline/v0.14.0-preview.1/build/images/scripts/configure-truststore.sh /usr/local/bin/configure-truststore
ADD https://github.com/opendevstack/junit-testsuites/releases/download/v0.2.0/combine-junit-testsuites-linux-${TARGETARCH} /usr/local/bin/combine-junit-testsuites
COPY build/images/scripts/build.sh /usr/local/bin/build-gradle
COPY build/images/scripts/configure-gradle.sh /usr/local/bin/configure-gradle
RUN chmod a+rx /usr/local/bin/cache-build && \
chmod a+rx /usr/local/bin/copy-build-if-cached && \
chmod a+rx /usr/local/bin/copy-artifacts && \
chmod a+rx /usr/local/bin/configure-truststore && \
chmod a+rx /usr/local/bin/build-gradle && \
chmod a+rx /usr/local/bin/configure-gradle
chmod a+rx /usr/local/bin/configure-gradle && \
chmod a+rx /usr/local/bin/combine-junit-testsuites

USER 1001
7 changes: 3 additions & 4 deletions build/images/scripts/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,9 @@ unit_test_result_dir="${gradle_build_dir}/test-results/test"
if [ -d "${unit_test_result_dir}" ]; then
unit_test_artifacts_dir="${tmp_artifacts_dir}/xunit-reports"
mkdir -p "${unit_test_artifacts_dir}"
# Each test class produces its own report file, but they contain a fully qualified class
# name in their file name. Due to that, we do not need to add an artifact prefix to
# distinguish them with reports from other artifacts of the same repo/pipeline build.
"$CP" "${unit_test_result_dir}/"*.xml "${unit_test_artifacts_dir}"
# Each test class produces its own report file.
# Combine all into one file to reduce clutter.
combine-junit-testsuites -files="${unit_test_result_dir}/*.xml" > "${unit_test_artifacts_dir}/${artifact_prefix}test-results.xml"
else
echo "Build failed: no unit test results found in ${unit_test_result_dir}"
exit 1
Expand Down
3 changes: 1 addition & 2 deletions test/e2e/build_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ func TestBuildGradleTask(t *testing.T) {
ott.AssertFilesExist(t, wd,
"docker/Dockerfile",
"docker/app.jar",
filepath.Join(pipelinectxt.XUnitReportsPath, "TEST-ods.java.gradle.sample.app.AppTest.xml"),
filepath.Join(pipelinectxt.XUnitReportsPath, "TEST-ods.java.gradle.sample.app.AppTest2.xml"),
filepath.Join(pipelinectxt.XUnitReportsPath, "test-results.xml"),
filepath.Join(pipelinectxt.CodeCoveragesPath, "coverage.xml"),
)

Expand Down

0 comments on commit c442811

Please sign in to comment.