summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Connor O'Brien <connoro@google.com> 2020-06-10 15:18:02 -0700
committer Connor O'Brien <connoro@google.com> 2020-06-10 16:44:01 -0700
commitf6d0d2c115078afa7e2fea9ed8e857570c01a03c (patch)
tree5063c1c7bc3c5a06649a86651343b9e66466833e
parentb3bd77fcbeb29d5fa56f071abe7cf4cb3b7b8662 (diff)
KernelCpuUidBpfMapReaderTest: test UID removal with absent UIDs
The original implementation of KernelCpuUidBpfMapReader.removeUidsInRange did not work unless data was present for the first & last UIDs in the range. Add a test case to verify the fix for this issue & prevent regressions Test: confirm test passes with fix & fails without it Bug: 157887803 Change-Id: Icfabb7298dbfb1a7f1b89dadbe33bae0492922b6 Signed-off-by: Connor O'Brien <connoro@google.com>
-rw-r--r--core/tests/coretests/src/com/android/internal/os/KernelCpuUidBpfMapReaderTest.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/tests/coretests/src/com/android/internal/os/KernelCpuUidBpfMapReaderTest.java b/core/tests/coretests/src/com/android/internal/os/KernelCpuUidBpfMapReaderTest.java
index 257b388917e4..bda21c61375e 100644
--- a/core/tests/coretests/src/com/android/internal/os/KernelCpuUidBpfMapReaderTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/KernelCpuUidBpfMapReaderTest.java
@@ -179,6 +179,21 @@ public class KernelCpuUidBpfMapReaderTest {
testOpenAndReadData(changedData);
}
+ @Test
+ public void testRemoveUidsInRange_firstAndLastAbsent() {
+ final SparseArray<long[]> data = getTestSparseArray(200, 50);
+ data.delete(0);
+ data.delete(5);
+ mReader.setData(data);
+ testOpenAndReadData(data);
+ SparseArray<long[]> changedData = new SparseArray<>();
+ for (int i = 6; i < 200; i++) {
+ changedData.put(i, data.get(i));
+ }
+ mReader.removeUidsInRange(0, 5);
+ testOpenAndReadData(changedData);
+ }
+
private void testOpenAndReadData(SparseArray<long[]> expectedData) {
try (BpfMapIterator iter = mReader.open()) {
long[] actual;