about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2019-08-20T22·53-0700
committerXiaoyi Zhang <zhangxy@google.com>2019-08-21T20·54-0400
commit262d74ba81b1fc4d71f459555cde8ecb39786d68 (patch)
treea44b784bdc09e88c3e75ca9939eec064ead19c06
parentf0afae0d49af3e15a7169e019634d7719143d94d (diff)
Export of internal Abseil changes
--
1639d4832e961761060e61196e45948e25dc2676 by Derek Mauro <dmauro@google.com>:

Delete GCC 4.8 test script. GCC 4.8 is no longer supported.

PiperOrigin-RevId: 264485899

--
2a9b2182646b6c6675dce614dcce2c18174303d3 by Derek Mauro <dmauro@google.com>:

Make btree_test work with exceptions both enabled and disabled

PiperOrigin-RevId: 264473656
GitOrigin-RevId: 1639d4832e961761060e61196e45948e25dc2676
Change-Id: Ica58a2328fa261ecc4c4be410f68f97942074025
-rw-r--r--absl/container/BUILD.bazel1
-rw-r--r--absl/container/CMakeLists.txt1
-rw-r--r--absl/container/btree_test.cc12
-rwxr-xr-xci/linux_gcc-4.8_libstdcxx_cmake.sh61
4 files changed, 8 insertions, 67 deletions
diff --git a/absl/container/BUILD.bazel b/absl/container/BUILD.bazel
index ec890190907f..19c538bc48f3 100644
--- a/absl/container/BUILD.bazel
+++ b/absl/container/BUILD.bazel
@@ -887,6 +887,7 @@ cc_test(
         ":btree_test_common",
         ":counting_allocator",
         ":test_instance_tracker",
+        "//absl/base:core_headers",
         "//absl/base:raw_logging_internal",
         "//absl/flags:flag",
         "//absl/hash:hash_testing",
diff --git a/absl/container/CMakeLists.txt b/absl/container/CMakeLists.txt
index 638c27597588..a691222034af 100644
--- a/absl/container/CMakeLists.txt
+++ b/absl/container/CMakeLists.txt
@@ -75,6 +75,7 @@ absl_cc_test(
     absl::btree
     absl::btree_test_common
     absl::compare
+    absl::core_headers
     absl::counting_allocator
     absl::flags
     absl::hash_testing
diff --git a/absl/container/btree_test.cc b/absl/container/btree_test.cc
index 3ac97f89a8b7..d213ee617ecb 100644
--- a/absl/container/btree_test.cc
+++ b/absl/container/btree_test.cc
@@ -25,6 +25,7 @@
 #include "gmock/gmock.h"
 #include "gtest/gtest.h"
 #include "absl/base/internal/raw_logging.h"
+#include "absl/base/macros.h"
 #include "absl/container/btree_map.h"
 #include "absl/container/btree_set.h"
 #include "absl/container/internal/counting_allocator.h"
@@ -1537,12 +1538,11 @@ TEST(Btree, MapAt) {
   const absl::btree_map<int, int> &const_map = map;
   EXPECT_EQ(const_map.at(1), 2);
   EXPECT_EQ(const_map.at(2), 8);
-  try {
-    map.at(3);
-    FAIL() << "Exception not thrown";
-  } catch (const std::out_of_range& e) {
-    EXPECT_STREQ(e.what(), "absl::btree_map::at");
-  }
+#ifdef ABSL_HAVE_EXCEPTIONS
+  EXPECT_THROW(map.at(3), std::out_of_range);
+#else
+  EXPECT_DEATH(map.at(3), "absl::btree_map::at");
+#endif
 }
 
 TEST(Btree, BtreeMultisetEmplace) {
diff --git a/ci/linux_gcc-4.8_libstdcxx_cmake.sh b/ci/linux_gcc-4.8_libstdcxx_cmake.sh
deleted file mode 100755
index 4f964e2b0a5e..000000000000
--- a/ci/linux_gcc-4.8_libstdcxx_cmake.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019 The Abseil Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# TODO(absl-team): This script isn't fully hermetic because
-# -DABSL_USE_GOOGLETEST_HEAD=ON means that this script isn't pinned to a fixed
-# version of GoogleTest. This means that an upstream change to GoogleTest could
-# break this test. Fix this by allowing this script to pin to a known-good
-# version of GoogleTest.
-
-set -euox pipefail
-
-if [ -z ${ABSEIL_ROOT:-} ]; then
-  ABSEIL_ROOT="$(realpath $(dirname ${0})/..)"
-fi
-
-if [ -z ${ABSL_CMAKE_CXX_STANDARDS:-} ]; then
-  ABSL_CMAKE_CXX_STANDARDS="11 14"
-fi
-
-if [ -z ${ABSL_CMAKE_BUILD_TYPES:-} ]; then
-  ABSL_CMAKE_BUILD_TYPES="Debug Release"
-fi
-
-for std in ${ABSL_CMAKE_CXX_STANDARDS}; do
-  for compilation_mode in ${ABSL_CMAKE_BUILD_TYPES}; do
-    echo "--------------------------------------------------------------------"
-    echo "Testing with CMAKE_BUILD_TYPE=${compilation_mode} and -std=c++${std}"
-
-    time docker run \
-      --volume="${ABSEIL_ROOT}:/abseil-cpp:ro" \
-      --workdir=/abseil-cpp \
-      --tmpfs=/buildfs:exec \
-      --cap-add=SYS_PTRACE \
-      --rm \
-      -e CFLAGS="-Werror" \
-      -e CXXFLAGS="-Werror" \
-      gcr.io/google.com/absl-177019/linux_gcc-4.8:20190316 \
-      /bin/bash -c "
-        cd /buildfs && \
-        cmake /abseil-cpp \
-          -DABSL_USE_GOOGLETEST_HEAD=ON \
-          -DABSL_RUN_TESTS=ON \
-          -DCMAKE_BUILD_TYPE=${compilation_mode} \
-          -DCMAKE_CXX_STANDARD=${std} && \
-        make -j$(nproc) VERBOSE=1 && \
-        ctest -j$(nproc) --output-on-failure"
-  done
-done