Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cde2b524 authored by Jaesung Chung's avatar Jaesung Chung
Browse files

crash_dump: lower THREAD_COUNT in debuggerd_client.race for low-speed devices

The debuggerd_client.race tests the crash_dump process to finalize the
killed process within 2 seconds. The 2 seconds timeout for finalizing a
process, which has 1024 threads, is bit small for low-speed devices.
This CL lowers the bar in order to make such devices pass the test.
Wraping up 128 threads within 2 seconds looks safe.

Bug: 62600479
Test: debuggerd_test passes on low-speed devices.
Change-Id: I3089415961422e6933405d2c872913273425caff
parent 72ca5035
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include <gtest/gtest.h>

#include <android-base/file.h>
#include <android-base/properties.h>
#include <android-base/stringprintf.h>
#include <android-base/strings.h>
#include <android-base/unique_fd.h>
@@ -36,8 +37,20 @@
using namespace std::chrono_literals;
using android::base::unique_fd;

static int getThreadCount() {
  int threadCount = 1024;
  std::vector<std::string> 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);