[clang-tools-extra] r196439 - If the LLVM OBJ_DIR path contains any characters not listed in the

NAKAMURA Takumi geek4civic at gmail.com
Wed Dec 4 18:34:49 PST 2013


It seems win32 builders don't like this.
See; http://bb.pgr.jp/builders/cmake-clang-i686-mingw32/builds/6122

I will investigate it, later, too.

2013/12/5 Lang Hames <lhames at gmail.com>:
> Author: lhames
> Date: Wed Dec  4 18:33:58 2013
> New Revision: 196439
>
> URL: http://llvm.org/viewvc/llvm-project?rev=196439&view=rev
> Log:
> If the LLVM OBJ_DIR path contains any characters not listed in the
> ScalarSafeChars array in Output::scalarString (See YAMLTraits.cpp line 554 as
> of r196428), this test will fail: The path will be single quoted to preserve
> the 'unsafe' characters, which doesn't match the expected (unquoted) output.
> Notionally "unsafe" characters include fairly innocuous ones like the '+'
> symbol (I don't know enough YAML to be sure, but I suspect '+' doesn't really
> need to be quoted).
>
> I have added some sed lines to strip leading spaces, and leading and trailing
> single quote (') characters from the path. That should make this test slightly
> more robust.
>
> If possible, this test should be rewritten to use FileCheck, rather than
> diffing against expected output - the latter is likely to brittle, and require
> further sed goop in the future.
>
>
> Modified:
>     clang-tools-extra/trunk/test/clang-modernize/HeaderReplacements/main.cpp
>
> Modified: clang-tools-extra/trunk/test/clang-modernize/HeaderReplacements/main.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-modernize/HeaderReplacements/main.cpp?rev=196439&r1=196438&r2=196439&view=diff
> ==============================================================================
> --- clang-tools-extra/trunk/test/clang-modernize/HeaderReplacements/main.cpp (original)
> +++ clang-tools-extra/trunk/test/clang-modernize/HeaderReplacements/main.cpp Wed Dec  4 18:33:58 2013
> @@ -12,11 +12,13 @@
>  // RUN: ls -1 %T/SerializeTest | FileCheck %s --check-prefix=MAIN_CPP
>  // RUN: ls -1 %T/SerializeTest | FileCheck %s --check-prefix=COMMON_CPP
>  // We need to put the build path to the expected YAML file to diff against the generated one.
> -// RUN: sed -e 's#$(path)#%/T/SerializeTest#g' -e "s#\([A-Z]:/.*\.[chp]*\)#'\1'#g" %S/main_expected.yaml > %T/SerializeTest/main_expected.yaml
> +// RUN: sed -e 's#$(path)#%/T/SerializeTest#g' -e "s#^\(.*:\)[[:space:]]*\(.*\)#\1 \2#g" %S/main_expected.yaml > %T/SerializeTest/main_expected.yaml
>  // RUN: sed -i -e 's#\\#/#g' %T/SerializeTest/main.cpp_*.yaml
> +// RUN: sed -i -e "s#^\(.*:\)[[:space:]]*'*\(/[^']*\)'*\$#\1 \2#g" %T/SerializeTest/main.cpp_*.yaml
>  // RUN: diff -b %T/SerializeTest/main_expected.yaml %T/SerializeTest/main.cpp_*.yaml
> -// RUN: sed -e 's#$(path)#%/T/SerializeTest#g' -e "s#\([A-Z]:/.*\.[chp]*\)#'\1'#g" %S/common_expected.yaml > %T/SerializeTest/common_expected.yaml
> +// RUN: sed -e 's#$(path)#%/T/SerializeTest#g' -e "s#^\(.*:\)[[:space:]]*\(.*\)#\1 \2#g" %S/common_expected.yaml > %T/SerializeTest/common_expected.yaml
>  // RUN: sed -i -e 's#\\#/#g' %T/SerializeTest/common.cpp_*.yaml
> +// RUN: sed -i -e "s#^\(.*:\)[[:space:]]*'*\(/[^']*\)'*\$#\1 \2#g" %T/SerializeTest/common.cpp_*.yaml
>  // RUN: diff -b %T/SerializeTest/common_expected.yaml %T/SerializeTest/common.cpp_*.yaml
>  //
>  // The following are for FileCheck when used on output of 'ls'. See above.
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list