| #!/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() |