Export of internal Abseil changes.
-- 70b243f160a2f0f222066f62e06cc4346aea683d by Gennadiy Civil <misterg@google.com>: Replace tests with new googletest Test Suite APIs PiperOrigin-RevId: 228901526 -- 28fe449f416c3d3fe882ef3dfa4289b94be5f8af by CJ Johnson <johnsoncj@google.com>: Changes the style of enable_if on InlinedVector::insert(...) to match all others PiperOrigin-RevId: 228878640 -- 5b4732f783d16cfb19c8c42962201aafe12b3c0f by Abseil Team <absl-team@google.com>: Update the absl::FromDateTime() deprecation message to refer to absl::FromCivil(), the recommended replacement despite a slight change in behavior for skipped civil times. PiperOrigin-RevId: 228820837 -- ee77056d753bb8665236a173064af85d935acfc4 by Gennadiy Civil <misterg@google.com>: Bump googletest to the latest PiperOrigin-RevId: 228792994 -- aebc04f76b83a26432dba8e6199c971d5b69df0f by CJ Johnson <johnsoncj@google.com>: Switches InlinedVector input/forward iterator tagged dispatch from callsite to template decorator PiperOrigin-RevId: 228771063 GitOrigin-RevId: 70b243f160a2f0f222066f62e06cc4346aea683d Change-Id: I5f8cd05685ff642eff81187b8e207a0bdbcf073a
This commit is contained in:
parent
66f9becbb9
commit
5eea0f713c
23 changed files with 97 additions and 80 deletions
|
@ -15,9 +15,9 @@ http_archive(
|
|||
# GoogleTest/GoogleMock framework. Used by most unit-tests.
|
||||
http_archive(
|
||||
name = "com_google_googletest",
|
||||
urls = ["https://github.com/google/googletest/archive/b4d4438df9479675a632b2f11125e57133822ece.zip"], # 2018-07-16
|
||||
strip_prefix = "googletest-b4d4438df9479675a632b2f11125e57133822ece",
|
||||
sha256 = "5aaa5d566517cae711e2a3505ea9a6438be1b37fcaae0ebcb96ccba9aa56f23a",
|
||||
urls = ["https://github.com/google/googletest/archive/b6cd405286ed8635ece71c72f118e659f4ade3fb.zip"], # 2019-01-07
|
||||
strip_prefix = "googletest-b6cd405286ed8635ece71c72f118e659f4ade3fb",
|
||||
sha256 = "ff7a82736e158c077e76188232eac77913a15dac0b22508c390ab3f88e6d6d86",
|
||||
)
|
||||
|
||||
# Google benchmark.
|
||||
|
|
|
@ -40,9 +40,9 @@ using MapTypes =
|
|||
Map<EnumClass, int>, Map<int, NonStandardLayout>,
|
||||
Map<NonStandardLayout, int>>;
|
||||
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(FlatHashMap, ConstructorTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(FlatHashMap, LookupTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(FlatHashMap, ModifiersTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(FlatHashMap, ConstructorTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(FlatHashMap, LookupTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(FlatHashMap, ModifiersTest, MapTypes);
|
||||
|
||||
TEST(FlatHashMap, StandardLayout) {
|
||||
struct Int {
|
||||
|
|
|
@ -40,9 +40,9 @@ using Set =
|
|||
using SetTypes =
|
||||
::testing::Types<Set<int>, Set<std::string>, Set<Enum>, Set<EnumClass>>;
|
||||
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(FlatHashSet, ConstructorTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(FlatHashSet, LookupTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(FlatHashSet, ModifiersTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(FlatHashSet, ConstructorTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(FlatHashSet, LookupTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(FlatHashSet, ModifiersTest, SetTypes);
|
||||
|
||||
TEST(FlatHashSet, EmplaceString) {
|
||||
std::vector<std::string> v = {"a", "b"};
|
||||
|
|
|
@ -71,18 +71,31 @@ class InlinedVector {
|
|||
return static_cast<typename A::size_type>(N);
|
||||
}
|
||||
|
||||
template <typename Iterator>
|
||||
using IsAtLeastInputIterator = std::is_convertible<
|
||||
typename std::iterator_traits<Iterator>::iterator_category,
|
||||
std::input_iterator_tag>;
|
||||
|
||||
template <typename Iterator>
|
||||
using IsAtLeastForwardIterator = std::is_convertible<
|
||||
typename std::iterator_traits<Iterator>::iterator_category,
|
||||
std::forward_iterator_tag>;
|
||||
|
||||
template <typename Iterator>
|
||||
using DisableIfIntegral =
|
||||
absl::enable_if_t<!std::is_integral<Iterator>::value>;
|
||||
|
||||
template <typename Iterator>
|
||||
using EnableIfInputIterator = absl::enable_if_t<std::is_convertible<
|
||||
typename std::iterator_traits<Iterator>::iterator_category,
|
||||
std::input_iterator_tag>::value>;
|
||||
using EnableIfAtLeastInputIterator =
|
||||
absl::enable_if_t<IsAtLeastInputIterator<Iterator>::value>;
|
||||
|
||||
template <typename Iterator>
|
||||
using IteratorCategory =
|
||||
typename std::iterator_traits<Iterator>::iterator_category;
|
||||
using EnableIfAtLeastForwardIterator =
|
||||
absl::enable_if_t<IsAtLeastForwardIterator<Iterator>::value>;
|
||||
|
||||
template <typename Iterator>
|
||||
using DisableIfAtLeastForwardIterator =
|
||||
absl::enable_if_t<!IsAtLeastForwardIterator<Iterator>::value>;
|
||||
|
||||
using rvalue_reference = typename A::value_type&&;
|
||||
|
||||
|
@ -130,8 +143,7 @@ class InlinedVector {
|
|||
InlinedVector(std::initializer_list<value_type> init_list,
|
||||
const allocator_type& alloc = allocator_type())
|
||||
: allocator_and_tag_(alloc) {
|
||||
AppendRange(init_list.begin(), init_list.end(),
|
||||
IteratorCategory<decltype(init_list.begin())>{});
|
||||
AppendRange(init_list.begin(), init_list.end());
|
||||
}
|
||||
|
||||
// Creates an inlined vector with elements constructed from the provided
|
||||
|
@ -144,7 +156,7 @@ class InlinedVector {
|
|||
InlinedVector(InputIterator first, InputIterator last,
|
||||
const allocator_type& alloc = allocator_type())
|
||||
: allocator_and_tag_(alloc) {
|
||||
AppendRange(first, last, IteratorCategory<InputIterator>{});
|
||||
AppendRange(first, last);
|
||||
}
|
||||
|
||||
// Creates a copy of `other` using `other`'s allocator.
|
||||
|
@ -422,8 +434,7 @@ class InlinedVector {
|
|||
// Replaces the contents of the inlined vector with copies of the elements in
|
||||
// the provided `std::initializer_list`.
|
||||
InlinedVector& operator=(std::initializer_list<value_type> init_list) {
|
||||
AssignRange(init_list.begin(), init_list.end(),
|
||||
IteratorCategory<decltype(init_list.begin())>{});
|
||||
AssignRange(init_list.begin(), init_list.end());
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
@ -500,15 +511,14 @@ class InlinedVector {
|
|||
// inlined vector with copies of the values in the provided
|
||||
// `std::initializer_list`.
|
||||
void assign(std::initializer_list<value_type> init_list) {
|
||||
AssignRange(init_list.begin(), init_list.end(),
|
||||
IteratorCategory<decltype(init_list.begin())>{});
|
||||
AssignRange(init_list.begin(), init_list.end());
|
||||
}
|
||||
|
||||
// Overload of `InlinedVector::assign()` to replace the contents of the
|
||||
// inlined vector with values constructed from the range [`first`, `last`).
|
||||
template <typename InputIterator, DisableIfIntegral<InputIterator>* = nullptr>
|
||||
void assign(InputIterator first, InputIterator last) {
|
||||
AssignRange(first, last, IteratorCategory<InputIterator>{});
|
||||
AssignRange(first, last);
|
||||
}
|
||||
|
||||
// `InlinedVector::resize()`
|
||||
|
@ -593,11 +603,10 @@ class InlinedVector {
|
|||
// NOTE: The `enable_if` is intended to disambiguate the two three-argument
|
||||
// overloads of `insert()`.
|
||||
template <typename InputIterator,
|
||||
typename = EnableIfInputIterator<InputIterator>>
|
||||
EnableIfAtLeastInputIterator<InputIterator>* = nullptr>
|
||||
iterator insert(const_iterator position, InputIterator first,
|
||||
InputIterator last) {
|
||||
return InsertWithRange(position, first, last,
|
||||
IteratorCategory<InputIterator>());
|
||||
return InsertWithRange(position, first, last);
|
||||
}
|
||||
|
||||
// `InlinedVector::emplace()`
|
||||
|
@ -1077,8 +1086,9 @@ class InlinedVector {
|
|||
}
|
||||
}
|
||||
|
||||
template <typename Iterator>
|
||||
void AssignRange(Iterator first, Iterator last, std::forward_iterator_tag) {
|
||||
template <typename ForwardIterator,
|
||||
EnableIfAtLeastForwardIterator<ForwardIterator>* = nullptr>
|
||||
void AssignRange(ForwardIterator first, ForwardIterator last) {
|
||||
auto length = std::distance(first, last);
|
||||
// Prefer reassignment to copy construction for elements.
|
||||
if (static_cast<size_type>(length) <= size()) {
|
||||
|
@ -1097,8 +1107,9 @@ class InlinedVector {
|
|||
}
|
||||
}
|
||||
|
||||
template <typename Iterator>
|
||||
void AssignRange(Iterator first, Iterator last, std::input_iterator_tag) {
|
||||
template <typename InputIterator,
|
||||
DisableIfAtLeastForwardIterator<InputIterator>* = nullptr>
|
||||
void AssignRange(InputIterator first, InputIterator last) {
|
||||
// Optimized to avoid reallocation.
|
||||
// Prefer reassignment to copy construction for elements.
|
||||
iterator out = begin();
|
||||
|
@ -1109,8 +1120,9 @@ class InlinedVector {
|
|||
std::copy(first, last, std::back_inserter(*this));
|
||||
}
|
||||
|
||||
template <typename Iterator>
|
||||
void AppendRange(Iterator first, Iterator last, std::forward_iterator_tag) {
|
||||
template <typename ForwardIterator,
|
||||
EnableIfAtLeastForwardIterator<ForwardIterator>* = nullptr>
|
||||
void AppendRange(ForwardIterator first, ForwardIterator last) {
|
||||
auto length = std::distance(first, last);
|
||||
reserve(size() + length);
|
||||
if (allocated()) {
|
||||
|
@ -1122,8 +1134,9 @@ class InlinedVector {
|
|||
}
|
||||
}
|
||||
|
||||
template <typename Iterator>
|
||||
void AppendRange(Iterator first, Iterator last, std::input_iterator_tag) {
|
||||
template <typename InputIterator,
|
||||
DisableIfAtLeastForwardIterator<InputIterator>* = nullptr>
|
||||
void AppendRange(InputIterator first, InputIterator last) {
|
||||
std::copy(first, last, std::back_inserter(*this));
|
||||
}
|
||||
|
||||
|
@ -1140,9 +1153,10 @@ class InlinedVector {
|
|||
return it_pair.first;
|
||||
}
|
||||
|
||||
template <typename ForwardIterator>
|
||||
template <typename ForwardIterator,
|
||||
EnableIfAtLeastForwardIterator<ForwardIterator>* = nullptr>
|
||||
iterator InsertWithRange(const_iterator position, ForwardIterator first,
|
||||
ForwardIterator last, std::forward_iterator_tag) {
|
||||
ForwardIterator last) {
|
||||
assert(position >= begin() && position <= end());
|
||||
if (ABSL_PREDICT_FALSE(first == last))
|
||||
return const_cast<iterator>(position);
|
||||
|
@ -1150,15 +1164,16 @@ class InlinedVector {
|
|||
auto n = std::distance(first, last);
|
||||
std::pair<iterator, iterator> it_pair = ShiftRight(position, n);
|
||||
size_type used_spots = it_pair.second - it_pair.first;
|
||||
ForwardIterator open_spot = std::next(first, used_spots);
|
||||
auto open_spot = std::next(first, used_spots);
|
||||
std::copy(first, open_spot, it_pair.first);
|
||||
UninitializedCopy(open_spot, last, it_pair.second);
|
||||
return it_pair.first;
|
||||
}
|
||||
|
||||
template <typename InputIterator>
|
||||
template <typename InputIterator,
|
||||
DisableIfAtLeastForwardIterator<InputIterator>* = nullptr>
|
||||
iterator InsertWithRange(const_iterator position, InputIterator first,
|
||||
InputIterator last, std::input_iterator_tag) {
|
||||
InputIterator last) {
|
||||
assert(position >= begin() && position <= end());
|
||||
size_type index = position - cbegin();
|
||||
size_type i = index;
|
||||
|
|
|
@ -70,7 +70,7 @@ MATCHER_P(ValueIs, e, "") {
|
|||
// test_instance_tracker.h.
|
||||
template <typename T>
|
||||
class InstanceTest : public ::testing::Test {};
|
||||
TYPED_TEST_CASE_P(InstanceTest);
|
||||
TYPED_TEST_SUITE_P(InstanceTest);
|
||||
|
||||
// A simple reference counted class to make sure that the proper elements are
|
||||
// destroyed in the erase(begin, end) test.
|
||||
|
|
|
@ -77,14 +77,14 @@ struct EqString : ::testing::Test {
|
|||
hash_default_eq<T> key_eq;
|
||||
};
|
||||
|
||||
TYPED_TEST_CASE(EqString, StringTypes);
|
||||
TYPED_TEST_SUITE(EqString, StringTypes);
|
||||
|
||||
template <class T>
|
||||
struct HashString : ::testing::Test {
|
||||
hash_default_hash<T> hasher;
|
||||
};
|
||||
|
||||
TYPED_TEST_CASE(HashString, StringTypes);
|
||||
TYPED_TEST_SUITE(HashString, StringTypes);
|
||||
|
||||
TYPED_TEST(EqString, Works) {
|
||||
auto eq = this->key_eq;
|
||||
|
@ -121,14 +121,14 @@ struct EqPointer : ::testing::Test {
|
|||
hash_default_eq<T> key_eq;
|
||||
};
|
||||
|
||||
TYPED_TEST_CASE(EqPointer, PointerTypes);
|
||||
TYPED_TEST_SUITE(EqPointer, PointerTypes);
|
||||
|
||||
template <class T>
|
||||
struct HashPointer : ::testing::Test {
|
||||
hash_default_hash<T> hasher;
|
||||
};
|
||||
|
||||
TYPED_TEST_CASE(HashPointer, PointerTypes);
|
||||
TYPED_TEST_SUITE(HashPointer, PointerTypes);
|
||||
|
||||
TYPED_TEST(EqPointer, Works) {
|
||||
int dummy;
|
||||
|
@ -248,7 +248,7 @@ TYPED_TEST_P(StringLikeTest, HashEq) {
|
|||
EXPECT_NE(this->hash(this->a1), this->hash(this->b2));
|
||||
}
|
||||
|
||||
TYPED_TEST_CASE(StringLikeTest, StringTypesCartesianProduct);
|
||||
TYPED_TEST_SUITE(StringLikeTest, StringTypesCartesianProduct);
|
||||
|
||||
} // namespace
|
||||
} // namespace container_internal
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace container_internal {
|
|||
template <class UnordMap>
|
||||
class ConstructorTest : public ::testing::Test {};
|
||||
|
||||
TYPED_TEST_CASE_P(ConstructorTest);
|
||||
TYPED_TEST_SUITE_P(ConstructorTest);
|
||||
|
||||
TYPED_TEST_P(ConstructorTest, NoArgs) {
|
||||
TypeParam m;
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace container_internal {
|
|||
template <class UnordMap>
|
||||
class LookupTest : public ::testing::Test {};
|
||||
|
||||
TYPED_TEST_CASE_P(LookupTest);
|
||||
TYPED_TEST_SUITE_P(LookupTest);
|
||||
|
||||
TYPED_TEST_P(LookupTest, At) {
|
||||
using T = hash_internal::GeneratedType<TypeParam>;
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace container_internal {
|
|||
template <class UnordMap>
|
||||
class ModifiersTest : public ::testing::Test {};
|
||||
|
||||
TYPED_TEST_CASE_P(ModifiersTest);
|
||||
TYPED_TEST_SUITE_P(ModifiersTest);
|
||||
|
||||
TYPED_TEST_P(ModifiersTest, Clear) {
|
||||
using T = hash_internal::GeneratedType<TypeParam>;
|
||||
|
|
|
@ -29,9 +29,9 @@ using MapTypes = ::testing::Types<
|
|||
StatefulTestingEqual,
|
||||
Alloc<std::pair<const std::string, std::string>>>>;
|
||||
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(UnorderedMap, ConstructorTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(UnorderedMap, LookupTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(UnorderedMap, ModifiersTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, ConstructorTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, LookupTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedMap, ModifiersTest, MapTypes);
|
||||
|
||||
} // namespace
|
||||
} // namespace container_internal
|
||||
|
|
|
@ -29,7 +29,7 @@ namespace container_internal {
|
|||
template <class UnordMap>
|
||||
class ConstructorTest : public ::testing::Test {};
|
||||
|
||||
TYPED_TEST_CASE_P(ConstructorTest);
|
||||
TYPED_TEST_SUITE_P(ConstructorTest);
|
||||
|
||||
TYPED_TEST_P(ConstructorTest, NoArgs) {
|
||||
TypeParam m;
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace container_internal {
|
|||
template <class UnordSet>
|
||||
class LookupTest : public ::testing::Test {};
|
||||
|
||||
TYPED_TEST_CASE_P(LookupTest);
|
||||
TYPED_TEST_SUITE_P(LookupTest);
|
||||
|
||||
TYPED_TEST_P(LookupTest, Count) {
|
||||
using T = hash_internal::GeneratedType<TypeParam>;
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace container_internal {
|
|||
template <class UnordSet>
|
||||
class ModifiersTest : public ::testing::Test {};
|
||||
|
||||
TYPED_TEST_CASE_P(ModifiersTest);
|
||||
TYPED_TEST_SUITE_P(ModifiersTest);
|
||||
|
||||
TYPED_TEST_P(ModifiersTest, Clear) {
|
||||
using T = hash_internal::GeneratedType<TypeParam>;
|
||||
|
|
|
@ -28,9 +28,9 @@ using SetTypes =
|
|||
std::unordered_set<std::string, StatefulTestingHash,
|
||||
StatefulTestingEqual, Alloc<std::string>>>;
|
||||
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(UnorderedSet, ConstructorTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(UnorderedSet, LookupTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(UnorderedSet, ModifiersTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedSet, ConstructorTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedSet, LookupTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(UnorderedSet, ModifiersTest, SetTypes);
|
||||
|
||||
} // namespace
|
||||
} // namespace container_internal
|
||||
|
|
|
@ -34,9 +34,9 @@ using MapTypes = ::testing::Types<
|
|||
StatefulTestingEqual,
|
||||
Alloc<std::pair<const std::string, std::string>>>>;
|
||||
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(NodeHashMap, ConstructorTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(NodeHashMap, LookupTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(NodeHashMap, ModifiersTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(NodeHashMap, ConstructorTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(NodeHashMap, LookupTest, MapTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(NodeHashMap, ModifiersTest, MapTypes);
|
||||
|
||||
using M = absl::node_hash_map<std::string, Tracked<int>>;
|
||||
|
||||
|
|
|
@ -34,9 +34,9 @@ using SetTypes = ::testing::Types<
|
|||
node_hash_set<EnumClass, StatefulTestingHash, StatefulTestingEqual,
|
||||
Alloc<EnumClass>>>;
|
||||
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(NodeHashSet, ConstructorTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(NodeHashSet, LookupTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_CASE_P(NodeHashSet, ModifiersTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(NodeHashSet, ConstructorTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(NodeHashSet, LookupTest, SetTypes);
|
||||
INSTANTIATE_TYPED_TEST_SUITE_P(NodeHashSet, ModifiersTest, SetTypes);
|
||||
|
||||
TEST(NodeHashSet, MoveableNotCopyableCompiles) {
|
||||
node_hash_set<std::unique_ptr<void*>> t;
|
||||
|
|
|
@ -140,7 +140,7 @@ std::string SignalParamToString(const ::testing::TestParamInfo<int>& info) {
|
|||
return result;
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(AbslDeathTest, FailureSignalHandlerDeathTest,
|
||||
INSTANTIATE_TEST_SUITE_P(AbslDeathTest, FailureSignalHandlerDeathTest,
|
||||
::testing::ValuesIn(kFailureSignals),
|
||||
SignalParamToString);
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ using absl::hash_internal::SpyHashState;
|
|||
template <typename T>
|
||||
class HashValueIntTest : public testing::Test {
|
||||
};
|
||||
TYPED_TEST_CASE_P(HashValueIntTest);
|
||||
TYPED_TEST_SUITE_P(HashValueIntTest);
|
||||
|
||||
template <typename T>
|
||||
SpyHashState SpyHash(const T& value) {
|
||||
|
@ -273,7 +273,7 @@ TEST(HashTest, NoOpsAreEquivalent) {
|
|||
template <typename T>
|
||||
class HashIntTest : public testing::Test {
|
||||
};
|
||||
TYPED_TEST_CASE_P(HashIntTest);
|
||||
TYPED_TEST_SUITE_P(HashIntTest);
|
||||
|
||||
TYPED_TEST_P(HashIntTest, BasicUsage) {
|
||||
EXPECT_NE(Hash<NoOp>()({}), Hash<TypeParam>()(0));
|
||||
|
|
|
@ -51,7 +51,7 @@ template <typename T>
|
|||
class Uint128FloatTraitsTest : public ::testing::Test {};
|
||||
typedef ::testing::Types<float, double, long double> FloatingPointTypes;
|
||||
|
||||
TYPED_TEST_CASE(Uint128IntegerTraitsTest, IntegerTypes);
|
||||
TYPED_TEST_SUITE(Uint128IntegerTraitsTest, IntegerTypes);
|
||||
|
||||
TYPED_TEST(Uint128IntegerTraitsTest, ConstructAssignTest) {
|
||||
static_assert(std::is_constructible<absl::uint128, TypeParam>::value,
|
||||
|
@ -62,7 +62,7 @@ TYPED_TEST(Uint128IntegerTraitsTest, ConstructAssignTest) {
|
|||
"TypeParam must not be assignable from absl::uint128");
|
||||
}
|
||||
|
||||
TYPED_TEST_CASE(Uint128FloatTraitsTest, FloatingPointTypes);
|
||||
TYPED_TEST_SUITE(Uint128FloatTraitsTest, FloatingPointTypes);
|
||||
|
||||
TYPED_TEST(Uint128FloatTraitsTest, ConstructAssignTest) {
|
||||
static_assert(std::is_constructible<absl::uint128, TypeParam>::value,
|
||||
|
|
|
@ -232,7 +232,7 @@ TEST_F(FormatConvertTest, Enum) {
|
|||
template <typename T>
|
||||
class TypedFormatConvertTest : public FormatConvertTest { };
|
||||
|
||||
TYPED_TEST_CASE_P(TypedFormatConvertTest);
|
||||
TYPED_TEST_SUITE_P(TypedFormatConvertTest);
|
||||
|
||||
std::vector<std::string> AllFlagCombinations() {
|
||||
const char kFlags[] = {'-', '#', '0', '+', ' '};
|
||||
|
|
|
@ -610,7 +610,7 @@ TEST_P(CondVarWaitDeadlock, Test) {
|
|||
waiter2.reset(); // "join" waiter2
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(CondVarWaitDeadlockTest, CondVarWaitDeadlock,
|
||||
INSTANTIATE_TEST_SUITE_P(CondVarWaitDeadlockTest, CondVarWaitDeadlock,
|
||||
::testing::Range(0, 8),
|
||||
::testing::PrintToStringParamName());
|
||||
|
||||
|
@ -1367,7 +1367,7 @@ std::vector<TimeoutTestParam> MakeTimeoutTestParamValues() {
|
|||
}
|
||||
|
||||
// Instantiate `TimeoutTest` with `MakeTimeoutTestParamValues()`.
|
||||
INSTANTIATE_TEST_CASE_P(All, TimeoutTest,
|
||||
INSTANTIATE_TEST_SUITE_P(All, TimeoutTest,
|
||||
testing::ValuesIn(MakeTimeoutTestParamValues()));
|
||||
|
||||
TEST_P(TimeoutTest, Await) {
|
||||
|
@ -1548,7 +1548,7 @@ static std::vector<int> AllThreadCountValues() {
|
|||
class MutexVariableThreadCountTest : public ::testing::TestWithParam<int> {};
|
||||
|
||||
// Instantiate the above with AllThreadCountOptions().
|
||||
INSTANTIATE_TEST_CASE_P(ThreadCounts, MutexVariableThreadCountTest,
|
||||
INSTANTIATE_TEST_SUITE_P(ThreadCounts, MutexVariableThreadCountTest,
|
||||
::testing::ValuesIn(AllThreadCountValues()),
|
||||
::testing::PrintToStringParamName());
|
||||
|
||||
|
|
|
@ -1149,7 +1149,9 @@ TimeConversion ConvertDateTime(int64_t year, int mon, int day, int hour,
|
|||
// absl::Time t = absl::FromDateTime(2017, 9, 26, 9, 30, 0, lax);
|
||||
// // t = 2017-09-26 09:30:00 -0700
|
||||
//
|
||||
// Deprecated. Use `absl::TimeZone::At(CivilSecond).pre`.
|
||||
// Deprecated. Use `absl::FromCivil(CivilSecond, TimeZone)`. Note that the
|
||||
// behavior of `FromCivil()` differs from `FromDateTime()` for skipped civil
|
||||
// times. If you care about that see `absl::TimeZone::At(absl::CivilSecond)`.
|
||||
inline Time FromDateTime(int64_t year, int mon, int day, int hour,
|
||||
int min, int sec, TimeZone tz) {
|
||||
return ConvertDateTime(year, mon, day, hour, min, sec, tz).pre;
|
||||
|
|
|
@ -257,7 +257,7 @@ class NonCopyable {
|
|||
// each type.
|
||||
template <typename T>
|
||||
class VariantTypesTest : public ::testing::Test {};
|
||||
TYPED_TEST_CASE(VariantTypesTest, VariantTypes);
|
||||
TYPED_TEST_SUITE(VariantTypesTest, VariantTypes);
|
||||
|
||||
////////////////////
|
||||
// [variant.ctor] //
|
||||
|
|
Loading…
Reference in a new issue