Merge changes from topic "meminfo-cleanups"
* changes: procmeminfo: use getline() instead of fgets() everywhere meminfo: test: delete SmapsOrRollupReturn test
This commit is contained in:
commit
3d8b4f5f44
2 changed files with 10 additions and 13 deletions
|
@ -293,15 +293,6 @@ TEST(TestProcMemInfo, IsSmapsSupportedTest) {
|
|||
EXPECT_EQ(supported, IsSmapsRollupSupported(-1));
|
||||
}
|
||||
|
||||
TEST(TestProcMemInfo, SmapsOrRollupReturn) {
|
||||
// if /proc/<pid>/smaps_rollup file exists, .SmapsRollup() must return true;
|
||||
// false otherwise
|
||||
std::string path = ::android::base::StringPrintf("/proc/%d/smaps_rollup", pid);
|
||||
ProcMemInfo proc_mem(pid);
|
||||
MemUsage stats;
|
||||
EXPECT_EQ(!access(path.c_str(), F_OK), proc_mem.SmapsOrRollup(&stats));
|
||||
}
|
||||
|
||||
TEST(TestProcMemInfo, SmapsOrRollupTest) {
|
||||
std::string rollup =
|
||||
R"rollup(12c00000-7fe859e000 ---p 00000000 00:00 0 [rollup]
|
||||
|
|
|
@ -406,9 +406,10 @@ bool SmapsOrRollupFromFile(const std::string& path, MemUsage* stats) {
|
|||
return false;
|
||||
}
|
||||
|
||||
char line[1024];
|
||||
char* line = nullptr;
|
||||
size_t line_alloc = 0;
|
||||
stats->clear();
|
||||
while (fgets(line, sizeof(line), fp.get()) != nullptr) {
|
||||
while (getline(&line, &line_alloc, fp.get()) > 0) {
|
||||
switch (line[0]) {
|
||||
case 'P':
|
||||
if (strncmp(line, "Pss:", 4) == 0) {
|
||||
|
@ -441,6 +442,8 @@ bool SmapsOrRollupFromFile(const std::string& path, MemUsage* stats) {
|
|||
}
|
||||
}
|
||||
|
||||
// free getline() managed buffer
|
||||
free(line);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -450,14 +453,17 @@ bool SmapsOrRollupPssFromFile(const std::string& path, uint64_t* pss) {
|
|||
return false;
|
||||
}
|
||||
*pss = 0;
|
||||
char line[1024];
|
||||
while (fgets(line, sizeof(line), fp.get()) != nullptr) {
|
||||
char* line = nullptr;
|
||||
size_t line_alloc = 0;
|
||||
while (getline(&line, &line_alloc, fp.get()) > 0) {
|
||||
uint64_t v;
|
||||
if (sscanf(line, "Pss: %" SCNu64 " kB", &v) == 1) {
|
||||
*pss += v;
|
||||
}
|
||||
}
|
||||
|
||||
// free getline() managed buffer
|
||||
free(line);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue