simplify bpf tests and check type correctness
We notice that: BpfMap.reset(dupFd_with_cloexec(BpfMap.getMap()) is equivalent to BpfMap = BpfMap due to the current implementation of the BpfMap assignment operator. Except the latter also verifies BpfMap<K,V> template types match. Test: TreeHugger Signed-off-by: Maciej Żenczykowski <maze@google.com> Change-Id: I99fcf77bc6aa360b6a19e22c2cd58d67a1e62976
This commit is contained in:
@@ -71,23 +71,19 @@ class BpfHandlerTest : public ::testing::Test {
|
||||
createMap(BPF_MAP_TYPE_HASH, sizeof(uint32_t), sizeof(uint8_t), TEST_MAP_SIZE, 0));
|
||||
ASSERT_VALID(mFakeUidPermissionMap);
|
||||
|
||||
mBh.mCookieTagMap.reset(dupFd(mFakeCookieTagMap.getMap()));
|
||||
mBh.mCookieTagMap = mFakeCookieTagMap;
|
||||
ASSERT_VALID(mBh.mCookieTagMap);
|
||||
mBh.mStatsMapA.reset(dupFd(mFakeStatsMapA.getMap()));
|
||||
mBh.mStatsMapA = mFakeStatsMapA;
|
||||
ASSERT_VALID(mBh.mStatsMapA);
|
||||
mBh.mConfigurationMap.reset(dupFd(mFakeConfigurationMap.getMap()));
|
||||
mBh.mConfigurationMap = mFakeConfigurationMap;
|
||||
ASSERT_VALID(mBh.mConfigurationMap);
|
||||
// Always write to stats map A by default.
|
||||
ASSERT_RESULT_OK(mBh.mConfigurationMap.writeValue(CURRENT_STATS_MAP_CONFIGURATION_KEY,
|
||||
SELECT_MAP_A, BPF_ANY));
|
||||
mBh.mUidPermissionMap.reset(dupFd(mFakeUidPermissionMap.getMap()));
|
||||
mBh.mUidPermissionMap = mFakeUidPermissionMap;
|
||||
ASSERT_VALID(mBh.mUidPermissionMap);
|
||||
}
|
||||
|
||||
int dupFd(const android::base::unique_fd& mapFd) {
|
||||
return fcntl(mapFd.get(), F_DUPFD_CLOEXEC, 0);
|
||||
}
|
||||
|
||||
int setUpSocketAndTag(int protocol, uint64_t* cookie, uint32_t tag, uid_t uid,
|
||||
uid_t realUid) {
|
||||
int sock = socket(protocol, SOCK_STREAM | SOCK_CLOEXEC, 0);
|
||||
|
||||
Reference in New Issue
Block a user