summaryrefslogtreecommitdiff
path: root/cmds/statsd/tests/UidMap_test.cpp
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2020-09-10 17:22:01 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-09-10 17:22:01 +0000
commit8ac6741e47c76bde065f868ea64d2f04541487b9 (patch)
tree1a679458fdbd8d370692d56791e2bf83acee35b5 /cmds/statsd/tests/UidMap_test.cpp
parent3de940cc40b1e3fdf8224e18a8308a16768cbfa8 (diff)
parentc64112eb974e9aa7638aead998f07a868acfb5a7 (diff)
Merge "Merge Android R"
Diffstat (limited to 'cmds/statsd/tests/UidMap_test.cpp')
-rw-r--r--cmds/statsd/tests/UidMap_test.cpp80
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