summaryrefslogtreecommitdiff
path: root/libunwindstack/tests/TestUtils.h
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-22 01:11:07 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-22 01:11:07 +0000
commita07f6ef2d8f6be8c2da518062a02a869a1448f39 (patch)
treeda0c365d3a91eb655abe41fbe7a08c0e8833ce7a /libunwindstack/tests/TestUtils.h
parentde75575afca23fc9f7e3089ebbcb754a5d164657 (diff)
parent422b01c9de34c91ef9c68c40f961517a1df965d4 (diff)
downloadunwinding-a07f6ef2d8f6be8c2da518062a02a869a1448f39.tar.gz
Snap for 8485504 from 422b01c9de34c91ef9c68c40f961517a1df965d4 to tm-release
Change-Id: If9e119bd7e022f61b28990c85df70193bcbf4e0c
Diffstat (limited to 'libunwindstack/tests/TestUtils.h')
-rw-r--r--libunwindstack/tests/TestUtils.h60
1 files changed, 1 insertions, 59 deletions
diff --git a/libunwindstack/tests/TestUtils.h b/libunwindstack/tests/TestUtils.h
index 44b4e75..2378fd5 100644
--- a/libunwindstack/tests/TestUtils.h
+++ b/libunwindstack/tests/TestUtils.h
@@ -17,12 +17,10 @@
#ifndef _LIBUNWINDSTACK_TESTS_TEST_UTILS_H
#define _LIBUNWINDSTACK_TESTS_TEST_UTILS_H
-#include <errno.h>
#include <signal.h>
-#include <sys/ptrace.h>
+#include <stdint.h>
#include <sys/types.h>
#include <sys/wait.h>
-#include <unistd.h>
namespace unwindstack {
@@ -38,62 +36,6 @@ class TestScopedPidReaper {
pid_t pid_;
};
-inline bool TestQuiescePid(pid_t pid) {
- siginfo_t si;
- // Wait for up to 10 seconds.
- for (size_t i = 0; i < 10000; i++) {
- if (ptrace(PTRACE_GETSIGINFO, pid, 0, &si) == 0) {
- return true;
- }
- if (errno != ESRCH) {
- if (errno == EINVAL) {
- // The process is in group-stop state, so try and kick the
- // process out of that state.
- if (ptrace(PTRACE_LISTEN, pid, 0, 0) == -1) {
- perror("ptrace listen failed.");
- return false;
- }
- } else {
- return false;
- }
- }
- usleep(1000);
- }
- return false;
-}
-
-inline bool TestAttach(pid_t pid) {
- // Wait up to 10 seconds to attach.
- for (size_t j = 0; j < 10000; j++) {
- if (ptrace(PTRACE_ATTACH, pid, 0, 0) == 0) {
- break;
- }
- if (errno == ESRCH) {
- usleep(1000);
- continue;
- }
- perror("Failed to attach.");
- return false;
- }
-
- if (TestQuiescePid(pid)) {
- return true;
- }
-
- if (ptrace(PTRACE_DETACH, pid, 0, 0) == -1) {
- perror("Failed to detach.");
- }
- return false;
-}
-
-inline bool TestDetach(pid_t pid) {
- if (ptrace(PTRACE_DETACH, pid, 0, 0) == -1) {
- perror("ptrace detach failed");
- return false;
- }
- return true;
-}
-
void TestCheckForLeaks(void (*unwind_func)(void*), void* data);
void* GetTestLibHandle();