xref: /aosp_15_r20/external/bcc/tests/python/test_flags.py (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
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