Index: lit/Suite/lldbtest.py =================================================================== --- lit/Suite/lldbtest.py +++ lit/Suite/lldbtest.py @@ -41,7 +41,10 @@ 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( Index: packages/Python/lldbsuite/test/make/Makefile.rules =================================================================== --- packages/Python/lldbsuite/test/make/Makefile.rules +++ packages/Python/lldbsuite/test/make/Makefile.rules @@ -36,13 +36,13 @@ #---------------------------------------------------------------------- # 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)" ""