Author: mgorny Date: Thu Oct 11 04:58:07 2018 New Revision: 344240 URL: http://llvm.org/viewvc/llvm-project?rev=344240&view=rev Log: [python] [tests] Support overriding library path via environment
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 Modified: cfe/trunk/bindings/python/README.txt cfe/trunk/bindings/python/tests/cindex/test_access_specifiers.py cfe/trunk/bindings/python/tests/cindex/test_cdb.py cfe/trunk/bindings/python/tests/cindex/test_code_completion.py cfe/trunk/bindings/python/tests/cindex/test_comment.py cfe/trunk/bindings/python/tests/cindex/test_cursor.py cfe/trunk/bindings/python/tests/cindex/test_cursor_kind.py cfe/trunk/bindings/python/tests/cindex/test_diagnostics.py cfe/trunk/bindings/python/tests/cindex/test_exception_specification_kind.py cfe/trunk/bindings/python/tests/cindex/test_file.py cfe/trunk/bindings/python/tests/cindex/test_index.py cfe/trunk/bindings/python/tests/cindex/test_linkage.py cfe/trunk/bindings/python/tests/cindex/test_location.py cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py cfe/trunk/bindings/python/tests/cindex/test_token_kind.py cfe/trunk/bindings/python/tests/cindex/test_tokens.py cfe/trunk/bindings/python/tests/cindex/test_translation_unit.py cfe/trunk/bindings/python/tests/cindex/test_type.py Modified: cfe/trunk/bindings/python/README.txt URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/README.txt?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/README.txt (original) +++ cfe/trunk/bindings/python/README.txt Thu Oct 11 04:58:07 2018 @@ -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 ... Modified: cfe/trunk/bindings/python/tests/cindex/test_access_specifiers.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_access_specifiers.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_access_specifiers.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_access_specifiers.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_cdb.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_cdb.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_cdb.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_cdb.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_code_completion.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_code_completion.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_code_completion.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_code_completion.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_comment.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_comment.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_comment.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_comment.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_cursor.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_cursor.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_cursor.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_cursor.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_cursor_kind.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_cursor_kind.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_cursor_kind.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_cursor_kind.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_diagnostics.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_diagnostics.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_diagnostics.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_diagnostics.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_exception_specification_kind.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_exception_specification_kind.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_exception_specification_kind.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_exception_specification_kind.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_file.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_file.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_file.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_file.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_index.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_index.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_index.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_index.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_linkage.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_linkage.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_linkage.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_linkage.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_location.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_location.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_location.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_location.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_tls_kind.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_token_kind.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_token_kind.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_token_kind.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_token_kind.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_tokens.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_tokens.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_tokens.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_tokens.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_translation_unit.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_translation_unit.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_translation_unit.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_translation_unit.py Thu Oct 11 04:58:07 2018 @@ -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 Modified: cfe/trunk/bindings/python/tests/cindex/test_type.py URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/bindings/python/tests/cindex/test_type.py?rev=344240&r1=344239&r2=344240&view=diff ============================================================================== --- cfe/trunk/bindings/python/tests/cindex/test_type.py (original) +++ cfe/trunk/bindings/python/tests/cindex/test_type.py Thu Oct 11 04:58:07 2018 @@ -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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits