[cfe-commits] [PATCH] clang/test/Tooling: Tweaks for Win32 hosts
NAKAMURA Takumi
geek4civic at gmail.com
Wed May 23 04:58:49 PDT 2012
2012/5/23 Michael Spencer <bigcheesegs at gmail.com>:
> On Tue, May 22, 2012 at 5:50 PM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
>> They could pass also on msvc if they were -fms-compatibility tolerant.
>>
>> Manuel, I would be happier if you could tweak tests with -target i686-win32.
>>
>> ---
>> clang/lib/Tooling/CompilationDatabase.cpp | 8 ++++++--
>> clang/lib/Tooling/Tooling.cpp | 8 ++++++--
>> clang/test/Tooling/clang-check-builtin-headers.cpp | 2 +-
>> clang/test/Tooling/clang-check-chdir.cpp | 2 +-
>> clang/test/Tooling/clang-check-pwd.cpp | 2 +-
>> clang/test/Tooling/clang-check.cpp | 2 +-
>> llvm/lib/Support/PathV2.cpp | 3 +++
>> 7 files changed, 19 insertions(+), 8 deletions(-)
>
> + // FIXME: Does Win32 accept '.\\'?
>
> Yes it does. Well, cmd.exe does.
I would like to say here, "Could Win32's '.\\' be accepted here?"
I have to add later. I think it would be critical issue.
> diff --git a/clang/test/Tooling/clang-check-builtin-headers.cpp
> b/clang/test/Tooling/clang-check-builtin-headers.cpp
> index 4324dec..b640d05 100644
> --- a/clang/test/Tooling/clang-check-builtin-headers.cpp
> +++ b/clang/test/Tooling/clang-check-builtin-headers.cpp
> @@ -1,7 +1,7 @@
> // RUN: rm -rf %t
> // RUN: mkdir %t
> // Add a path that doesn't exist as argv[0] for the compile command line:
> -// RUN: echo '[{"directory":".","command":"/random/tool -c
> %t/test.cpp","file":"%t/test.cpp"}]' > %t/compile_commands.json
> +// RUN: echo '[{"directory":".","command":"/random/tool -c
> %t/test.cpp","file":"%t/test.cpp"}]' | sed -e 's/\\/\//g' >
> %t/compile_commands.json
> // RUN: cp "%s" "%t/test.cpp"
> // RUN: clang-check "%t" "%t/test.cpp" 2>&1|FileCheck %s
> // FIXME: Make the above easier.
> diff --git a/clang/test/Tooling/clang-check-chdir.cpp
> b/clang/test/Tooling/clang-check-chdir.cpp
> index 5d02c95..7c465f3 100644
> --- a/clang/test/Tooling/clang-check-chdir.cpp
> +++ b/clang/test/Tooling/clang-check-chdir.cpp
> @@ -2,7 +2,7 @@
> // compilation database.
> // RUN: rm -rf %t
> // RUN: mkdir %t
> -// RUN: echo "[{\"directory\":\"%t\",\"command\":\"clang -c test.cpp
> -I.\",\"file\":\"%t/test.cpp\"}]" > %t/compile_commands.json
> +// RUN: echo "[{\"directory\":\"%t\",\"command\":\"clang -c test.cpp
> -I.\",\"file\":\"%t/test.cpp\"}]" | sed -e 's/\\/\//g' >
> %t/compile_commands.json
> // RUN: cp "%s" "%t/test.cpp"
> // RUN: touch "%t/clang-check-test.h"
> // RUN: clang-check "%t" "%t/test.cpp" 2>&1|FileCheck %s
> diff --git a/clang/test/Tooling/clang-check-pwd.cpp
> b/clang/test/Tooling/clang-check-pwd.cpp
> index 96417df..40336cb 100644
> --- a/clang/test/Tooling/clang-check-pwd.cpp
> +++ b/clang/test/Tooling/clang-check-pwd.cpp
> @@ -1,6 +1,6 @@
> // RUN: rm -rf %t
> // RUN: mkdir %t
> -// RUN: echo "[{\"directory\":\".\",\"command\":\"clang++ -c
> %t/test.cpp\",\"file\":\"%t/test.cpp\"}]" > %t/compile_commands.json
> +// RUN: echo "[{\"directory\":\".\",\"command\":\"clang++ -c
> %t/test.cpp\",\"file\":\"%t/test.cpp\"}]" | sed -e 's/\\/\\\\/g' >
> %t/compile_commands.json
> // RUN: cp "%s" "%t/test.cpp"
> // RUN: PWD="%t" clang-check "%t" "test.cpp" 2>&1|FileCheck %s
> // FIXME: Make the above easier.
> diff --git a/clang/test/Tooling/clang-check.cpp
> b/clang/test/Tooling/clang-check.cpp
> index d197078..d37d14d 100644
> --- a/clang/test/Tooling/clang-check.cpp
> +++ b/clang/test/Tooling/clang-check.cpp
> @@ -1,6 +1,6 @@
> // RUN: rm -rf %t
> // RUN: mkdir %t
> -// RUN: echo '[{"directory":".","command":"clang++ -c
> %t/test.cpp","file":"%t/test.cpp"}]' > %t/compile_commands.json
> +// RUN: echo '[{"directory":".","command":"clang++ -c
> %t/test.cpp","file":"%t/test.cpp"}]' | sed -e 's/\\/\//g' >
> %t/compile_commands.json
> // RUN: cp "%s" "%t/test.cpp"
> // RUN: clang-check "%t" "%t/test.cpp" 2>&1|FileCheck %s
> // FIXME: Make the above easier.
>
> For all these tests can we please not use sed? I'd like to get rid of
> all dependencies on these tools so Windows can test without GNUWin32.
It would be happier if we would get rid of external tools.
Then, shall we enhance Lit to expand %X with modifier to be escaped for JSON?
Not only sed(1), I can see but also echo(1), cat(1) and cp(1) :p
Would you like to prune them anyways?
...Takumi
More information about the cfe-commits
mailing list