tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

exception_testing.h (1529B)


      1 // Copyright 2017 The Abseil Authors.
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //      https://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 
     15 // Testing utilities for ABSL types which throw exceptions.
     16 
     17 #ifndef ABSL_BASE_INTERNAL_EXCEPTION_TESTING_H_
     18 #define ABSL_BASE_INTERNAL_EXCEPTION_TESTING_H_
     19 
     20 #include "gtest/gtest.h"
     21 #include "absl/base/config.h"
     22 
     23 // ABSL_BASE_INTERNAL_EXPECT_FAIL tests either for a specified thrown exception
     24 // if exceptions are enabled, or for death with a specified text in the error
     25 // message
     26 #ifdef ABSL_HAVE_EXCEPTIONS
     27 
     28 #define ABSL_BASE_INTERNAL_EXPECT_FAIL(expr, exception_t, text) \
     29  EXPECT_THROW(expr, exception_t)
     30 
     31 #elif defined(__ANDROID__)
     32 // Android asserts do not log anywhere that gtest can currently inspect.
     33 // So we expect exit, but cannot match the message.
     34 #define ABSL_BASE_INTERNAL_EXPECT_FAIL(expr, exception_t, text) \
     35  EXPECT_DEATH(expr, ".*")
     36 #else
     37 #define ABSL_BASE_INTERNAL_EXPECT_FAIL(expr, exception_t, text) \
     38  EXPECT_DEATH_IF_SUPPORTED(expr, text)
     39 
     40 #endif
     41 
     42 #endif  // ABSL_BASE_INTERNAL_EXCEPTION_TESTING_H_