[llvm] f3dd783 - Revert "[lit] Handle plain negations directly in the internal shell"
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 19 03:33:24 PDT 2021
Author: Martin Storsjö
Date: 2021-03-19T12:33:12+02:00
New Revision: f3dd783b239f5587213d528dc642b599f43452b6
URL: https://github.com/llvm/llvm-project/commit/f3dd783b239f5587213d528dc642b599f43452b6
DIFF: https://github.com/llvm/llvm-project/commit/f3dd783b239f5587213d528dc642b599f43452b6.diff
LOG: Revert "[lit] Handle plain negations directly in the internal shell"
This reverts commit d09adfd3993cbc1043b4d20232bce8bd774232cc.
That commit caused failures in
clang-tidy/infrastructure/validate-check-names.cpp on windows
buildbots.
That change exposed a surprising issue, not directly related to
this change in itself, but in how TestRunner quotes command line
arguments that later are going to be interpreted by a msys based
tool (like grep.exe, when provided by Git for Windows). This
worked accidentally before, when grep was invoked via not.exe
which took a more conservative approach to windows argument quoting.
Added:
Modified:
llvm/utils/lit/lit/TestRunner.py
Removed:
################################################################################
diff --git a/llvm/utils/lit/lit/TestRunner.py b/llvm/utils/lit/lit/TestRunner.py
index 820cbce962c1..f826bc91fb3e 100644
--- a/llvm/utils/lit/lit/TestRunner.py
+++ b/llvm/utils/lit/lit/TestRunner.py
@@ -608,7 +608,6 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
assert isinstance(cmd, ShUtil.Pipeline)
procs = []
- negate_procs = []
default_stdin = subprocess.PIPE
stderrTempFiles = []
opened_files = []
@@ -654,12 +653,6 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
if not args:
raise InternalShellError(j, "Error: 'not' requires a"
" subcommand")
- elif args[0] == '!':
- not_args.append(args.pop(0))
- not_count += 1
- if not args:
- raise InternalShellError(j, "Error: '!' requires a"
- " subcommand")
else:
break
@@ -706,15 +699,7 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
# the assumptions that (1) environment variables are not intended to be
# relevant to 'not' commands and (2) the 'env' command should always
# blindly pass along the status it receives from any command it calls.
-
- # For plain negations, either 'not' without '--crash', or the shell
- # operator '!', leave them out from the command to execute and
- # invert the result code afterwards.
- if not_crash:
- args = not_args + args
- not_count = 0
- else:
- not_args = []
+ args = not_args + args
stdin, stdout, stderr = processRedirects(j, default_stdin, cmd_shenv,
opened_files)
@@ -778,7 +763,6 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
stderr = stderr,
env = cmd_shenv.env,
close_fds = kUseCloseFDs))
- negate_procs.append((not_count % 2) != 0)
# Let the helper know about this process
timeoutHelper.addProcess(procs[-1])
except OSError as e:
@@ -831,8 +815,6 @@ def _executeShCmd(cmd, shenv, results, timeoutHelper):
# Detect Ctrl-C in subprocess.
if res == -signal.SIGINT:
raise KeyboardInterrupt
- if negate_procs[i]:
- res = not res
# Ensure the resulting output is always of string type.
try:
More information about the llvm-commits
mailing list