| #!/usr/bin/env python | |
| # Copyright (c) 2016 Facebook, Inc. | |
| # Licensed under the Apache License, Version 2.0 (the "License") | |
| import ctypes as ct | |
| import unittest | |
| from bcc import BPF | |
| class TestSharedTable(unittest.TestCase): | |
| def test_close_extern(self): | |
| b1 = BPF(text="""BPF_TABLE_PUBLIC("array", int, int, table1, 10);""") | |
| with BPF(text="""BPF_TABLE("extern", int, int, table1, 10);""") as b2: | |
| t2 = b2["table1"] | |
| t2[ct.c_int(1)] = ct.c_int(10) | |
| self.assertEqual(len(t2), 10) | |
| t1 = b1["table1"] | |
| self.assertEqual(t1[ct.c_int(1)].value, 10) | |
| self.assertEqual(len(t1), 10) | |
| if __name__ == "__main__": | |
| unittest.main() |