[openmp] [test] Fix prepending config.library_dir to LD_LIBRARY_PATH
authorMichał Górny <mgorny@moritz.systems>
Sat, 30 Jul 2022 18:53:02 +0000 (20:53 +0200)
committerMichał Górny <mgorny@moritz.systems>
Mon, 1 Aug 2022 16:54:06 +0000 (18:54 +0200)
Fix the LD_LIBRARY_PATH prepending order to make sure that
config.library_path ends up before any potentially-system directories
(e.g. config.hwloc_library_dir).  This makes sure that we are testing
against the just-built openmp libraries rather than the version that is
already installed.

Also rename the function to `prepend_*` to make it clearer what it
actually does.

https://github.com/llvm/llvm-project/issues/56821
Differential Revision: https://reviews.llvm.org/D130825

openmp/runtime/test/lit.cfg

index 76727f3..b000787 100644 (file)
@@ -11,7 +11,7 @@ if 'PYLINT_IMPORT' in os.environ:
     config = object()
     lit_config = object()
 
-def append_dynamic_library_path(path):
+def prepend_dynamic_library_path(path):
     if config.operating_system == 'Windows':
         name = 'PATH'
         sep = ';'
@@ -65,10 +65,13 @@ for feature in config.test_compiler_features:
     config.available_features.add(feature)
 
 # Setup environment to find dynamic library at runtime
-append_dynamic_library_path(config.library_dir)
 if config.using_hwloc:
-    append_dynamic_library_path(config.hwloc_library_dir)
+    prepend_dynamic_library_path(config.hwloc_library_dir)
     config.available_features.add('hwloc')
+# Note: please keep config.library_dir *after* any potentially system
+# directories, as otherwise preinstalled openmp libraries will be used
+# over just-built
+prepend_dynamic_library_path(config.library_dir)
 
 # Rpath modifications for Darwin
 if config.operating_system == 'Darwin':