From 88b48f7b18a259a894e2d6644af316cb3046e2b8 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Fri, 8 Dec 2017 12:19:44 -0800 Subject: [PATCH] Make sure at least XX maps are created. Rather than expect exactly one set of maps, make sure there are at least XX number of maps. Test: Ran the 32 bit and 64 bit variants of the benchmarks. Change-Id: I34184eab3810e92e7f246aa810ddb18fab443c9a --- libbacktrace/backtrace_benchmarks.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libbacktrace/backtrace_benchmarks.cpp b/libbacktrace/backtrace_benchmarks.cpp index bb4134fec..a23e3b44c 100644 --- a/libbacktrace/backtrace_benchmarks.cpp +++ b/libbacktrace/backtrace_benchmarks.cpp @@ -103,8 +103,9 @@ static void CreateMap(benchmark::State& state, BacktraceMap* (*map_func)(pid_t, exit(1); } - if (num_maps != kNumMaps) { - fprintf(stderr, "Maps set incorrectly: %zu found, %zu expected.\n", num_maps, kNumMaps); + if (num_maps < kNumMaps) { + fprintf(stderr, "Maps set incorrectly: %zu found, %zu expected at least.\n", num_maps, + kNumMaps); std::string str; android::base::ReadFileToString("/proc/self/maps", &str); fprintf(stderr, "%s\n", str.c_str()); @@ -121,12 +122,12 @@ static void CreateMap(benchmark::State& state, BacktraceMap* (*map_func)(pid_t, size_t num_maps = 0; for (size_t i = 0; i < 2000; i++) { - if (CountMaps(pid, &num_maps) && num_maps == kNumMaps) { + if (CountMaps(pid, &num_maps) && num_maps >= kNumMaps) { break; } usleep(1000); } - if (num_maps != kNumMaps) { + if (num_maps < kNumMaps) { fprintf(stderr, "Timed out waiting for the number of maps available: %zu\n", num_maps); return; }