X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=test%2Flit.cfg;h=575204697085e4a6d1ded8fa0b459ab04b2b241e;hb=7d884e4636fcd9572c5a00aec9bfcb97a0244172;hp=ce9ff1147cc3069c3e0f7b86327312b9707cbc4c;hpb=3fbb8408db28cc25dd398d4261bf69bbbc98f373;p=oota-llvm.git diff --git a/test/lit.cfg b/test/lit.cfg index ce9ff1147cc..57520469708 100644 --- a/test/lit.cfg +++ b/test/lit.cfg @@ -22,9 +22,18 @@ if sys.platform in ['win32']: config.environment['PATH'])) config.environment['PATH'] = path +# Choose between lit's internal shell pipeline runner and a real shell. If +# LIT_USE_INTERNAL_SHELL is in the environment, we use that as an override. +use_lit_shell = os.environ.get("LIT_USE_INTERNAL_SHELL") +if use_lit_shell: + # 0 is external, "" is default, and everything else is internal. + execute_external = (use_lit_shell == "0") +else: + # Otherwise we default to internal on Windows and external elsewhere, as + # bash on Windows is usually very slow. + execute_external = (not sys.platform in ['win32']) + # testFormat: The test format to use to interpret tests. -execute_external = (not sys.platform in ['win32'] - or lit.getBashPath() not in [None, ""]) config.test_format = lit.formats.ShTest(execute_external) # To ignore test output on stderr so it doesn't trigger failures uncomment this: @@ -47,26 +56,13 @@ llvm_obj_root = getattr(config, 'llvm_obj_root', None) if llvm_obj_root is not None: config.test_exec_root = os.path.join(llvm_obj_root, 'test') -# Tweak the PATH to include the scripts dir, the tools dir, and the llvm-gcc bin -# dir (if available). +# Tweak the PATH to include the tools dir. if llvm_obj_root is not None: - llvm_src_root = getattr(config, 'llvm_src_root', None) - if not llvm_src_root: - lit.fatal('No LLVM source root set!') - path = os.path.pathsep.join((os.path.join(llvm_src_root, 'test', - 'Scripts'), - config.environment['PATH'])) - config.environment['PATH'] = path - llvm_tools_dir = getattr(config, 'llvm_tools_dir', None) if not llvm_tools_dir: lit.fatal('No LLVM tools dir set!') path = os.path.pathsep.join((llvm_tools_dir, config.environment['PATH'])) config.environment['PATH'] = path - # Setup paths to llvm-symbolizer for Sanitizer tools. - llvm_symbolizer_path = os.path.join(llvm_tools_dir, 'llvm-symbolizer') - config.environment['ASAN_SYMBOLIZER_PATH'] = llvm_symbolizer_path - config.environment['MSAN_SYMBOLIZER_PATH'] = llvm_symbolizer_path # Propagate 'HOME' through the environment. if 'HOME' in os.environ: @@ -94,6 +90,11 @@ config.environment['LLVM_SRC_ROOT'] = getattr(config, 'llvm_src_root', '') config.environment['PYTHON_EXECUTABLE'] = getattr(config, 'python_executable', '') +# Propagate path to symbolizer for ASan/MSan. +for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']: + if symbolizer in os.environ: + config.environment[symbolizer] = os.environ[symbolizer] + ### import os @@ -159,7 +160,9 @@ config.substitutions.append( ('%lli_mcjit', lli_mcjit) ) # but simply want use the currently considered most reliable jit for platform # FIXME: ppc32 is not ready for mcjit. if 'arm' in config.target_triple \ - or 'powerpc64' in config.target_triple: + or 'aarch64' in config.target_triple \ + or 'powerpc64' in config.target_triple \ + or 's390x' in config.target_triple: defaultIsMCJIT = 'true' else: defaultIsMCJIT = 'false' @@ -198,9 +201,14 @@ if os.pathsep == ';': pathext = os.environ.get('PATHEXT', '').split(';') else: pathext = [''] +# Regex to reject matching a hyphen +NOHYPHEN = r"(?