diff options
| author | 2020-06-10 15:18:02 -0700 | |
|---|---|---|
| committer | 2020-06-10 16:44:01 -0700 | |
| commit | f6d0d2c115078afa7e2fea9ed8e857570c01a03c (patch) | |
| tree | 5063c1c7bc3c5a06649a86651343b9e66466833e | |
| parent | b3bd77fcbeb29d5fa56f071abe7cf4cb3b7b8662 (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.java | 15 |
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; |