Loading services/gpuservice/tests/unittests/GpuMemTest.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -57,11 +57,16 @@ public: } void SetUp() override { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_EQ(0, bpf::setrlimitForTest()); mGpuMem = std::make_unique<GpuMem>(); mTestableGpuMem = TestableGpuMem(mGpuMem.get()); errno = 0; mTestMap = bpf::BpfMap<uint64_t, uint64_t>(BPF_MAP_TYPE_HASH, TEST_MAP_SIZE, BPF_F_NO_PREALLOC); EXPECT_EQ(0, errno); EXPECT_LE(0, mTestMap.getMap().get()); EXPECT_TRUE(mTestMap.isValid()); } Loading @@ -79,6 +84,8 @@ public: }; TEST_F(GpuMemTest, validGpuMemTotalBpfPaths) { SKIP_IF_BPF_NOT_SUPPORTED; EXPECT_EQ(mTestableGpuMem.getGpuMemTraceGroup(), "gpu_mem"); EXPECT_EQ(mTestableGpuMem.getGpuMemTotalTracepoint(), "gpu_mem_total"); EXPECT_EQ(mTestableGpuMem.getGpuMemTotalProgPath(), Loading @@ -87,16 +94,20 @@ TEST_F(GpuMemTest, validGpuMemTotalBpfPaths) { } TEST_F(GpuMemTest, bpfInitializationFailed) { SKIP_IF_BPF_NOT_SUPPORTED; EXPECT_EQ(dumpsys(), "Failed to initialize GPU memory eBPF\n"); } TEST_F(GpuMemTest, gpuMemTotalMapEmpty) { SKIP_IF_BPF_NOT_SUPPORTED; mTestableGpuMem.setGpuMemTotalMap(mTestMap); EXPECT_EQ(dumpsys(), "GPU memory total usage map is empty\n"); } TEST_F(GpuMemTest, globalMemTotal) { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_RESULT_OK(mTestMap.writeValue(TEST_GLOBAL_KEY, TEST_GLOBAL_VAL, BPF_ANY)); mTestableGpuMem.setGpuMemTotalMap(mTestMap); Loading @@ -104,6 +115,7 @@ TEST_F(GpuMemTest, globalMemTotal) { } TEST_F(GpuMemTest, missingGlobalMemTotal) { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_RESULT_OK(mTestMap.writeValue(TEST_PROC_KEY_1, TEST_PROC_VAL_1, BPF_ANY)); mTestableGpuMem.setGpuMemTotalMap(mTestMap); Loading @@ -111,6 +123,7 @@ TEST_F(GpuMemTest, missingGlobalMemTotal) { } TEST_F(GpuMemTest, procMemTotal) { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_RESULT_OK(mTestMap.writeValue(TEST_PROC_KEY_1, TEST_PROC_VAL_1, BPF_ANY)); ASSERT_RESULT_OK(mTestMap.writeValue(TEST_PROC_KEY_2, TEST_PROC_VAL_2, BPF_ANY)); mTestableGpuMem.setGpuMemTotalMap(mTestMap); Loading Loading
services/gpuservice/tests/unittests/GpuMemTest.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -57,11 +57,16 @@ public: } void SetUp() override { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_EQ(0, bpf::setrlimitForTest()); mGpuMem = std::make_unique<GpuMem>(); mTestableGpuMem = TestableGpuMem(mGpuMem.get()); errno = 0; mTestMap = bpf::BpfMap<uint64_t, uint64_t>(BPF_MAP_TYPE_HASH, TEST_MAP_SIZE, BPF_F_NO_PREALLOC); EXPECT_EQ(0, errno); EXPECT_LE(0, mTestMap.getMap().get()); EXPECT_TRUE(mTestMap.isValid()); } Loading @@ -79,6 +84,8 @@ public: }; TEST_F(GpuMemTest, validGpuMemTotalBpfPaths) { SKIP_IF_BPF_NOT_SUPPORTED; EXPECT_EQ(mTestableGpuMem.getGpuMemTraceGroup(), "gpu_mem"); EXPECT_EQ(mTestableGpuMem.getGpuMemTotalTracepoint(), "gpu_mem_total"); EXPECT_EQ(mTestableGpuMem.getGpuMemTotalProgPath(), Loading @@ -87,16 +94,20 @@ TEST_F(GpuMemTest, validGpuMemTotalBpfPaths) { } TEST_F(GpuMemTest, bpfInitializationFailed) { SKIP_IF_BPF_NOT_SUPPORTED; EXPECT_EQ(dumpsys(), "Failed to initialize GPU memory eBPF\n"); } TEST_F(GpuMemTest, gpuMemTotalMapEmpty) { SKIP_IF_BPF_NOT_SUPPORTED; mTestableGpuMem.setGpuMemTotalMap(mTestMap); EXPECT_EQ(dumpsys(), "GPU memory total usage map is empty\n"); } TEST_F(GpuMemTest, globalMemTotal) { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_RESULT_OK(mTestMap.writeValue(TEST_GLOBAL_KEY, TEST_GLOBAL_VAL, BPF_ANY)); mTestableGpuMem.setGpuMemTotalMap(mTestMap); Loading @@ -104,6 +115,7 @@ TEST_F(GpuMemTest, globalMemTotal) { } TEST_F(GpuMemTest, missingGlobalMemTotal) { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_RESULT_OK(mTestMap.writeValue(TEST_PROC_KEY_1, TEST_PROC_VAL_1, BPF_ANY)); mTestableGpuMem.setGpuMemTotalMap(mTestMap); Loading @@ -111,6 +123,7 @@ TEST_F(GpuMemTest, missingGlobalMemTotal) { } TEST_F(GpuMemTest, procMemTotal) { SKIP_IF_BPF_NOT_SUPPORTED; ASSERT_RESULT_OK(mTestMap.writeValue(TEST_PROC_KEY_1, TEST_PROC_VAL_1, BPF_ANY)); ASSERT_RESULT_OK(mTestMap.writeValue(TEST_PROC_KEY_2, TEST_PROC_VAL_2, BPF_ANY)); mTestableGpuMem.setGpuMemTotalMap(mTestMap); Loading