Reverts r221772 which fails tests
[oota-llvm.git] / test / lit.cfg
index 82f6fdc4706cb0d699ee8491b728d34094151327..372e091add07b79dc8cb965999a63678cdb589df 100644 (file)
@@ -95,29 +95,27 @@ for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']:
     if symbolizer in os.environ:
         config.environment[symbolizer] = os.environ[symbolizer]
 
-# Propagate options for sanitizers.
-for options in ['ASAN_OPTIONS', 'UBSAN_OPTIONS']:
-    if options in os.environ:
-        config.environment[options] = os.environ[options]
-
 # Set up OCAMLPATH to include newly built OCaml libraries.
 llvm_lib_dir = getattr(config, 'llvm_lib_dir', None)
-if not llvm_lib_dir:
-    llvm_lib_dir = os.path.join(getattr(config, 'llvm_obj_root', None), 'lib')
-
-llvm_ocaml_lib = os.path.join(llvm_lib_dir, 'ocaml')
-if 'OCAMLPATH' in os.environ:
-    ocamlpath = os.path.pathsep.join((llvm_ocaml_lib, os.environ['OCAMLPATH']))
-    config.environment['OCAMLPATH'] = ocamlpath
-else:
-    config.environment['OCAMLPATH'] = llvm_ocaml_lib
-
-if 'CAML_LD_LIBRARY_PATH' in os.environ:
-    caml_ld_library_path = os.path.pathsep.join((llvm_ocaml_lib,
-                                os.environ['CAML_LD_LIBRARY_PATH']))
-    config.environment['CAML_LD_LIBRARY_PATH'] = caml_ld_library_path
-else:
-    config.environment['CAML_LD_LIBRARY_PATH'] = caml_ld_library_path
+if llvm_lib_dir is None:
+    if llvm_obj_root is not None:
+        llvm_lib_dir = os.path.join(llvm_obj_root, 'lib')
+
+if llvm_lib_dir is not None:
+    llvm_ocaml_lib = os.path.join(llvm_lib_dir, 'ocaml')
+    if llvm_ocaml_lib is not None:
+        if 'OCAMLPATH' in os.environ:
+            ocamlpath = os.path.pathsep.join((llvm_ocaml_lib, os.environ['OCAMLPATH']))
+            config.environment['OCAMLPATH'] = ocamlpath
+        else:
+            config.environment['OCAMLPATH'] = llvm_ocaml_lib
+
+        if 'CAML_LD_LIBRARY_PATH' in os.environ:
+            caml_ld_library_path = os.path.pathsep.join((llvm_ocaml_lib,
+                                        os.environ['CAML_LD_LIBRARY_PATH']))
+            config.environment['CAML_LD_LIBRARY_PATH'] = caml_ld_library_path
+        else:
+            config.environment['CAML_LD_LIBRARY_PATH'] = llvm_ocaml_lib
 
 # Set up OCAMLRUNPARAM to enable backtraces in OCaml tests.
 config.environment['OCAMLRUNPARAM'] = 'b'
@@ -330,10 +328,24 @@ def have_ld_plugin_support():
         return False
 
     ld_cmd = subprocess.Popen(['ld', '--help'], stdout = subprocess.PIPE)
-    if not '-plugin' in ld_cmd.stdout.read():
-        return False
+    ld_out = ld_cmd.stdout.read()
     ld_cmd.wait()
 
+    if not '-plugin' in ld_out:
+        return False
+
+    # check that the used emulations are supported.
+    emu_line = [l for l in ld_out.split('\n') if 'supported emulations' in l]
+    if len(emu_line) != 1:
+        return False
+    emu_line = emu_line[0]
+    fields = emu_line.split(':')
+    if len(fields) != 3:
+        return False
+    emulations = fields[2].split()
+    if 'elf32ppc' not in emulations or 'elf_x86_64' not in emulations:
+        return False
+
     ld_version = subprocess.Popen(['ld', '--version'], stdout = subprocess.PIPE)
     if not 'GNU gold' in ld_version.stdout.read():
         return False