[libcxx-commits] [PATCH] D100595: [libcxx][test] Attempt to make debug mode tests more bulletproof

Kristina Bessonova via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Apr 15 12:39:15 PDT 2021


krisb created this revision.
krisb added reviewers: Quuxplusone, curdeius.
Herald added a subscriber: arphaman.
krisb requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

The problem with debug mode tests is that it isn't known which particular
_LIBCPP_ASSERT causes the test to exit, and as shown by
https://reviews.llvm.org/D100029 and 2908eb20ba7 <https://reviews.llvm.org/rG2908eb20ba753fabb9778438e8ceb4ceacbabf30> it might be not the
expected one.

This patch implements the appriach suggested by @Quuxplusone in D100029 <https://reviews.llvm.org/D100029>
that allows us to cautch only those _LIBCPP_ASSERTs that are going to be
tested; all others will produce an error.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D100595

Files:
  libcxx/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_back.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_back_2.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_front.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_front_2.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_index.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_index_2.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_11.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_12.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_13.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_14.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_15.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_2.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_3.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_4.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_5.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_6.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/db_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_rvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/db_swap_1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_rvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/db_swap_1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/db_swap_1.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_insert_hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_10.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_8.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_9.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_move.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/db_swap_1.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_back.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_back_2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_cindex.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_cindex_2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_front.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_front_2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_index.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.access/db_index_2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_10.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_11.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_12.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_13.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_14.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_15.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_2.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_3.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_4.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_5.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_6.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_7.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_8.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_9.pass.cpp
  libcxx/test/support/debug_macros.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100595.337874.patch
Type: text/x-patch
Size: 96731 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210415/40f49952/attachment-0001.bin>


More information about the libcxx-commits mailing list