diff --git a/libcxx/utils/ci/Dockerfile b/libcxx/utils/ci/Dockerfile --- a/libcxx/utils/ci/Dockerfile +++ b/libcxx/utils/ci/Dockerfile @@ -38,6 +38,9 @@ # Install various tools used by the build or the test suite RUN apt-get update && apt-get install -y ninja-build python3 python3-sphinx python3-distutils python3-psutil git gdb +# Install dependencies required to run the LLDB data formatter tests +RUN apt-get update && apt-get install -y python3 python3-dev libpython3-dev uuid-dev libncurses5-dev swig3.0 libxml2-dev libedit-dev + # Locales for gdb and localization tests RUN apt-get update && apt-get install -y language-pack-en language-pack-fr \ language-pack-ja language-pack-ru \ diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -679,6 +679,22 @@ limit: 2 timeout_in_minutes: 120 + - label: "LLDB Data Formatters" + command: "libcxx/utils/ci/run-buildbot check-lldb-data-formatters" + artifact_paths: + - "**/test-results.xml" + env: + CC: "clang-${LLVM_HEAD_VERSION}" + CXX: "clang++-${LLVM_HEAD_VERSION}" + agents: + queue: "libcxx-builders" + os: "linux" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + timeout_in_minutes: 120 + # Tests on non-Unix platforms - group: ":windows: Windows" steps: diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -463,6 +463,20 @@ generate-cmake check-cxx-benchmarks ;; +check-lldb-data-formatters) + clean + ${CMAKE} \ + -S "${MONOREPO_ROOT}/llvm" \ + -B "${BUILD_DIR}" \ + -GNinja -DCMAKE_MAKE_PROGRAM="${NINJA}" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DLLVM_ENABLE_ASSERTIONS=ON \ + -DLLDB_ENABLE_PYTHON=ON \ + -DLLVM_ENABLE_PROJECTS='llvm;clang;lldb' \ + -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi' + + ${NINJA} -C "${BUILD_DIR}" check-lldb-api-functionalities-data-formatter-data-formatter-stl-libcxx +;; documentation) clean generate-cmake -DLLVM_ENABLE_SPHINX=ON