mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-10 23:09:59 -04:00
chg: ci: Don't overwrite JUnit file generated by pytest in post-processing
When both input and output files are the same, it creates unnecesary troubles in debugging issues with the JUnit files. Keep the Pytest-generated file in the artifacts and output the checked version as a new file. Companion MR: https://gitlab.isc.org/isc-projects/bind9-qa/-/merge_requests/155 Merge branch 'stepan/dont-overwrite-pytest-junit-xml' into 'main' See merge request isc-projects/bind9!11430
This commit is contained in:
commit
04e55696d6
1 changed files with 22 additions and 6 deletions
|
|
@ -542,10 +542,10 @@ stages:
|
|||
# This should be fixed before pytest 9.1, when it becomes ineffective.
|
||||
- if pytest --version | grep -F "pytest 9.0" >/dev/null; then echo "filterwarnings = ignore::pytest.PytestRemovedIn9Warning" >> pytest.ini; fi
|
||||
- >
|
||||
("$PYTEST" --junit-xml="$CI_PROJECT_DIR"/junit.xml -n "$TEST_PARALLEL_JOBS" | tee pytest.out.txt) || RET=1
|
||||
- git clone --depth 1 https://gitlab.isc.org/isc-projects/bind9-qa.git
|
||||
("$PYTEST" --junit-xml="$CI_PROJECT_DIR"/junit_pytest.xml -n "$TEST_PARALLEL_JOBS" | tee pytest.out.txt) || RET=1
|
||||
- *git_clone_bind9-qa
|
||||
- >
|
||||
"$PYTHON" bind9-qa/ci/postprocess_junit_files.py "$CI_PROJECT_DIR"/junit.xml --output "$CI_PROJECT_DIR"/junit.xml
|
||||
"$PYTHON" bind9-qa/ci/postprocess_junit_files.py "$CI_PROJECT_DIR"/junit_pytest.xml --output "$CI_PROJECT_DIR"/junit.xml
|
||||
- (exit $RET)
|
||||
- '( ! grep -F "grep: warning:" pytest.out.txt )'
|
||||
- test "$CLEAN_BUILD_ARTIFACTS_ON_SUCCESS" -eq 0 || ( cd ../../.. && ninja -C build clean >/dev/null 2>&1 )
|
||||
|
|
@ -771,13 +771,29 @@ meson-format:
|
|||
doctest:
|
||||
<<: *precheck_job
|
||||
needs: []
|
||||
# This script needs to: 1) fail if the doctest fails, 2) fail if
|
||||
# the junit.xml file is broken, 3) produce the junit.xml file even if
|
||||
# the doctest fails. Therefore, $RET is used to "cache" the
|
||||
# result of running pytest as interrupting the script immediately when
|
||||
# a doctest fails would make checking the contents of the junit.xml
|
||||
# file impossible (GitLab Runner uses "set -o pipefail").
|
||||
script:
|
||||
- *configure
|
||||
- meson compile -C build system-test-init
|
||||
- *find_python
|
||||
- *find_pytest
|
||||
- cd bin/tests/system/isctest
|
||||
- RET=0
|
||||
- >
|
||||
"$PYTEST" --noconftest --doctest-modules
|
||||
"$PYTEST" --noconftest --doctest-modules --junit-xml="$CI_PROJECT_DIR/junit_doctest.xml" || RET=1
|
||||
- *git_clone_bind9-qa
|
||||
- >
|
||||
"$PYTHON" bind9-qa/ci/postprocess_junit_files.py "$CI_PROJECT_DIR/junit_doctest.xml" --output "$CI_PROJECT_DIR/junit.xml"
|
||||
- (exit $RET)
|
||||
artifacts:
|
||||
reports:
|
||||
junit:
|
||||
- junit.xml
|
||||
|
||||
pylint:
|
||||
<<: *precheck_job
|
||||
|
|
@ -949,10 +965,10 @@ cross-version-config-tests:
|
|||
# file impossible (GitLab Runner uses "set -o pipefail").
|
||||
- RET=0
|
||||
- >
|
||||
"$PYTEST" --setup-only --junit-xml="$CI_PROJECT_DIR"/junit.xml -n "${TEST_PARALLEL_JOBS:-1}" || RET=1
|
||||
"$PYTEST" --setup-only --junit-xml="$CI_PROJECT_DIR"/junit_pytest.xml -n "${TEST_PARALLEL_JOBS:-1}" || RET=1
|
||||
- *git_clone_bind9-qa
|
||||
- >
|
||||
"$PYTHON" bind9-qa/ci/postprocess_junit_files.py "$CI_PROJECT_DIR"/junit.xml --output "$CI_PROJECT_DIR"/junit.xml
|
||||
"$PYTHON" bind9-qa/ci/postprocess_junit_files.py "$CI_PROJECT_DIR"/junit_pytest.xml --output "$CI_PROJECT_DIR"/junit.xml
|
||||
- (exit $RET)
|
||||
needs:
|
||||
- job: ci-variables
|
||||
|
|
|
|||
Loading…
Reference in a new issue