diff options
Diffstat (limited to 'test/xray/TestCases/Linux/patching-unpatching.cc')
-rw-r--r-- | test/xray/TestCases/Linux/patching-unpatching.cc | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/test/xray/TestCases/Linux/patching-unpatching.cc b/test/xray/TestCases/Linux/patching-unpatching.cc index a7ea58f6d..e69de29bb 100644 --- a/test/xray/TestCases/Linux/patching-unpatching.cc +++ b/test/xray/TestCases/Linux/patching-unpatching.cc @@ -1,49 +0,0 @@ -// Check that we can patch and un-patch on demand, and that logging gets invoked -// appropriately. -// -// RUN: %clangxx_xray -fxray-instrument -std=c++11 %s -o %t -// RUN: XRAY_OPTIONS="patch_premain=false" %run %t 2>&1 | FileCheck %s - -// UNSUPPORTED: target-is-mips64,target-is-mips64el - -#include "xray/xray_interface.h" - -#include <cstdio> - -bool called = false; - -void test_handler(int32_t fid, XRayEntryType type) { - printf("called: %d, type=%d\n", fid, static_cast<int32_t>(type)); - called = true; -} - -[[clang::xray_always_instrument]] void always_instrument() { - printf("always instrumented called\n"); -} - -int main() { - __xray_set_handler(test_handler); - always_instrument(); - // CHECK: always instrumented called - auto status = __xray_patch(); - printf("patching status: %d\n", static_cast<int32_t>(status)); - // CHECK-NEXT: patching status: 1 - always_instrument(); - // CHECK-NEXT: called: {{.*}}, type=0 - // CHECK-NEXT: always instrumented called - // CHECK-NEXT: called: {{.*}}, type=1 - status = __xray_unpatch(); - printf("patching status: %d\n", static_cast<int32_t>(status)); - // CHECK-NEXT: patching status: 1 - always_instrument(); - // CHECK-NEXT: always instrumented called - status = __xray_patch(); - printf("patching status: %d\n", static_cast<int32_t>(status)); - // CHECK-NEXT: patching status: 1 - __xray_remove_handler(); - always_instrument(); - // CHECK-NEXT: always instrumented called - status = __xray_unpatch(); - printf("patching status: %d\n", static_cast<int32_t>(status)); - // CHECK-NEXT: patching status: 1 -} |