[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 19:40:30 PST 2013


Lang, reverted in r196460, excuse me.

2013/12/5 NAKAMURA Takumi <geek4civic at gmail.com>:
> 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