]> granicus.if.org Git - clang/commitdiff
[python] [tests] Support overriding library path via environment
authorMichal Gorny <mgorny@gentoo.org>
Thu, 11 Oct 2018 11:58:07 +0000 (11:58 +0000)
committerMichal Gorny <mgorny@gentoo.org>
Thu, 11 Oct 2018 11:58:07 +0000 (11:58 +0000)
Support a new CLANG_LIBRARY_PATH environment variable for the Python
binding tests.  This variable can be used to force the bindings to load
libclang.* from a specific directory.

I plan to use this when integrating Python binding tests with the CMake
build system.  Currently, those tests load libclang.so from default
search paths, so I would have to rely on platform-specific mechanics
such as LD_LIBRARY_PATH.  Instead of copying the whole logic necessary
to handle platform differences into yet another place, it's easier to
just add a dedicated variable for this purpose.

Differential Revision: https://reviews.llvm.org/D52806

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@344240 91177308-0d34-0410-b5e6-96231b3b80d8

18 files changed:
bindings/python/README.txt
bindings/python/tests/cindex/test_access_specifiers.py
bindings/python/tests/cindex/test_cdb.py
bindings/python/tests/cindex/test_code_completion.py
bindings/python/tests/cindex/test_comment.py
bindings/python/tests/cindex/test_cursor.py
bindings/python/tests/cindex/test_cursor_kind.py
bindings/python/tests/cindex/test_diagnostics.py
bindings/python/tests/cindex/test_exception_specification_kind.py
bindings/python/tests/cindex/test_file.py
bindings/python/tests/cindex/test_index.py
bindings/python/tests/cindex/test_linkage.py
bindings/python/tests/cindex/test_location.py
bindings/python/tests/cindex/test_tls_kind.py
bindings/python/tests/cindex/test_token_kind.py
bindings/python/tests/cindex/test_tokens.py
bindings/python/tests/cindex/test_translation_unit.py
bindings/python/tests/cindex/test_type.py

index 8a0bf99b30e3d7c1531b492024707282239e2321..b0f0142a56f11603e30ee9bbcc38ad6e3bbb3be8 100644 (file)
@@ -4,12 +4,12 @@
 
 This directory implements Python bindings for Clang.
 
-You may need to alter LD_LIBRARY_PATH so that the Clang library can be
+You may need to set CLANG_LIBRARY_PATH so that the Clang library can be
 found. The unit tests are designed to be run with any standard test
 runner. For example:
 --
 $ env PYTHONPATH=$(echo ~/llvm/tools/clang/bindings/python/) \
-      LD_LIBRARY_PATH=$(llvm-config --libdir) \
+      CLANG_LIBRARY_PATH=$(llvm-config --libdir) \
   python -m unittest discover -v
 tests.cindex.test_index.test_create ... ok
 ...
index 2f6144be082c6033172cb51874371db52602dc2f..e36424f240aa0e7cf597fd3c5caa02055fdbbfb1 100644 (file)
@@ -1,3 +1,7 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
 
 from clang.cindex import AccessSpecifier
 from clang.cindex import Cursor
index 64651af317324e255163c67bd85dd1a99405d166..25ee6d3b982dca1d37a2eb7ead0fb8ad9566b2b3 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import CompilationDatabase
 from clang.cindex import CompilationDatabaseError
 from clang.cindex import CompileCommands
index efc7912c915dcd033eeb39750764322ca1ed5bde..9cd5a5ff623c713b0901dde06ec357b4d69c96fb 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import TranslationUnit
 
 import unittest
index d6c6d8e5c5b009fb270ac19ce622f78339bf97cf..73fb617ae1681f1ae3352191b36619ef61afc39a 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import TranslationUnit
 from tests.cindex.util import get_cursor
 
index f5733fd158791f2ec03d056c485c79ff3e95d991..ef875e9724748d897a59f40f76972d203a4882e5 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 import ctypes
 import gc
 import unittest
index f1ee753ef8b102079585fb869ceee7283f55c718..e6b9558b3cc13f02dce988de4ec5d50afa91efdc 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import CursorKind
 
 import unittest
index 78b327daa72cd836bf29aed38737c28fbcc899f5..79d7a5fd411d22431db93861df7bf1d9ecdcdee5 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import *
 from .util import get_tu
 
index 80b3639a8ab35518ea144b25c35a16a8eb3237d9..6c13f70fb2565a05fd15616ff31d19d0ebd003f1 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 import clang.cindex
 from clang.cindex import ExceptionSpecificationKind
 from .util import get_tu
index 98f6575262cc6c63b02a20cfc6c5fcfc13a8787d..a146fe5c9239c84fd512045bf089f9e53ebbb66e 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import Index, File
 
 import unittest
index cfdf98e628ac8b56c927ffcca4e07664af402986..46aafcf222e733fd6a7ed7da3ea045bcf0cf15fc 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import *
 import os
 import unittest
index 6b482f8081b3a8266d0f50ee9e5fb3ec0cd1f250..cdd97fc2df0dc165e84982c020a85aa1630ca2f2 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import LinkageKind
 from clang.cindex import Cursor
 from clang.cindex import TranslationUnit
index cbc32deb4bd5902c6b98cc7eda539ecbc43b809f..fbe9770d7ebc589dc2641cc4751ec206729afaff 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import Cursor
 from clang.cindex import File
 from clang.cindex import SourceLocation
index fbc3418a64ef9ddd378d2b4317db1395d5cf4022..c828ac83a468dd1868a93232f5a56d11191ff061 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import TLSKind
 from clang.cindex import Cursor
 from clang.cindex import TranslationUnit
index 700f95a64624094f84c6904919012b3f65169e08..904e007cafc502311cafad3441faf31ff0ec0850 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import TokenKind
 
 import unittest
index c93353dc9da27014aa6f0529b0549965e6133905..dd6d3a3259edced77f89d1b30619a05534a86ad3 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from clang.cindex import CursorKind
 from clang.cindex import Index
 from clang.cindex import SourceLocation
index d3ee535f4d0dc4370b714a260c423a54be9ea674..0abfda8cea4b1ee2e6dd4da77a400444f1e38775 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 from contextlib import contextmanager
 import gc
 import os
index 12db99640786c1a6cd22ef778039d10301e8ec9e..bcdbeff9d99c47180dbb342d6c8aa38b9b80799c 100644 (file)
@@ -1,3 +1,8 @@
+import os
+from clang.cindex import Config
+if 'CLANG_LIBRARY_PATH' in os.environ:
+    Config.set_library_path(os.environ['CLANG_LIBRARY_PATH'])
+
 import gc
 import unittest