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
This commit is contained in:
parent
a4a9a81d38
commit
88b48f7b18
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue