[libc++] [CI] Validate the output of the generated scripts.

This adds a CI job validating that the output of
utils/generate_feature_test_macro_components.py,
libcxx/utils/generate_header_inclusion_tests.py, and
utils/generate_header_tests.py are up to date.

The validation method has been copied from the Format job.

Differential Revision: https://reviews.llvm.org/D99862
This commit is contained in:
Mark de Wever 2021-04-04 20:11:48 +02:00
parent 37388b8ad1
commit ae103003b2
2 changed files with 29 additions and 0 deletions

View File

@ -28,6 +28,24 @@ steps:
soft_fail:
- exit_status: 1
- label: "Generated output"
command: "libcxx/utils/ci/run-buildbot check-generated-output"
artifact_paths:
- "**/generated_output.patch"
agents:
queue: "libcxx-builders"
retry:
automatic:
- exit_status: -1 # Agent was lost
limit: 2
# All jobs defined before this `wait` will run whenever a CI job is started.
# Jobs defined after the `wait` will run only if all the jobs above
# succeeded. The build failures before this `wait` can be fixed by running
# the proper scripts or clang-format. We use this to reduce the load on the
# testers and avoid running builds that we know fail anyway.
- wait
- label: "C++03"
command: "libcxx/utils/ci/run-buildbot generic-cxx03"
artifact_paths:

View File

@ -132,6 +132,17 @@ check-format)
# Check if the diff is empty, fail otherwise.
! grep -q '^--- a' ${BUILD_DIR}/clang-format.patch
;;
check-generated-output)
clean
echo "+++ Checking the output of the generated scripts"
mkdir -p ${BUILD_DIR}
python3 libcxx/utils/generate_feature_test_macro_components.py
python3 libcxx/utils/generate_header_inclusion_tests.py
python3 libcxx/utils/generate_header_tests.py
git diff | tee ${BUILD_DIR}/generated_output.patch
# Check if the diffs are empty, fail otherwise.
! grep -q '^--- a' ${BUILD_DIR}/generated_output.patch
;;
generic-cxx03)
export CC=clang
export CXX=clang++