xref: /llvm-project/compiler-rt/lib/gwp_asan/tests/late_init.cpp (revision 7adb7aa494247f2492f6207289ad90cb48807517)
10d6fccb4SMitch Phillips //===-- late_init.cpp -------------------------------------------*- C++ -*-===//
20d6fccb4SMitch Phillips //
30d6fccb4SMitch Phillips // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40d6fccb4SMitch Phillips // See https://llvm.org/LICENSE.txt for license information.
50d6fccb4SMitch Phillips // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60d6fccb4SMitch Phillips //
70d6fccb4SMitch Phillips //===----------------------------------------------------------------------===//
80d6fccb4SMitch Phillips 
90d6fccb4SMitch Phillips #include "gwp_asan/guarded_pool_allocator.h"
100d6fccb4SMitch Phillips #include "gwp_asan/options.h"
115556616bSKostya Kortchinsky #include "gwp_asan/tests/harness.h"
120d6fccb4SMitch Phillips 
TEST(LateInit,CheckLateInitIsOK)130d6fccb4SMitch Phillips TEST(LateInit, CheckLateInitIsOK) {
140d6fccb4SMitch Phillips   gwp_asan::GuardedPoolAllocator GPA;
150d6fccb4SMitch Phillips 
160d6fccb4SMitch Phillips   for (size_t i = 0; i < 0x100; ++i)
170d6fccb4SMitch Phillips     EXPECT_FALSE(GPA.shouldSample());
180d6fccb4SMitch Phillips 
190d6fccb4SMitch Phillips   gwp_asan::options::Options Opts;
200d6fccb4SMitch Phillips   Opts.Enabled = true;
210d6fccb4SMitch Phillips   Opts.SampleRate = 1;
220d6fccb4SMitch Phillips 
230d6fccb4SMitch Phillips   GPA.init(Opts);
240d6fccb4SMitch Phillips   EXPECT_TRUE(GPA.shouldSample());
25*7adb7aa4SMitch Phillips   GPA.uninitTestOnly();
260d6fccb4SMitch Phillips }
27