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 --junit-xml="$CI_PROJECT_DIR/junit_doctest.xml" || RET=1
+ - *git_clone_bind9-qa
- >
- "$PYTEST" --noconftest --doctest-modules
+ "$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