| Index: metrics_daemon_test.cc
|
| diff --git a/metrics_daemon_test.cc b/metrics_daemon_test.cc
|
| index 208d8e5bffae1cb6fa2c23a1bbf6df36794e1f03..476bf1cca6ef02fd0ef90ce68f8f9cd0b0a2a726 100644
|
| --- a/metrics_daemon_test.cc
|
| +++ b/metrics_daemon_test.cc
|
| @@ -27,6 +27,7 @@ using std::vector;
|
| using ::testing::_;
|
| using ::testing::Return;
|
| using ::testing::StrictMock;
|
| +using ::testing::AtLeast;
|
|
|
| static const int kSecondsPerDay = 24 * 60 * 60;
|
|
|
| @@ -578,6 +579,66 @@ TEST_F(MetricsDaemonTest, ReportDiskStats) {
|
| EXPECT_TRUE(ds_state != daemon_.diskstats_state_);
|
| }
|
|
|
| +TEST_F(MetricsDaemonTest, ProcessMeminfo) {
|
| + const char* meminfo = "\
|
| +MemTotal: 2000000 kB\n\
|
| +MemFree: 1000000 kB\n\
|
| +Buffers: 10492 kB\n\
|
| +Cached: 213652 kB\n\
|
| +SwapCached: 0 kB\n\
|
| +Active: 133400 kB\n\
|
| +Inactive: 183396 kB\n\
|
| +Active(anon): 92984 kB\n\
|
| +Inactive(anon): 58860 kB\n\
|
| +Active(file): 40416 kB\n\
|
| +Inactive(file): 124536 kB\n\
|
| +Unevictable: 0 kB\n\
|
| +Mlocked: 0 kB\n\
|
| +SwapTotal: 0 kB\n\
|
| +SwapFree: 0 kB\n\
|
| +Dirty: 40 kB\n\
|
| +Writeback: 0 kB\n\
|
| +AnonPages: 92652 kB\n\
|
| +Mapped: 59716 kB\n\
|
| +Shmem: 59196 kB\n\
|
| +Slab: 16656 kB\n\
|
| +SReclaimable: 6132 kB\n\
|
| +SUnreclaim: 10524 kB\n\
|
| +KernelStack: 1648 kB\n\
|
| +PageTables: 2780 kB\n\
|
| +NFS_Unstable: 0 kB\n\
|
| +Bounce: 0 kB\n\
|
| +WritebackTmp: 0 kB\n\
|
| +CommitLimit: 970656 kB\n\
|
| +Committed_AS: 1260528 kB\n\
|
| +VmallocTotal: 122880 kB\n\
|
| +VmallocUsed: 12144 kB\n\
|
| +VmallocChunk: 103824 kB\n\
|
| +DirectMap4k: 9636 kB\n\
|
| +DirectMap2M: 1955840 kB\n\
|
| +";
|
| + EXPECT_CALL(metrics_lib_, SendEnumToUMA(_, _, 100))
|
| + .Times(AtLeast(1));
|
| + EXPECT_CALL(metrics_lib_, SendToUMA(_, _, _, _, _))
|
| + .Times(AtLeast(1));
|
| + EXPECT_CALL(metrics_lib_, SendToUMA("NFS_Unstable", _, _, _, _))
|
| + .Times(0);
|
| + EXPECT_CALL(metrics_lib_, SendEnumToUMA("NFS_Unstable", _, _))
|
| + .Times(0);
|
| + EXPECT_TRUE(daemon_.ProcessMeminfo(meminfo));
|
| +}
|
| +
|
| +TEST_F(MetricsDaemonTest, ProcessMeminfo2) {
|
| + const char* meminfo = "\
|
| +MemTotal: 2000000 kB\n\
|
| +MemFree: 1000000 kB\n\
|
| +";
|
| + /* Not enough fields */
|
| + EXPECT_CALL(metrics_lib_, SendEnumToUMA(_, 50, 100))
|
| + .Times(1);
|
| + EXPECT_FALSE(daemon_.ProcessMeminfo(meminfo));
|
| +}
|
| +
|
| int main(int argc, char** argv) {
|
| testing::InitGoogleTest(&argc, argv);
|
| return RUN_ALL_TESTS();
|
|
|