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

David Zarzycki via libcxx-commits libcxx-commits at lists.llvm.org
Sun Apr 5 03:58:12 PDT 2020


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.

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
>


More information about the libcxx-commits mailing list