From a092e3833bee3b8f509638177ead89223d9b0153 Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 7 Apr 2020 17:00:23 -0400 Subject: [PATCH] [libc++] Remove the %{not} substitution It has never been used, and it actually doesn't really work because it assumes that the target supports Python. Instead, it's better to just use `!` since we're running ShTests in system shells anyway. --- libcxx/test/libcxx/selftest/not_test.sh.cpp | 16 --------- libcxx/utils/libcxx/test/config.py | 3 -- libcxx/utils/not.py | 51 ----------------------------- 3 files changed, 70 deletions(-) delete mode 100644 libcxx/test/libcxx/selftest/not_test.sh.cpp delete mode 100644 libcxx/utils/not.py diff --git a/libcxx/test/libcxx/selftest/not_test.sh.cpp b/libcxx/test/libcxx/selftest/not_test.sh.cpp deleted file mode 100644 index 56da5ed5..0000000 --- a/libcxx/test/libcxx/selftest/not_test.sh.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// -*- C++ -*- -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// RUN: %{build} -// RUN: %{not} %{run} - -int main(int, char**) -{ - return 1; -} diff --git a/libcxx/utils/libcxx/test/config.py b/libcxx/utils/libcxx/test/config.py index f86a796..88010f8 100644 --- a/libcxx/utils/libcxx/test/config.py +++ b/libcxx/utils/libcxx/test/config.py @@ -1070,9 +1070,6 @@ class Configuration(object): pipes.quote(executor), ' '.join(exec_args)))) sub.append(('%{run}', '%{exec} %t.exe')) - # Configure not program substitutions - not_py = os.path.join(self.libcxx_src_root, 'utils', 'not.py') - sub.append(('%{not}', '{} {}'.format(pipes.quote(sys.executable), pipes.quote(not_py)))) if self.get_lit_conf('libcxx_gdb'): sub.append(('%{libcxx_gdb}', self.get_lit_conf('libcxx_gdb'))) diff --git a/libcxx/utils/not.py b/libcxx/utils/not.py deleted file mode 100644 index 2efc8e3..0000000 --- a/libcxx/utils/not.py +++ /dev/null @@ -1,51 +0,0 @@ -#===----------------------------------------------------------------------===## -# -# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -# See https://llvm.org/LICENSE.txt for license information. -# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -# -#===----------------------------------------------------------------------===## - -"""not.py is a utility for inverting the return code of commands. -It acts similar to llvm/utils/not. -ex: python /path/to/not.py ' echo hello - echo $? // (prints 1) -""" - -import subprocess -import sys - -def which_cannot_find_program(prog): - # Allow for import errors on distutils.spawn - try: - import distutils.spawn - prog = distutils.spawn.find_executable(prog[0]) - if prog is None: - sys.stderr.write('Failed to find program %s' % prog[0]) - return True - return False - except: - return False - -def main(): - argv = list(sys.argv) - del argv[0] - if len(argv) > 0 and argv[0] == '--crash': - del argv[0] - expectCrash = True - else: - expectCrash = False - if len(argv) == 0: - return 1 - if which_cannot_find_program(argv[0]): - return 1 - rc = subprocess.call(argv) - if rc < 0: - return 0 if expectCrash else 1 - if expectCrash: - return 1 - return rc == 0 - - -if __name__ == '__main__': - exit(main()) -- 2.7.4