From 003a3fb72da49da6177062f704fdf37d7b483f09 Mon Sep 17 00:00:00 2001
From: Tom Stellard <tstellar@redhat.com>
Date: Wed, 7 Aug 2019 14:34:21 -0700
Subject: [PATCH] Revert "lit: modernize the lit configuration for the lit
tests"
This reverts commit 83c28abdb252670ccf557e02042195c012b45431.
---
llvm/utils/lit/tests/lit.cfg | 43 ++++++++++++++++++++++++----------
llvm/utils/lit/tests/lit.site.cfg.in | 3 ---
llvm/utils/lit/tests/shtest-timeout.py | 4 +++-
3 files changed, 33 insertions(+), 17 deletions(-)
diff --git a/llvm/utils/lit/tests/lit.cfg b/llvm/utils/lit/tests/lit.cfg
index 4648b1b..2af93d6 100644
--- a/llvm/utils/lit/tests/lit.cfg
+++ b/llvm/utils/lit/tests/lit.cfg
@@ -4,7 +4,6 @@ import os
import sys
import lit.formats
-from lit.llvm import llvm_config
# Configuration file for the 'lit' test runner.
@@ -26,35 +25,42 @@ config.test_exec_root = config.test_source_root
config.target_triple = '(unused)'
+src_root = os.path.join(config.test_source_root, '..')
llvm_src_root = getattr(config, 'llvm_src_root', None)
-if llvm_src_root:
- # ``test_source_root`` may be in LLVM's binary build directory which does not contain
+if llvm_src_root != None:
+ # ``src_root`` may be in LLVM's binary build directory which does not contain
# ``lit.py``, so use `llvm_src_root` instead.
lit_path = os.path.join(llvm_src_root, 'utils', 'lit')
else:
- lit_path = os.path.join(config.test_source_root, '..')
+ lit_path = src_root
-# Required because some tests import the lit module
-llvm_config.with_environment('PYTHONPATH', lit_path, append_path=True)
+pythonpath_list = [lit_path] # Required because some tests import the lit module
-# Add llvm and lit tools directories if this config is being loaded indirectly.
-for attribute in ('llvm_tools_dir', 'lit_tools_dir'):
- directory = getattr(config, attribute, None)
- if directory:
- llvm_config.with_environment('PATH', directory, append_path=True)
+# Ensure the user's PYTHONPATH is included.
+if 'PYTHONPATH' in os.environ:
+ pythonpath_list.append(os.environ['PYTHONPATH'])
+if 'PYTHONPATH' in config.environment:
+ pythonpath_list.append(config.environment['PYTHONPATH'])
+config.environment['PYTHONPATH'] = os.pathsep.join(pythonpath_list)
+config.substitutions.append(('%{src_root}', src_root))
config.substitutions.append(('%{inputs}', os.path.join(
- config.test_source_root, 'Inputs')))
+ src_root, 'tests', 'Inputs')))
config.substitutions.append(('%{lit}', "%%{python} %s" % (
- os.path.join(lit_path, 'lit.py'),)))
+ os.path.join(lit_path, 'lit.py'),)))
config.substitutions.append(('%{python}', '"%s"' % (sys.executable)))
+
# Enable coverage.py reporting, assuming the coverage module has been installed
# and sitecustomize.py in the virtualenv has been modified appropriately.
if lit_config.params.get('check-coverage', None):
config.environment['COVERAGE_PROCESS_START'] = os.path.join(
os.path.dirname(__file__), ".coveragerc")
+# Add a feature to detect the Python version.
+config.available_features.add("python%d.%d" % (sys.version_info[0],
+ sys.version_info[1]))
+
# Add a feature to detect if psutil is available
try:
import psutil
@@ -63,3 +69,14 @@ try:
except ImportError:
lit_config.warning('Could not import psutil. Some tests will be skipped and'
' the --timeout command line argument will not work.')
+
+if sys.platform.startswith('win') or sys.platform.startswith('cygwin'):
+ config.available_features.add('windows')
+
+# Add llvm and lit tools directories if this config is being loaded indirectly.
+path = config.environment['PATH']
+for attribute in ('llvm_tools_dir', 'lit_tools_dir'):
+ directory = getattr(config, attribute, None)
+ if directory:
+ path = os.path.pathsep.join((directory, path))
+config.environment['PATH'] = path
diff --git a/llvm/utils/lit/tests/lit.site.cfg.in b/llvm/utils/lit/tests/lit.site.cfg.in
index 43f4e40..693364c 100644
--- a/llvm/utils/lit/tests/lit.site.cfg.in
+++ b/llvm/utils/lit/tests/lit.site.cfg.in
@@ -16,8 +16,5 @@ except KeyError:
key, = e.args
lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key))
-import lit.llvm
-lit.llvm.initialize(lit_config, config)
-
# Let the main config do the real work.
lit_config.load_config(config, "@LLVM_BINARY_DIR@/utils/lit/tests/lit.cfg")
diff --git a/llvm/utils/lit/tests/shtest-timeout.py b/llvm/utils/lit/tests/shtest-timeout.py
index 1208e73..aa7d7e1 100644
--- a/llvm/utils/lit/tests/shtest-timeout.py
+++ b/llvm/utils/lit/tests/shtest-timeout.py
@@ -1,7 +1,9 @@
# REQUIRES: python-psutil
# llvm.org/PR33944
-# UNSUPPORTED: system-windows
+# This should be system-windows as windows does not cover all cases, but
+# apparently neither does system-windows
+# UNSUPPORTED: windows
# FIXME: This test is fragile because it relies on time which can
# be affected by system performance. In particular we are currently
--
1.8.3.1