diff options
author | Xin Li <delphij@google.com> | 2020-09-10 17:22:01 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-09-10 17:22:01 +0000 |
commit | 8ac6741e47c76bde065f868ea64d2f04541487b9 (patch) | |
tree | 1a679458fdbd8d370692d56791e2bf83acee35b5 /cmds/statsd/tests/UidMap_test.cpp | |
parent | 3de940cc40b1e3fdf8224e18a8308a16768cbfa8 (diff) | |
parent | c64112eb974e9aa7638aead998f07a868acfb5a7 (diff) |
Merge "Merge Android R"
Diffstat (limited to 'cmds/statsd/tests/UidMap_test.cpp')
-rw-r--r-- | cmds/statsd/tests/UidMap_test.cpp | 80 |
1 files changed, 37 insertions, 43 deletions
diff --git a/cmds/statsd/tests/UidMap_test.cpp b/cmds/statsd/tests/UidMap_test.cpp index d9fa4e99d54d..293e8ed1c44c 100644 --- a/cmds/statsd/tests/UidMap_test.cpp +++ b/cmds/statsd/tests/UidMap_test.cpp @@ -18,7 +18,7 @@ #include "guardrail/StatsdStats.h" #include "logd/LogEvent.h" #include "hash.h" -#include "statslog.h" +#include "statslog_statsdtest.h" #include "statsd_test_util.h" #include <android/util/ProtoOutputStream.h> @@ -45,26 +45,20 @@ TEST(UidMapTest, TestIsolatedUID) { sp<AlarmMonitor> anomalyAlarmMonitor; sp<AlarmMonitor> subscriberAlarmMonitor; // Construct the processor with a dummy sendBroadcast function that does nothing. - StatsLogProcessor p(m, pullerManager, anomalyAlarmMonitor, subscriberAlarmMonitor, 0, - [](const ConfigKey& key) { return true; }, - [](const int&, const vector<int64_t>&) {return true;}); - LogEvent addEvent(android::util::ISOLATED_UID_CHANGED, 1); - addEvent.write(100); // parent UID - addEvent.write(101); // isolated UID - addEvent.write(1); // Indicates creation. - addEvent.init(); + StatsLogProcessor p( + m, pullerManager, anomalyAlarmMonitor, subscriberAlarmMonitor, 0, + [](const ConfigKey& key) { return true; }, + [](const int&, const vector<int64_t>&) { return true; }); + std::unique_ptr<LogEvent> addEvent = CreateIsolatedUidChangedEvent( + 1 /*timestamp*/, 100 /*hostUid*/, 101 /*isolatedUid*/, 1 /*is_create*/); EXPECT_EQ(101, m->getHostUidOrSelf(101)); - - p.OnLogEvent(&addEvent); + p.OnLogEvent(addEvent.get()); EXPECT_EQ(100, m->getHostUidOrSelf(101)); - LogEvent removeEvent(android::util::ISOLATED_UID_CHANGED, 1); - removeEvent.write(100); // parent UID - removeEvent.write(101); // isolated UID - removeEvent.write(0); // Indicates removal. - removeEvent.init(); - p.OnLogEvent(&removeEvent); + std::unique_ptr<LogEvent> removeEvent = CreateIsolatedUidChangedEvent( + 1 /*timestamp*/, 100 /*hostUid*/, 101 /*isolatedUid*/, 0 /*is_create*/); + p.OnLogEvent(removeEvent.get()); EXPECT_EQ(101, m->getHostUidOrSelf(101)); } @@ -92,7 +86,7 @@ TEST(UidMapTest, TestMatching) { EXPECT_FALSE(m.hasApp(1000, "not.app")); std::set<string> name_set = m.getAppNamesFromUid(1000u, true /* returnNormalized */); - EXPECT_EQ(name_set.size(), 2u); + ASSERT_EQ(name_set.size(), 2u); EXPECT_TRUE(name_set.find(kApp1) != name_set.end()); EXPECT_TRUE(name_set.find(kApp2) != name_set.end()); @@ -121,7 +115,7 @@ TEST(UidMapTest, TestAddAndRemove) { m.updateMap(1, uids, versions, versionStrings, apps, installers); std::set<string> name_set = m.getAppNamesFromUid(1000, true /* returnNormalized */); - EXPECT_EQ(name_set.size(), 2u); + ASSERT_EQ(name_set.size(), 2u); EXPECT_TRUE(name_set.find(kApp1) != name_set.end()); EXPECT_TRUE(name_set.find(kApp2) != name_set.end()); @@ -130,7 +124,7 @@ TEST(UidMapTest, TestAddAndRemove) { EXPECT_EQ(40, m.getAppVersion(1000, kApp1)); name_set = m.getAppNamesFromUid(1000, true /* returnNormalized */); - EXPECT_EQ(name_set.size(), 2u); + ASSERT_EQ(name_set.size(), 2u); EXPECT_TRUE(name_set.find(kApp1) != name_set.end()); EXPECT_TRUE(name_set.find(kApp2) != name_set.end()); @@ -138,7 +132,7 @@ TEST(UidMapTest, TestAddAndRemove) { EXPECT_FALSE(m.hasApp(1000, kApp1)); EXPECT_TRUE(m.hasApp(1000, kApp2)); name_set = m.getAppNamesFromUid(1000, true /* returnNormalized */); - EXPECT_EQ(name_set.size(), 1u); + ASSERT_EQ(name_set.size(), 1u); EXPECT_TRUE(name_set.find(kApp1) == name_set.end()); EXPECT_TRUE(name_set.find(kApp2) != name_set.end()); @@ -155,14 +149,14 @@ TEST(UidMapTest, TestUpdateApp) { m.updateMap(1, {1000, 1000}, {4, 5}, {String16("v4"), String16("v5")}, {String16(kApp1.c_str()), String16(kApp2.c_str())}, {String16(""), String16("")}); std::set<string> name_set = m.getAppNamesFromUid(1000, true /* returnNormalized */); - EXPECT_EQ(name_set.size(), 2u); + ASSERT_EQ(name_set.size(), 2u); EXPECT_TRUE(name_set.find(kApp1) != name_set.end()); EXPECT_TRUE(name_set.find(kApp2) != name_set.end()); // Adds a new name for uid 1000. m.updateApp(2, String16("NeW_aPP1_NAmE"), 1000, 40, String16("v40"), String16("")); name_set = m.getAppNamesFromUid(1000, true /* returnNormalized */); - EXPECT_EQ(name_set.size(), 3u); + ASSERT_EQ(name_set.size(), 3u); EXPECT_TRUE(name_set.find(kApp1) != name_set.end()); EXPECT_TRUE(name_set.find(kApp2) != name_set.end()); EXPECT_TRUE(name_set.find("NeW_aPP1_NAmE") == name_set.end()); @@ -171,7 +165,7 @@ TEST(UidMapTest, TestUpdateApp) { // This name is also reused by another uid 2000. m.updateApp(3, String16("NeW_aPP1_NAmE"), 2000, 1, String16("v1"), String16("")); name_set = m.getAppNamesFromUid(2000, true /* returnNormalized */); - EXPECT_EQ(name_set.size(), 1u); + ASSERT_EQ(name_set.size(), 1u); EXPECT_TRUE(name_set.find("NeW_aPP1_NAmE") == name_set.end()); EXPECT_TRUE(name_set.find("new_app1_name") != name_set.end()); } @@ -218,7 +212,7 @@ TEST(UidMapTest, TestOutputIncludesAtLeastOneSnapshot) { // Check there's still a uidmap attached this one. UidMapping results; protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(1, results.snapshots_size()); + ASSERT_EQ(1, results.snapshots_size()); EXPECT_EQ("v1", results.snapshots(0).package_info(0).version_string()); } @@ -246,7 +240,7 @@ TEST(UidMapTest, TestRemovedAppRetained) { // Snapshot should still contain this item as deleted. UidMapping results; protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(1, results.snapshots(0).package_info_size()); + ASSERT_EQ(1, results.snapshots(0).package_info_size()); EXPECT_EQ(true, results.snapshots(0).package_info(0).deleted()); } @@ -275,7 +269,7 @@ TEST(UidMapTest, TestRemovedAppOverGuardrail) { ProtoOutputStream proto; m.appendUidMap(3, config1, nullptr, true, true, &proto); protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(maxDeletedApps + 10, results.snapshots(0).package_info_size()); + ASSERT_EQ(maxDeletedApps + 10, results.snapshots(0).package_info_size()); // Now remove all the apps. m.updateMap(1, uids, versions, versionStrings, apps, installers); @@ -287,7 +281,7 @@ TEST(UidMapTest, TestRemovedAppOverGuardrail) { m.appendUidMap(5, config1, nullptr, true, true, &proto); // Snapshot drops the first nine items. protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(maxDeletedApps, results.snapshots(0).package_info_size()); + ASSERT_EQ(maxDeletedApps, results.snapshots(0).package_info_size()); } TEST(UidMapTest, TestClearingOutput) { @@ -319,44 +313,44 @@ TEST(UidMapTest, TestClearingOutput) { m.appendUidMap(2, config1, nullptr, true, true, &proto); UidMapping results; protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(1, results.snapshots_size()); + ASSERT_EQ(1, results.snapshots_size()); // We have to keep at least one snapshot in memory at all times. proto.clear(); m.appendUidMap(2, config1, nullptr, true, true, &proto); protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(1, results.snapshots_size()); + ASSERT_EQ(1, results.snapshots_size()); // Now add another configuration. m.OnConfigUpdated(config2); m.updateApp(5, String16(kApp1.c_str()), 1000, 40, String16("v40"), String16("")); - EXPECT_EQ(1U, m.mChanges.size()); + ASSERT_EQ(1U, m.mChanges.size()); proto.clear(); m.appendUidMap(6, config1, nullptr, true, true, &proto); protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(1, results.snapshots_size()); - EXPECT_EQ(1, results.changes_size()); - EXPECT_EQ(1U, m.mChanges.size()); + ASSERT_EQ(1, results.snapshots_size()); + ASSERT_EQ(1, results.changes_size()); + ASSERT_EQ(1U, m.mChanges.size()); // Add another delta update. m.updateApp(7, String16(kApp2.c_str()), 1001, 41, String16("v41"), String16("")); - EXPECT_EQ(2U, m.mChanges.size()); + ASSERT_EQ(2U, m.mChanges.size()); // We still can't remove anything. proto.clear(); m.appendUidMap(8, config1, nullptr, true, true, &proto); protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(1, results.snapshots_size()); - EXPECT_EQ(1, results.changes_size()); - EXPECT_EQ(2U, m.mChanges.size()); + ASSERT_EQ(1, results.snapshots_size()); + ASSERT_EQ(1, results.changes_size()); + ASSERT_EQ(2U, m.mChanges.size()); proto.clear(); m.appendUidMap(9, config2, nullptr, true, true, &proto); protoOutputStreamToUidMapping(&proto, &results); - EXPECT_EQ(1, results.snapshots_size()); - EXPECT_EQ(2, results.changes_size()); + ASSERT_EQ(1, results.snapshots_size()); + ASSERT_EQ(2, results.changes_size()); // At this point both should be cleared. - EXPECT_EQ(0U, m.mChanges.size()); + ASSERT_EQ(0U, m.mChanges.size()); } TEST(UidMapTest, TestMemoryComputed) { @@ -414,13 +408,13 @@ TEST(UidMapTest, TestMemoryGuardrail) { m.updateApp(3, String16("EXTREMELY_LONG_STRING_FOR_APP_TO_WASTE_MEMORY.0"), 1000, 2, String16("v2"), String16("")); - EXPECT_EQ(1U, m.mChanges.size()); + ASSERT_EQ(1U, m.mChanges.size()); // Now force deletion by limiting the memory to hold one delta change. m.maxBytesOverride = 120; // Since the app string alone requires >45 characters. m.updateApp(5, String16("EXTREMELY_LONG_STRING_FOR_APP_TO_WASTE_MEMORY.0"), 1000, 4, String16("v4"), String16("")); - EXPECT_EQ(1U, m.mChanges.size()); + ASSERT_EQ(1U, m.mChanges.size()); } #else |