================
@@ -0,0 +1,17 @@
+import os
+
+from clang.cindex import Config, conf, FUNCTION_LIST
+
+if "CLANG_LIBRARY_PATH" in os.environ:
+    Config.set_library_path(os.environ["CLANG_LIBRARY_PATH"])
+
+import unittest
+
+
+class TestIndex(unittest.TestCase):
+    def test_functions_registered(self):
+        IGNORED = set(["_FuncPtr", "_name", "_handle"])
+        lib_functions = set(vars(conf.lib).keys())
----------------
Endilll wrote:

> Problem is, we don't actually want all functions in the lib, but only those 
> used in the Python bindings...

What stop us from listing all exported functions?

> do some kind of static code analysis to check all functions that are used in 
> cindex.py. A bit roundabout, but should work...

Sounds complicated, but if you think you can pull this off with a code that's 
easy enough to maintain, feel free to open a PR. I'm not sure if I'm going to 
like it, though. 

> test as I did before, but ensure somehow that the lib test comes last. A bit 
> ugly as it depends on the order of tests, and this requires that we have 
> tests for any missing functions.

This is so ugly and brittle that I don't see how I can sign that off.

https://github.com/llvm/llvm-project/pull/140015
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to