[libcxx-commits] [libcxx] 1580c76 - [libc++] Enable the new libc++ testing format by default

David Zarzycki via libcxx-commits libcxx-commits at lists.llvm.org
Mon Apr 6 15:08:07 PDT 2020


This passes. Thanks!

On Mon, Apr 6, 2020, at 11:28 AM, Louis Dionne wrote:
> 
> 
>> On Apr 5, 2020, at 06:58, David Zarzycki <dave at znu.io> wrote:
>> 
>> Hi Louis,
>> 
>> This is breaking one test on release (no assert) testing on Fedora 31 (x86-64). Since this change was intentionally done on the weekend to shake out problems, I'm going to revert this. Thanks for understanding. For context , what follows is the failure.
> 
> Thanks! This was indeed the purpose of the commit. I can't find the exact root cause of the issue you are seeing, however I just pushed fixes for a similar issue that I think is likely the same as yours. Could you try running this command with the latest master?
> 
>  $ <build-dir>/bin/llvm-lit -sv libcxx/test/libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp --param=use_new_format=True
> 
> This should confirm that the problem has been fixed. In any case, I'll try enabling the new format by default again tonight, so we'll see if it didn't fix it.
> 
> Thanks,
> Louis
> 
>> 
>> Dave
>> 
>> 
>> 
>> FAIL: libc++ :: libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp (54225 of 62636)
>> ******************** TEST 'libc++ :: libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp' FAILED ********************
>> Script:
>> --
>> : 'RUN: at line 16'; /usr/bin/clang++ -Werror=thread-safety -std=c++2a -include /home/dave/s/lp/libcxx/test/support/nasty_macros.h -nostdinc++ -I/home/dave/s/lp/libcxx/include -I/tmp/_update_lc/r/projects/libcxx/include/c++build -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -I/home/dave/s/lp/libcxx/test/support -ftemplate-depth=270 -L/tmp/_update_lc/r/./lib64 -Wl,-rpath,/tmp/_update_lc/r/./lib64 -nodefaultlibs -lc++experimental /tmp/_update_lc/r/./lib64/libc++.a -lc++abi -lm -lgcc_s -lgcc -lpthread -lrt -lc -lgcc_s -lgcc -o /tmp/_update_lc/r/projects/libcxx/test/libcxx/selftest/newformat/sh.cpp/Output/substitutions.sh.cpp.tmp.exe /home/dave/s/lp/libcxx/test/libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp
>> : 'RUN: at line 17'; /usr/bin/python /home/dave/s/lp/libcxx/utils/run.py --codesign_identity "" --dependencies /tmp/_update_lc/r/projects/libcxx/test/libcxx/selftest/newformat/sh.cpp/Output/substitutions.sh.cpp.tmp.exe --env -- /tmp/_update_lc/r/projects/libcxx/test/libcxx/selftest/newformat/sh.cpp/Output/substitutions.sh.cpp.tmp.exe "HELLO"
>> --
>> Exit Code: 1
>> 
>> Command Output (stderr):
>> --
>> /usr/bin/ld: /tmp/substitutions-945c39.o: in function `main':
>> substitutions.sh.cpp:(.text+0xb7): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()'
>> /usr/bin/ld: /tmp/substitutions-945c39.o: in function `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<decltype(nullptr)>(char const*)':
>> substitutions.sh.cpp:(.text._ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc[_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2IDnEEPKc]+0x45): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)'
>> /usr/bin/ld: /tmp/substitutions-945c39.o: in function `bool std::__1::operator==<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*)':
>> substitutions.sh.cpp:(.text._ZNSt3__1eqIcNS_11char_traitsIcEENS_9allocatorIcEEEEbRKNS_12basic_stringIT_T0_T1_EEPKS6_[_ZNSt3__1eqIcNS_11char_traitsIcEENS_9allocatorIcEEEEbRKNS_12basic_stringIT_T0_T1_EEPKS6_]+0x5c): undefined reference to `std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(unsigned long, unsigned long, char const*, unsigned long) const'
>> /usr/bin/ld: /tmp/substitutions-945c39.o: in function `__clang_call_terminate':
>> substitutions.sh.cpp:(.text.__clang_call_terminate[__clang_call_terminate]+0x2): undefined reference to `__cxa_begin_catch'
>> /usr/bin/ld: substitutions.sh.cpp:(.text.__clang_call_terminate[__clang_call_terminate]+0xb): undefined reference to `std::terminate()'
>> /usr/bin/ld: /tmp/substitutions-945c39.o:(.eh_frame+0x1eb): undefined reference to `__gxx_personality_v0'
>> clang-9: error: linker command failed with exit code 1 (use -v to see invocation)
>> 
>> --
>> 
>> ********************
>> 
>> Testing Time: 157.81s
>> ********************
>> Failing Tests (1):
>>  libc++ :: libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp
>> 
>>  Expected Passes : 45136
>>  Expected Failures : 133
>>  Unsupported Tests : 17366
>>  Unexpected Failures: 1
>> 
>> 
>> 
>> On Sat, Apr 4, 2020, at 4:58 PM, Louis Dionne via libcxx-commits wrote:
>>> 
>>> Author: Louis Dionne
>>> Date: 2020-04-04T16:57:16-04:00
>>> New Revision: 1580c76c4a08e24adc34ae0a4ff4f97969188268
>>> 
>>> URL: 
>>> https://github.com/llvm/llvm-project/commit/1580c76c4a08e24adc34ae0a4ff4f97969188268
>>> DIFF: 
>>> https://github.com/llvm/llvm-project/commit/1580c76c4a08e24adc34ae0a4ff4f97969188268.diff
>>> 
>>> LOG: [libc++] Enable the new libc++ testing format by default
>>> 
>>> Both test formats are equivalent, so this *should* not be a problem.
>>> However, I'm taking advantage of the week-end to test this and see if
>>> there are any failures. If so, it should be fine to revert this until
>>> the failures have been addressed.
>>> 
>>> For the time being, it is still possible to use the old format by passing
>>> `--param=use_old_format=True` when running Lit.
>>> 
>>> Added: 
>>> 
>>> 
>>> Modified: 
>>>  libcxx/test/lit.cfg
>>> 
>>> Removed: 
>>> 
>>> 
>>> 
>>> ################################################################################
>>> diff --git a/libcxx/test/lit.cfg b/libcxx/test/lit.cfg
>>> index 8f42dd7c468b..86e806067a5b 100644
>>> --- a/libcxx/test/lit.cfg
>>> +++ b/libcxx/test/lit.cfg
>>> @@ -52,9 +52,9 @@ config_module = __import__(config_module_name, 
>>> fromlist=['Configuration'])
>>>  configuration = config_module.Configuration(lit_config, config)
>>>  configuration.configure()
>>>  configuration.print_config_info()
>>> -if lit_config.params.get('use_new_format', False):
>>> - lit_config.note("Using the experimental libc++ testing format")
>>> +if lit_config.params.get('use_old_format', False):
>>> + lit_config.note("Using the old libc++ testing format")
>>> + config.test_format = configuration.get_test_format()
>>> +else:
>>>  import libcxx.test.newformat
>>>  config.test_format = libcxx.test.newformat.CxxStandardLibraryTest()
>>> -else:
>>> - config.test_format = configuration.get_test_format()
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> libcxx-commits mailing list
>>> libcxx-commits at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20200406/9ba050ec/attachment-0001.html>


More information about the libcxx-commits mailing list