Merge b36a25b718985f36676d9288899bee35bde8f976 into d72f9c8aea6817cdf1ca0ac10887f328de7f3da2

This commit is contained in:
Solad Dev 2026-05-01 18:59:40 +00:00 committed by GitHub
commit 632ba6d769
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 52 additions and 59 deletions

View File

@ -49,49 +49,42 @@ if [[ -z ${STD:-} ]]; then
STD="c++17 c++20 c++23"
fi
# Test CMake + GCC
for cmake_off_on in OFF ON; do
time docker run \
--volume="${GTEST_ROOT}:/src:ro" \
--tmpfs="/build:exec" \
--workdir="/build" \
--rm \
--env="CC=/usr/local/bin/gcc" \
--env=CXXFLAGS="-Werror -Wdeprecated" \
${LINUX_LATEST_CONTAINER} \
/bin/bash -c "
cmake /src \
-DCMAKE_CXX_STANDARD=17 \
-Dgtest_build_samples=ON \
-Dgtest_build_tests=ON \
-Dgmock_build_tests=ON \
-Dcxx_no_exception=${cmake_off_on} \
-Dcxx_no_rtti=${cmake_off_on} && \
make -j$(nproc) && \
ctest -j$(nproc) --output-on-failure"
done
# Test CMake + GCC (~internal_utils.cmake computes cxx_no_* flag strings from the
# compiler; passing -Dcxx_no_*=OFF/ON does not toggle configs.)
time docker run \
--volume="${GTEST_ROOT}:/src:ro" \
--tmpfs="/build:exec" \
--workdir="/build" \
--rm \
--env="CC=/usr/local/bin/gcc" \
--env=CXXFLAGS="-Werror -Wdeprecated" \
${LINUX_LATEST_CONTAINER} \
/bin/bash -c "
cmake /src \
-DCMAKE_CXX_STANDARD=17 \
-Dgtest_build_samples=ON \
-Dgtest_build_tests=ON \
-Dgmock_build_tests=ON && \
make -j\$(nproc) && \
ctest -j\$(nproc) --output-on-failure"
# Test CMake + Clang
for cmake_off_on in OFF ON; do
time docker run \
--volume="${GTEST_ROOT}:/src:ro" \
--tmpfs="/build:exec" \
--workdir="/build" \
--rm \
--env="CC=/opt/llvm/bin/clang" \
--env=CXXFLAGS="-Werror -Wdeprecated --gcc-toolchain=/usr/local" \
${LINUX_LATEST_CONTAINER} \
/bin/bash -c "
cmake /src \
-DCMAKE_CXX_STANDARD=17 \
-Dgtest_build_samples=ON \
-Dgtest_build_tests=ON \
-Dgmock_build_tests=ON \
-Dcxx_no_exception=${cmake_off_on} \
-Dcxx_no_rtti=${cmake_off_on} && \
make -j$(nproc) && \
ctest -j$(nproc) --output-on-failure"
done
time docker run \
--volume="${GTEST_ROOT}:/src:ro" \
--tmpfs="/build:exec" \
--workdir="/build" \
--rm \
--env="CC=/opt/llvm/bin/clang" \
--env=CXXFLAGS="-Werror -Wdeprecated --gcc-toolchain=/usr/local" \
${LINUX_LATEST_CONTAINER} \
/bin/bash -c "
cmake /src \
-DCMAKE_CXX_STANDARD=17 \
-Dgtest_build_samples=ON \
-Dgtest_build_tests=ON \
-Dgmock_build_tests=ON && \
make -j\$(nproc) && \
ctest -j\$(nproc) --output-on-failure"
# Do one test with an older version of GCC
time docker run \

View File

@ -36,27 +36,27 @@ sudo xcode-select -s /Applications/Xcode_26.2.app/Contents/Developer
brew install cmake
export CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.ncpu)
export CTEST_PARALLEL_LEVEL=$(sysctl -n hw.ncpu)
# macOS does not provide nproc(1); use hw.ncpu like parallel CMake/CTest levels.
NCPU="$(sysctl -n hw.ncpu)"
export CMAKE_BUILD_PARALLEL_LEVEL="${NCPU}"
export CTEST_PARALLEL_LEVEL="${NCPU}"
if [[ -z ${GTEST_ROOT:-} ]]; then
GTEST_ROOT="$(realpath $(dirname ${0})/..)"
GTEST_ROOT="$(realpath "$(dirname "${0}")/..")"
fi
# Test the CMake build
for cmake_off_on in OFF ON; do
BUILD_DIR=$(mktemp -d build_dir.XXXXXXXX)
cd ${BUILD_DIR}
time cmake ${GTEST_ROOT} \
-DCMAKE_CXX_STANDARD=17 \
-Dgtest_build_samples=ON \
-Dgtest_build_tests=ON \
-Dgmock_build_tests=ON \
-Dcxx_no_exception=${cmake_off_on} \
-Dcxx_no_rtti=${cmake_off_on}
time make -j$(nproc)
time ctest -j$(nproc) --output-on-failure
done
# Test the CMake build. cxx_no_exception / cxx_no_rtti are full flag strings set
# in googletest/cmake/internal_utils.cmake; passing -Dcxx_no_*=OFF/ON does not
# toggle builds and was misleading, so we use a single configure here.
BUILD_DIR="$(mktemp -d "${TMPDIR:-/tmp}/gtest_cmake_build.XXXXXXXX")"
cd "${BUILD_DIR}"
time cmake "${GTEST_ROOT}" \
-DCMAKE_CXX_STANDARD=17 \
-Dgtest_build_samples=ON \
-Dgtest_build_tests=ON \
-Dgmock_build_tests=ON
time make -j"${NCPU}"
time ctest -j"${NCPU}" --output-on-failure
# Test the Bazel build
@ -75,7 +75,7 @@ if [[ ${KOKORO_GFILE_DIR:-} ]] && [[ -f "${KOKORO_GFILE_DIR}/distdir/googletest_
BAZEL_EXTRA_ARGS="--vendor_dir=${HOME}/googletest_vendor ${BAZEL_EXTRA_ARGS:-}"
fi
cd ${GTEST_ROOT}
cd "${GTEST_ROOT}"
for absl in 0 1; do
${BAZEL_BIN} test ... \
--copt="-Wall" \