summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2023-08-05 00:53:28 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-08-05 00:53:28 +0000
commitba1165bfdeb382063d9490cd62e369d308dca370 (patch)
treecd14d6ed881675e48b7f32ecedba311be13d099c
parenteffe65703f8ad7568e3718605094effee778b904 (diff)
parent6b816667d4397c7dd1632776862b731b73b724de (diff)
downloadgtest_extras-ba1165bfdeb382063d9490cd62e369d308dca370.tar.gz
Original change: https://android-review.googlesource.com/c/platform/system/testing/gtest_extras/+/2695208 Change-Id: I74ba80b027a8943dd08cd9a8c74ac7696dace16e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--IsolateMain.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/IsolateMain.cpp b/IsolateMain.cpp
index 77db51b..853d7e4 100644
--- a/IsolateMain.cpp
+++ b/IsolateMain.cpp
@@ -110,9 +110,17 @@ static bool RunInIsolationMode(std::vector<const char*>& args) {
// just a QOL thing so it's fine if we are wrong.
if ((len = TEMP_FAILURE_RETRY(readlink(exe_path.c_str(), buf, sizeof(buf) - 1))) > 0) {
buf[len] = '\0';
- std::string_view file(basename(buf));
- return file != "gdb" && file != "gdbserver" && file != "gdbserver64" &&
- file != "gdbserver32" && file != "lldb" && file != "lldb-server";
+ static std::set<std::string_view> debuggers{"gdb",
+ "gdbserver",
+ "gdbserver64",
+ "lldb",
+ "lldb-server",
+ "arm-lldb-server",
+ "arm64-lldb-server",
+ "riscv64-lldb-server",
+ "x86-lldb-server",
+ "x86_64-lldb-server"};
+ return debuggers.find(basename(buf)) == debuggers.end();
}
// If we can't figure out what our parent was just assume we are fine to isolate.
}