Don't return error when uid entry don't exsit
When query per uid stats, do not return error if that uid does not have
any uid stats entry in AppUidStatsMap. It might be that uid doesn't
generate any traffic at all.
Bug: 124764595
Test: android.net.cts.TrafficStatsTest with wifi and data off.
libnetdbpf_test
Change-Id: Ibe986e2d6ab362868c6b7b63b059111af0b5706f
diff --git a/libnetdbpf/BpfNetworkStatsTest.cpp b/libnetdbpf/BpfNetworkStatsTest.cpp
index 8f95787..9ebe11f 100644
--- a/libnetdbpf/BpfNetworkStatsTest.cpp
+++ b/libnetdbpf/BpfNetworkStatsTest.cpp
@@ -196,6 +196,20 @@
EXPECT_EQ(1 + 2 + 3 + 4 + 5, totalSum);
}
+TEST_F(BpfNetworkStatsHelperTest, TestUidStatsNoTraffic) {
+ SKIP_IF_BPF_NOT_SUPPORTED;
+
+ StatsValue value1 = {
+ .rxBytes = 0,
+ .rxPackets = 0,
+ .txBytes = 0,
+ .txPackets = 0,
+ };
+ Stats result1 = {};
+ ASSERT_EQ(0, bpfGetUidStatsInternal(TEST_UID1, &result1, mFakeAppUidStatsMap));
+ expectStatsEqual(value1, result1);
+}
+
TEST_F(BpfNetworkStatsHelperTest, TestGetUidStatsTotal) {
SKIP_IF_BPF_NOT_SUPPORTED;