summaryrefslogtreecommitdiff
path: root/libunwindstack/tests/TestUtils.h
diff options
context:
space:
mode:
Diffstat (limited to 'libunwindstack/tests/TestUtils.h')
-rw-r--r--libunwindstack/tests/TestUtils.h65
1 files changed, 2 insertions, 63 deletions
diff --git a/libunwindstack/tests/TestUtils.h b/libunwindstack/tests/TestUtils.h
index 44b4e75..19cd693 100644
--- a/libunwindstack/tests/TestUtils.h
+++ b/libunwindstack/tests/TestUtils.h
@@ -14,15 +14,12 @@
* limitations under the License.
*/
-#ifndef _LIBUNWINDSTACK_TESTS_TEST_UTILS_H
-#define _LIBUNWINDSTACK_TESTS_TEST_UTILS_H
+#pragma once
-#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 +35,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();
@@ -106,5 +47,3 @@ static inline void DoNotOptimize(Tp const& value) {
}
} // namespace unwindstack
-
-#endif // _LIBUNWINDSTACK_TESTS_TEST_UTILS_H