drgn/tests/test_python.py
Omar Sandoval a4b9d68a8c Use GPL-3.0-or-later license identifier instead of GPL-3.0+
Apparently the latter is deprecated and the former is preferred.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2021-04-03 01:10:35 -07:00

28 lines
946 B
Python

# Copyright (c) Facebook, Inc. and its affiliates.
# SPDX-License-Identifier: GPL-3.0-or-later
import unittest
import _drgn
import drgn
class TestModule(unittest.TestCase):
def test_all(self):
# At least for now, everything in the Python library should go in
# __all__, so make sure that happens.
from_python = {
name
for name in dir(drgn)
if not name.startswith("_")
and getattr(getattr(drgn, name), "__module__", "").startswith("drgn")
}
self.assertEqual(from_python - set(drgn.__all__), set())
def test_bindings(self):
# Make sure everything in the C extension (_drgn) is added to the
# Python library (drgn).
from_extension = {name for name in dir(_drgn) if not name.startswith("_")}
self.assertEqual(from_extension - set(dir(drgn)), set())
self.assertEqual(from_extension - set(drgn.__all__), set())