diff options
| author | Christopher Ferris <cferris1000@users.noreply.github.com> | 2025-11-17 15:25:33 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-17 15:25:33 -0800 |
| commit | 7a14ef0293ba8eb6942118e560b8bb7208822291 (patch) | |
| tree | 55e7039e34a0e22bbfb27ad9819e71095ccfa33a /compiler-rt | |
| parent | 5cf5eb7714ea4d2a9a7775c1a054b9ea6556b78b (diff) | |
[scudo] Skip test if mlock fails. (#168448)
Some linux versions might not support the mlock call, so skip that part
of the test if the mlock fails.
Diffstat (limited to 'compiler-rt')
| -rw-r--r-- | compiler-rt/lib/scudo/standalone/tests/map_test.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/compiler-rt/lib/scudo/standalone/tests/map_test.cpp b/compiler-rt/lib/scudo/standalone/tests/map_test.cpp index afdfe5be85fb..9d1a35c44679 100644 --- a/compiler-rt/lib/scudo/standalone/tests/map_test.cpp +++ b/compiler-rt/lib/scudo/standalone/tests/map_test.cpp @@ -120,17 +120,17 @@ TEST(ScudoMapTest, Zeroing) { #if SCUDO_LINUX // Now verify that if madvise fails, the data is still zeroed. memset(Data, 1U, MemMap.getCapacity()); - EXPECT_NE(-1, mlock(Data, MemMap.getCapacity())); - - EXPECT_EQ(1U, Data[0]); - EXPECT_EQ(1U, Data[PageSize]); - EXPECT_EQ(1U, Data[PageSize * 2]); - MemMap.releaseAndZeroPagesToOS(MemMap.getBase(), MemMap.getCapacity()); - EXPECT_EQ(0U, Data[0]); - EXPECT_EQ(0U, Data[PageSize]); - EXPECT_EQ(0U, Data[PageSize * 2]); - - EXPECT_NE(-1, munlock(Data, MemMap.getCapacity())); + if (mlock(Data, MemMap.getCapacity()) != -1) { + EXPECT_EQ(1U, Data[0]); + EXPECT_EQ(1U, Data[PageSize]); + EXPECT_EQ(1U, Data[PageSize * 2]); + MemMap.releaseAndZeroPagesToOS(MemMap.getBase(), MemMap.getCapacity()); + EXPECT_EQ(0U, Data[0]); + EXPECT_EQ(0U, Data[PageSize]); + EXPECT_EQ(0U, Data[PageSize * 2]); + + EXPECT_NE(-1, munlock(Data, MemMap.getCapacity())); + } #endif MemMap.unmap(); |
