diff --git a/debuggerd/client/debuggerd_client_test.cpp b/debuggerd/client/debuggerd_client_test.cpp index 8420f038f..9c2f0d632 100644 --- a/debuggerd/client/debuggerd_client_test.cpp +++ b/debuggerd/client/debuggerd_client_test.cpp @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -36,8 +37,20 @@ using namespace std::chrono_literals; using android::base::unique_fd; +static int getThreadCount() { + int threadCount = 1024; + std::vector characteristics = + android::base::Split(android::base::GetProperty("ro.build.characteristics", ""), ","); + if (std::find(characteristics.begin(), characteristics.end(), "embedded") + != characteristics.end()) { + // 128 is the realistic number for iot devices. + threadCount = 128; + } + return threadCount; +} + TEST(debuggerd_client, race) { - static constexpr int THREAD_COUNT = 1024; + static int THREAD_COUNT = getThreadCount(); pid_t forkpid = fork(); ASSERT_NE(-1, forkpid);