MCPcopy Create free account
hub / github.com/async-profiler/async-profiler / TEST_CASE

Function TEST_CASE

test/native/safeAccessTest.cpp:10–27  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8#include "safeAccess.h"
9
10TEST_CASE(SafeAccess_load) {
11 Profiler::instance()->updateSymbols(false);
12 Profiler::instance()->setupSignalHandlers();
13
14 void* good_val = (void*)(uintptr_t)0x123456789abcdef0ULL;
15 void** good_ptr = &good_val;
16 void** bad_ptr = (void**)(uintptr_t)0xbaad0000ffffbaadULL;
17 void* deadbeef = (void*)(uintptr_t)0xdeadbeefdeadbeefULL;
18
19 ASSERT_EQ(SafeAccess::load(bad_ptr), 0);
20 ASSERT_EQ(SafeAccess::load(good_ptr), good_val);
21
22 ASSERT_EQ(SafeAccess::load(bad_ptr, deadbeef), deadbeef);
23 ASSERT_EQ(SafeAccess::load(good_ptr, deadbeef), good_val);
24
25 ASSERT_EQ(SafeAccess::load32((int32_t*)bad_ptr, 0x87654321), 0x87654321);
26 ASSERT_EQ(SafeAccess::load32((int32_t*)good_ptr, 0x87654321), 0x9abcdef0);
27}

Callers

nothing calls this directly

Calls 2

updateSymbolsMethod · 0.80
setupSignalHandlersMethod · 0.80

Tested by

no test coverage detected