From 9b10b69afa8d0fca61bb2eb9959b65825983c6ac Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Fri, 22 Jun 2018 09:46:40 +0000 Subject: [PATCH] [hmaptool] Turn %hmaptool into a proper substitution This is still super ugly, but at least it doesn't require working directories to just line up perfectly for python to find the tool. llvm-svn: 335330 --- clang/test/Modules/crash-vfs-headermaps.m | 2 +- clang/test/Preprocessor/headermap-rel.c | 2 +- clang/test/Preprocessor/headermap-rel2.c | 2 +- clang/test/Preprocessor/nonportable-include-with-hmap.c | 2 +- clang/test/lit.cfg.py | 6 +++++- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/clang/test/Modules/crash-vfs-headermaps.m b/clang/test/Modules/crash-vfs-headermaps.m index c340d268ea96..118537ba2a4f 100644 --- a/clang/test/Modules/crash-vfs-headermaps.m +++ b/clang/test/Modules/crash-vfs-headermaps.m @@ -3,7 +3,7 @@ // RUN: rm -rf %t // RUN: mkdir -p %t/m %t/i/Foo.framework/Headers // RUN: echo '// Foo.h' > %t/i/Foo.framework/Headers/Foo.h -// RUN: '%python' hmaptool write %S/../Preprocessor/Inputs/headermap-rel/foo.hmap.json %t/i/foo.hmap +// RUN: %hmaptool write %S/../Preprocessor/Inputs/headermap-rel/foo.hmap.json %t/i/foo.hmap // RUN: not env FORCE_CLANG_DIAGNOSTICS_CRASH= TMPDIR=%t TEMP=%t TMP=%t \ // RUN: %clang -fsyntax-only -fmodules -fmodules-cache-path=%t/m %s \ diff --git a/clang/test/Preprocessor/headermap-rel.c b/clang/test/Preprocessor/headermap-rel.c index 4c67186830fb..db57534c1c7f 100644 --- a/clang/test/Preprocessor/headermap-rel.c +++ b/clang/test/Preprocessor/headermap-rel.c @@ -1,5 +1,5 @@ // RUN: rm -f %t.hmap -// RUN: '%python' hmaptool write %S/Inputs/headermap-rel/foo.hmap.json %t.hmap +// RUN: %hmaptool write %S/Inputs/headermap-rel/foo.hmap.json %t.hmap // RUN: %clang_cc1 -E %s -o %t.i -I %t.hmap -F %S/Inputs/headermap-rel // RUN: FileCheck %s -input-file %t.i diff --git a/clang/test/Preprocessor/headermap-rel2.c b/clang/test/Preprocessor/headermap-rel2.c index af12bf3949bc..83e89f0a492e 100644 --- a/clang/test/Preprocessor/headermap-rel2.c +++ b/clang/test/Preprocessor/headermap-rel2.c @@ -1,5 +1,5 @@ // RUN: rm -f %t.hmap -// RUN: '%python' hmaptool write %S/Inputs/headermap-rel2/project-headers.hmap.json %t.hmap +// RUN: %hmaptool write %S/Inputs/headermap-rel2/project-headers.hmap.json %t.hmap // RUN: %clang_cc1 -v -fsyntax-only %s -iquote %t.hmap -isystem %S/Inputs/headermap-rel2/system/usr/include -I %S/Inputs/headermap-rel2 -H // RUN: %clang_cc1 -fsyntax-only %s -iquote %t.hmap -isystem %S/Inputs/headermap-rel2/system/usr/include -I %S/Inputs/headermap-rel2 -H 2> %t.out // RUN: FileCheck %s -input-file %t.out diff --git a/clang/test/Preprocessor/nonportable-include-with-hmap.c b/clang/test/Preprocessor/nonportable-include-with-hmap.c index f2c279f36ceb..bbbd669a0f39 100644 --- a/clang/test/Preprocessor/nonportable-include-with-hmap.c +++ b/clang/test/Preprocessor/nonportable-include-with-hmap.c @@ -1,5 +1,5 @@ // RUN: rm -f %t.hmap -// RUN: '%python' hmaptool write %S/Inputs/nonportable-hmaps/foo.hmap.json %t.hmap +// RUN: %hmaptool write %S/Inputs/nonportable-hmaps/foo.hmap.json %t.hmap // RUN: %clang_cc1 -Eonly \ // RUN: -I%t.hmap \ // RUN: -I%S/Inputs/nonportable-hmaps \ diff --git a/clang/test/lit.cfg.py b/clang/test/lit.cfg.py index 6fa7ef66fc90..5b11691f4475 100644 --- a/clang/test/lit.cfg.py +++ b/clang/test/lit.cfg.py @@ -58,7 +58,7 @@ tool_dirs = [config.clang_tools_dir, config.llvm_tools_dir] tools = [ 'c-index-test', 'clang-check', 'clang-diff', 'clang-format', 'clang-tblgen', - 'opt', 'hmaptool', + 'opt', ToolSubst('%clang_func_map', command=FindTool( 'clang-func-mapping'), unresolved='ignore'), ] @@ -69,6 +69,10 @@ if config.clang_examples: llvm_config.add_tool_substitutions(tools, tool_dirs) +config.substitutions.append( + ('%hmaptool', '%s %s' % (config.python_executable, + os.path.join(config.llvm_tools_dir, 'hmaptool')))) + # Plugins (loadable modules) # TODO: This should be supplied by Makefile or autoconf. if sys.platform in ['win32', 'cygwin']: