Loading cmds/statsd/src/atoms.proto +2 −2 Original line number Diff line number Diff line Loading @@ -454,9 +454,9 @@ message Atom { BluetoothActivityInfo bluetooth_activity_info = 10007 [(module) = "framework"]; ProcessMemoryState process_memory_state = 10013 [(module) = "framework"]; SystemElapsedRealtime system_elapsed_realtime = 10014 [(module) = "framework"]; SystemUptime system_uptime = 10015 [(module) = "framework", (module) = "statsdtest"]; SystemUptime system_uptime = 10015 [(module) = "framework"]; CpuActiveTime cpu_active_time = 10016 [(module) = "framework", (module) = "statsdtest"]; CpuClusterTime cpu_cluster_time = 10017 [(module) = "framework", (module) = "statsdtest"]; CpuClusterTime cpu_cluster_time = 10017 [(module) = "framework"]; DiskSpace disk_space = 10018 [deprecated=true, (module) = "statsdtest"]; RemainingBatteryCapacity remaining_battery_capacity = 10019 [(module) = "framework"]; FullBatteryCapacity full_battery_capacity = 10020 [(module) = "framework"]; Loading cmds/statsd/tests/StatsLogProcessor_test.cpp +105 −0 Original line number Diff line number Diff line Loading @@ -1691,6 +1691,111 @@ TEST(StatsLogProcessorTest, TestActivationsPersistAcrossSystemServerRestart) { &buffer); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogHostUid) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeUidLogEvent(atomId, eventTimeNs, hostUid, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(3, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ(field1, actualFieldValues->at(1).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(2).mValue.int_value); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogIsolatedUid) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeUidLogEvent(atomId, eventTimeNs, isolatedUid, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(3, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ(field1, actualFieldValues->at(1).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(2).mValue.int_value); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogHostUidAttributionChain) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeAttributionLogEvent(atomId, eventTimeNs, {hostUid, 200}, {"tag1", "tag2"}, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(6, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ("tag1", actualFieldValues->at(1).mValue.str_value); EXPECT_EQ(200, actualFieldValues->at(2).mValue.int_value); EXPECT_EQ("tag2", actualFieldValues->at(3).mValue.str_value); EXPECT_EQ(field1, actualFieldValues->at(4).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(5).mValue.int_value); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogIsolatedUidAttributionChain) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeAttributionLogEvent(atomId, eventTimeNs, {isolatedUid, 200}, {"tag1", "tag2"}, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(6, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ("tag1", actualFieldValues->at(1).mValue.str_value); EXPECT_EQ(200, actualFieldValues->at(2).mValue.int_value); EXPECT_EQ("tag2", actualFieldValues->at(3).mValue.str_value); EXPECT_EQ(field1, actualFieldValues->at(4).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(5).mValue.int_value); } #else GTEST_LOG_(INFO) << "This test does nothing.\n"; #endif Loading cmds/statsd/tests/anomaly/AnomalyTracker_test.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -13,13 +13,15 @@ // limitations under the License. #include "src/anomaly/AnomalyTracker.h" #include "../metrics/metrics_test_helper.h" #include <gtest/gtest.h> #include <math.h> #include <stdio.h> #include <vector> #include "tests/statsd_test_util.h" using namespace testing; using android::sp; using std::set; Loading Loading
cmds/statsd/src/atoms.proto +2 −2 Original line number Diff line number Diff line Loading @@ -454,9 +454,9 @@ message Atom { BluetoothActivityInfo bluetooth_activity_info = 10007 [(module) = "framework"]; ProcessMemoryState process_memory_state = 10013 [(module) = "framework"]; SystemElapsedRealtime system_elapsed_realtime = 10014 [(module) = "framework"]; SystemUptime system_uptime = 10015 [(module) = "framework", (module) = "statsdtest"]; SystemUptime system_uptime = 10015 [(module) = "framework"]; CpuActiveTime cpu_active_time = 10016 [(module) = "framework", (module) = "statsdtest"]; CpuClusterTime cpu_cluster_time = 10017 [(module) = "framework", (module) = "statsdtest"]; CpuClusterTime cpu_cluster_time = 10017 [(module) = "framework"]; DiskSpace disk_space = 10018 [deprecated=true, (module) = "statsdtest"]; RemainingBatteryCapacity remaining_battery_capacity = 10019 [(module) = "framework"]; FullBatteryCapacity full_battery_capacity = 10020 [(module) = "framework"]; Loading
cmds/statsd/tests/StatsLogProcessor_test.cpp +105 −0 Original line number Diff line number Diff line Loading @@ -1691,6 +1691,111 @@ TEST(StatsLogProcessorTest, TestActivationsPersistAcrossSystemServerRestart) { &buffer); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogHostUid) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeUidLogEvent(atomId, eventTimeNs, hostUid, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(3, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ(field1, actualFieldValues->at(1).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(2).mValue.int_value); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogIsolatedUid) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeUidLogEvent(atomId, eventTimeNs, isolatedUid, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(3, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ(field1, actualFieldValues->at(1).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(2).mValue.int_value); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogHostUidAttributionChain) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeAttributionLogEvent(atomId, eventTimeNs, {hostUid, 200}, {"tag1", "tag2"}, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(6, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ("tag1", actualFieldValues->at(1).mValue.str_value); EXPECT_EQ(200, actualFieldValues->at(2).mValue.int_value); EXPECT_EQ("tag2", actualFieldValues->at(3).mValue.str_value); EXPECT_EQ(field1, actualFieldValues->at(4).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(5).mValue.int_value); } TEST(StatsLogProcessorTest_mapIsolatedUidToHostUid, LogIsolatedUidAttributionChain) { int hostUid = 20; int isolatedUid = 30; uint64_t eventTimeNs = 12355; int atomId = 89; int field1 = 90; int field2 = 28; sp<MockUidMap> mockUidMap = makeMockUidMapForOneHost(hostUid, {isolatedUid}); ConfigKey cfgKey; StatsdConfig config = MakeConfig(false); sp<StatsLogProcessor> processor = CreateStatsLogProcessor(1, 1, config, cfgKey, nullptr, 0, mockUidMap); shared_ptr<LogEvent> logEvent = makeAttributionLogEvent(atomId, eventTimeNs, {isolatedUid, 200}, {"tag1", "tag2"}, field1, field2); processor->OnLogEvent(logEvent.get()); const vector<FieldValue>* actualFieldValues = &logEvent->getValues(); EXPECT_EQ(6, actualFieldValues->size()); EXPECT_EQ(hostUid, actualFieldValues->at(0).mValue.int_value); EXPECT_EQ("tag1", actualFieldValues->at(1).mValue.str_value); EXPECT_EQ(200, actualFieldValues->at(2).mValue.int_value); EXPECT_EQ("tag2", actualFieldValues->at(3).mValue.str_value); EXPECT_EQ(field1, actualFieldValues->at(4).mValue.int_value); EXPECT_EQ(field2, actualFieldValues->at(5).mValue.int_value); } #else GTEST_LOG_(INFO) << "This test does nothing.\n"; #endif Loading
cmds/statsd/tests/anomaly/AnomalyTracker_test.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -13,13 +13,15 @@ // limitations under the License. #include "src/anomaly/AnomalyTracker.h" #include "../metrics/metrics_test_helper.h" #include <gtest/gtest.h> #include <math.h> #include <stdio.h> #include <vector> #include "tests/statsd_test_util.h" using namespace testing; using android::sp; using std::set; Loading