#include "base/allocator/dispatcher/internal/dispatcher_internal.h"
#include <iostream>
#include <tuple>
#include <utility>
#include "base/allocator/dispatcher/subsystem.h"
#include "base/allocator/dispatcher/testing/dispatcher_test.h"
#include "base/allocator/dispatcher/testing/observer_mock.h"
#include "base/allocator/dispatcher/testing/tools.h"
#include "base/dcheck_is_on.h"
#include "partition_alloc/buildflags.h"
#include "testing/gtest/include/gtest/gtest.h"
#if PA_BUILDFLAG(USE_PARTITION_ALLOC)
#include "partition_alloc/partition_alloc_allocation_data.h"
#endif
AllocationSubsystem;
kMaximumNumberOfObservers;
CreateTupleOfPointers;
DispatcherTest;
_;
AllOf;
InSequence;
Matcher;
Property;
namespace base::allocator::dispatcher::internal {
namespace {
auto AllocationNotificationMatches(
Matcher<void*> address_matcher,
Matcher<size_t> size_matcher,
Matcher<AllocationSubsystem> subsystem_matcher = _) { … }
auto FreeNotificationMatches(
Matcher<void*> address_matcher,
Matcher<AllocationSubsystem> subsystem_matcher = _) { … }
#if PA_BUILDFLAG(USE_PARTITION_ALLOC)
::partition_alloc::AllocationNotificationData CreatePAAllocationData(
void* address,
size_t size,
partition_alloc::TagViolationReportingMode mte_mode =
partition_alloc::TagViolationReportingMode::kUndefined) { … }
::partition_alloc::FreeNotificationData CreatePAFreeData(
void* address,
partition_alloc::TagViolationReportingMode mte_mode =
partition_alloc::TagViolationReportingMode::kUndefined) { … }
#endif
struct AllocationEventDispatcherInternalTest : public DispatcherTest { … };
}
NaggyMock;
StrictMock;
ObserverMock;
#if defined(GTEST_HAS_DEATH_TEST) && GTEST_HAS_DEATH_TEST && DCHECK_IS_ON()
TEST(AllocationEventDispatcherInternalDeathTest,
VerifyDeathWhenObserverIsNull) { … }
#endif
#if PA_BUILDFLAG(USE_PARTITION_ALLOC)
TEST_F(AllocationEventDispatcherInternalTest,
VerifyPartitionAllocatorHooksAreSet) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyPartitionAllocatorHooksAreNullWhenNoObservers) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyPartitionAllocatorAllocationHooksTriggerCorrectly) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyPartitionAllocatorFreeHooksTriggerCorrectly) { … }
#endif
#if PA_BUILDFLAG(USE_ALLOCATOR_SHIM)
TEST_F(AllocationEventDispatcherInternalTest, VerifyAllocatorShimDataIsSet) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimDataIsNullWhenNoObservers) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_alloc_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_alloc_unchecked_function) { … }
TEST_F(
AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_alloc_zero_initialized_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_alloc_aligned_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_realloc_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_realloc_unchecked_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_free_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_batch_malloc_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_batch_free_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_free_definite_size_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_try_free_default_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_aligned_malloc_function) { … }
TEST_F(
AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_aligned_malloc_unchecked_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_aligned_realloc_function) { … }
TEST_F(
AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_aligned_realloc_unchecked_function) { … }
TEST_F(AllocationEventDispatcherInternalTest,
VerifyAllocatorShimHooksTriggerCorrectly_aligned_free_function) { … }
#endif
}