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

Commit d5076451 authored by Christopher Ferris's avatar Christopher Ferris Committed by Automerger Merge Worker
Browse files

Merge "Don't hard-code number of tombstones." am: a4807cba

Original change: https://android-review.googlesource.com/c/platform/system/core/+/1592919

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Id576656c9bc9c3434b9feca7320e04fc2d500b13
parents f14403b8 a4807cba
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
 * limitations under the License.
 */

#include <dirent.h>
#include <err.h>
#include <fcntl.h>
#include <malloc.h>
@@ -1444,9 +1445,16 @@ TEST(tombstoned, proto) {
  std::this_thread::sleep_for(100ms);

  // Find the tombstone.
  std::optional<int> tombstone_index;
  for (int i = 0; i < 50; ++i) {
    std::string path = android::base::StringPrintf("/data/tombstones/tombstone_%02d", i);
  std::optional<std::string> tombstone_file;
  std::unique_ptr<DIR, decltype(&closedir)> dir_h(opendir("/data/tombstones"), closedir);
  ASSERT_TRUE(dir_h != nullptr);
  std::regex tombstone_re("tombstone_\\d+");
  dirent* entry;
  while ((entry = readdir(dir_h.get())) != nullptr) {
    if (!std::regex_match(entry->d_name, tombstone_re)) {
      continue;
    }
    std::string path = android::base::StringPrintf("/data/tombstones/%s", entry->d_name);

    struct stat st;
    if (TEMP_FAILURE_RETRY(stat(path.c_str(), &st)) != 0) {
@@ -1454,14 +1462,13 @@ TEST(tombstoned, proto) {
    }

    if (st.st_dev == text_st.st_dev && st.st_ino == text_st.st_ino) {
      tombstone_index = i;
      tombstone_file = path;
      break;
    }
  }

  ASSERT_TRUE(tombstone_index);
  std::string proto_path =
      android::base::StringPrintf("/data/tombstones/tombstone_%02d.pb", *tombstone_index);
  ASSERT_TRUE(tombstone_file);
  std::string proto_path = tombstone_file.value() + ".pb";

  struct stat proto_fd_st;
  struct stat proto_file_st;