1*387f9dfdSAndroid Build Coastguard Worker#!/usr/bin/env python3 2*387f9dfdSAndroid Build Coastguard Worker# Copyright (c) PLUMgrid, Inc. 3*387f9dfdSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License") 4*387f9dfdSAndroid Build Coastguard Worker 5*387f9dfdSAndroid Build Coastguard Workerimport unittest 6*387f9dfdSAndroid Build Coastguard Workerfrom bcc import BPF 7*387f9dfdSAndroid Build Coastguard Worker 8*387f9dfdSAndroid Build Coastguard Workerclass TestLru(unittest.TestCase): 9*387f9dfdSAndroid Build Coastguard Worker def test_lru_map_flags(self): 10*387f9dfdSAndroid Build Coastguard Worker test_prog1 = b""" 11*387f9dfdSAndroid Build Coastguard Worker BPF_F_TABLE("lru_hash", int, u64, lru, 1024, BPF_F_NO_COMMON_LRU); 12*387f9dfdSAndroid Build Coastguard Worker """ 13*387f9dfdSAndroid Build Coastguard Worker b = BPF(text=test_prog1) 14*387f9dfdSAndroid Build Coastguard Worker t = b[b"lru"] 15*387f9dfdSAndroid Build Coastguard Worker self.assertEqual(t.flags, 2); 16*387f9dfdSAndroid Build Coastguard Worker 17*387f9dfdSAndroid Build Coastguard Worker def test_hash_map_flags(self): 18*387f9dfdSAndroid Build Coastguard Worker test_prog1 = b""" 19*387f9dfdSAndroid Build Coastguard Worker BPF_F_TABLE("hash", int, u64, hash, 1024, BPF_F_NO_PREALLOC); 20*387f9dfdSAndroid Build Coastguard Worker """ 21*387f9dfdSAndroid Build Coastguard Worker b = BPF(text=test_prog1) 22*387f9dfdSAndroid Build Coastguard Worker t = b[b"hash"] 23*387f9dfdSAndroid Build Coastguard Worker self.assertEqual(t.flags, 1); 24*387f9dfdSAndroid Build Coastguard Worker 25*387f9dfdSAndroid Build Coastguard Workerif __name__ == "__main__": 26*387f9dfdSAndroid Build Coastguard Worker unittest.main() 27