summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Smith <aaron.smith@microsoft.com>2018-04-24 17:08:05 +0000
committerAaron Smith <aaron.smith@microsoft.com>2018-04-24 17:08:05 +0000
commitba48c9bde11dbcbd669ddcf656d256f00fecae52 (patch)
treea4f0a3fa94172dd31ff5135599663c6bb9507005
parent60f2776b2f68698ab342174c122c26bf3bf4f198 (diff)
downloadbcm5719-llvm-ba48c9bde11dbcbd669ddcf656d256f00fecae52.tar.gz
bcm5719-llvm-ba48c9bde11dbcbd669ddcf656d256f00fecae52.zip
[lit, lldbsuite] Update the lldbsuite to correctly run tests on windows and windows server
Summary: The new script to run the lldbtests as part of lit invokes each test by calling dotest.py, however, we cannot rely on the system to always correctly interpret the script as python causing the tests to be unresolved on windows (at least). To fix this, we need to make sure that the first parameter in the command line is the python executable itself. In Makefile.rules, there are a number of windows specific definitions that rely on the HOST_OS being set as Windows_NT but the logic detecting the OS currently does not detect server versions of windows correctly. This change updates the logic to detect windows server as well. Reviewers: asmith, labath, JDevlieghere, zturner Reviewed By: JDevlieghere, zturner Subscribers: zturner, llvm-commits Differential Revision: https://reviews.llvm.org/D46020 llvm-svn: 330740
-rw-r--r--lldb/lit/Suite/lldbtest.py5
-rw-r--r--lldb/packages/Python/lldbsuite/test/make/Makefile.rules10
2 files changed, 9 insertions, 6 deletions
diff --git a/lldb/lit/Suite/lldbtest.py b/lldb/lit/Suite/lldbtest.py
index 457b74e4d90..4c3f01b803a 100644
--- a/lldb/lit/Suite/lldbtest.py
+++ b/lldb/lit/Suite/lldbtest.py
@@ -41,7 +41,10 @@ class LLDBTest(TestFormat):
return (lit.Test.UNSUPPORTED, 'Test is unsupported')
testPath, testFile = os.path.split(test.getSourcePath())
- cmd = self.dotest_cmd + [testPath, '-p', testFile]
+ # On Windows, the system does not always correctly interpret shebang lines.
+ # To make sure we can execute the tests, add python exe as the first parameter
+ # of the command.
+ cmd = [sys.executable] + self.dotest_cmd + [testPath, '-p', testFile]
try:
out, err, exitCode = lit.util.executeCommand(
diff --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
index facd33cf80c..802624c674b 100644
--- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
@@ -36,13 +36,13 @@ LLDB_BASE_DIR := $(THIS_FILE_DIR)../../../../../
#----------------------------------------------------------------------
# If OS is not defined, use 'uname -s' to determine the OS name.
#
-# uname on Windows gives "windows32", but most environments standardize
-# on "Windows_NT", so we'll make it consistent here. When running
-# tests from Visual Studio, the environment variable isn't inherited
-# all the way down to the process spawned for make.
+# uname on Windows gives "windows32" or "server version windows32", but most
+# environments standardize on "Windows_NT", so we'll make it consistent here.
+# When running tests from Visual Studio, the environment variable isn't
+# inherited all the way down to the process spawned for make.
#----------------------------------------------------------------------
HOST_OS = $(shell uname -s)
-ifeq "$(HOST_OS)" "windows32"
+ifneq (,$(findstring windows32,$(HOST_OS)))
HOST_OS = Windows_NT
endif
ifeq "$(OS)" ""
OpenPOWER on IntegriCloud