[all-commits] [llvm/llvm-project] 057cc9: [libc++] Refactor the conditions for enabling asse...
Louis Dionne via All-commits
all-commits at lists.llvm.org
Wed Aug 5 18:59:05 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 057cc9da32d232bf3c482be3d11f8159bb4f0de0
https://github.com/llvm/llvm-project/commit/057cc9da32d232bf3c482be3d11f8159bb4f0de0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2026-08-05 (Wed, 05 Aug 2026)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
M libcxx/test/libcxx-03/strings/string.view/string.view.iterators/assert.iterator-indexing.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_left.pass.cpp
M libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_right.pass.cpp
M libcxx/test/libcxx/algorithms/alg.nonmodifying/alg.foreach/assert.for_each_n.pass.cpp
M libcxx/test/libcxx/algorithms/alg.nonmodifying/alg.foreach/assert.ranges.for_each_n.pass.cpp
M libcxx/test/libcxx/algorithms/alg.sorting/assert.min.max.pass.cpp
M libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.oob.pass.cpp
M libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.pass.cpp
M libcxx/test/libcxx/algorithms/debug_less.inconsistent.pass.cpp
M libcxx/test/libcxx/algorithms/debug_less.pass.cpp
M libcxx/test/libcxx/algorithms/debug_three_way_comp.inconsistent.pass.cpp
M libcxx/test/libcxx/assertions/modes/debug.pass.cpp
M libcxx/test/libcxx/assertions/modes/extensive.pass.cpp
M libcxx/test/libcxx/assertions/modes/fast.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_debug_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_unchecked_mode.pass.cpp
M libcxx/test/libcxx/assertions/semantics/override_with_enforce_semantic.pass.cpp
M libcxx/test/libcxx/assertions/semantics/override_with_ignore_semantic.pass.cpp
M libcxx/test/libcxx/assertions/semantics/override_with_observe_semantic.pass.cpp
M libcxx/test/libcxx/assertions/semantics/override_with_quick_enforce_semantic.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
M libcxx/test/libcxx/containers/associative/debug.non-strict-weak-ordering.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.map/assert.input_range.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.map/assert.sorted_unique.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.multimap/assert.input_range.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.multimap/assert.sorted_equivalent.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
M libcxx/test/libcxx/containers/container.adaptors/flat.set/assert.sorted_unique.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp
M libcxx/test/libcxx/containers/sequences/deque/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/forwardlist/assert.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.erase_iter.end.pass.cpp
M libcxx/test/libcxx/containers/sequences/list/list.modifiers/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector.bool/assert.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.back.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cback.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cfront.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.cindex.oob.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.front.empty.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.index.oob.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.iterator.add.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.iterator.decrement.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.iterator.index.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector/assert.pop_back.empty.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.map/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multimap/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.multiset/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.bucket_size.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.dereference.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.increment.pass.cpp
M libcxx/test/libcxx/containers/unord/unord.set/assert.max_load_factor.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.obs.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.non_unique.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.stride.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.conversion.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.index_operator.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/assert.iterator-indexing.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_sent.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.other_span.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.range.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.back.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.front.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.elem/assert.op_idx.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.first.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.last.pass.cpp
M libcxx/test/libcxx/containers/views/views.span/span.sub/assert.subspan.pass.cpp
M libcxx/test/libcxx/input.output/filesystems/class.path/path.itr/assert.iterator.pass.cpp
M libcxx/test/libcxx/iterators/assert.advance.pass.cpp
M libcxx/test/libcxx/iterators/assert.next.pass.cpp
M libcxx/test/libcxx/iterators/assert.prev.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
M libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
M libcxx/test/libcxx/iterators/predef.iterators/counted.iterator/assert.pass.cpp
M libcxx/test/libcxx/iterators/predef.iterators/iterators.common/assert.pass.cpp
M libcxx/test/libcxx/mem/mem.res/ctor.nullptr.assert.pass.cpp
M libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
M libcxx/test/libcxx/numerics/numarray/class.gslice.array/assert.get.pass.cpp
M libcxx/test/libcxx/numerics/numarray/class.indirect.array/assert.get.pass.cpp
M libcxx/test/libcxx/numerics/numarray/class.mask.array/assert.get.pass.cpp
M libcxx/test/libcxx/numerics/numarray/class.slice.array/assert.get.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.begin.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.find-next.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/assert.find-prev.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/assert.deref.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/range.chunk.by.iter/assert.increment.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.concat/iterator.valueless_by_exception.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.drop.while/assert.begin.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.stride.view/ctor.assert.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.stride.view/iterator/dereference.assert.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.stride.view/iterator/increment.assert.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.stride.view/iterator/operator_plus_equal.assert.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.piecewise.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.repeat.view/ctor.value.bound.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.back.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cback.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cfront.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.cindex.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.front.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.access/assert.index.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.add.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.decrement.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.dereference.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.increment.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.iterators/assert.iterator.index.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.append.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.assign.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.erase_iter.null.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.modifiers/assert.pop_back.pass.cpp
M libcxx/test/libcxx/strings/string.view/assert.ctor.length.pass.cpp
M libcxx/test/libcxx/strings/string.view/assert.ctor.pointer.pass.cpp
M libcxx/test/libcxx/strings/string.view/string.view.iterators/assert.iterator-indexing.pass.cpp
M libcxx/test/libcxx/text/text_encoding/text_encoding.ctor/assert.id.pass.cpp
M libcxx/test/libcxx/text/text_encoding/text_encoding.ctor/assert.string_view.pass.cpp
M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception.pass.cpp
M libcxx/test/libcxx/thread/futures/futures.promise/assert.set_exception_at_thread_exit.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.count_down.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.ctor.pass.cpp
M libcxx/test/libcxx/thread/thread.semaphore/assert.release.pass.cpp
M libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.from_utc.pass.cpp
M libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.to_utc.pass.cpp
M libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.from_utc.pass.cpp
M libcxx/test/libcxx/time/time.clock/time.clock.tai/time.clock.tai.members/assert.to_utc.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.ambig/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.exception/time.zone.exception.nonexist/assert.ctor.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_local.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys_choose.pass.cpp
M libcxx/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.arrow.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.deref.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/assert.error.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/assert.deref.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/assert.error.pass.cpp
M libcxx/test/libcxx/utilities/format/format.arguments/format.arg/assert.array.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.wrap/func.wrap.ref/func.wrap.ref.ctor/assert.constant_arg_ptr.pass.cpp
M libcxx/test/libcxx/utilities/function.objects/func.wrap/func.wrap.ref/func.wrap.ref.ctor/assert.function_ptr.pass.cpp
M libcxx/test/libcxx/utilities/optional/optional.iterator/assert.arithmetic.pass.cpp
M libcxx/test/libcxx/utilities/optional/optional.object/optional.iterator/assert.bounded_iterator.pass.cpp
M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.dereference.pass.cpp
M libcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/assert.op_arrow.pass.cpp
M libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
M libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/assert.deallocate.pass.cpp
M libcxx/test/libcxx/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.ctor/assert.initial_size.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.clamp/assert.ranges_clamp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.pop_heap.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/assert.ranges_pop_heap.pass.cpp
M libcxx/test/std/containers/sequences/array/assert.back.pass.cpp
M libcxx/test/std/containers/sequences/array/assert.front.pass.cpp
M libcxx/test/std/containers/sequences/array/assert.indexing.pass.cpp
M libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.assert.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.assert.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.assert.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.assert.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_div.assert.pass.cpp
M libcxx/test/std/ranges/range.factories/range.iota.view/assert.ctor.value.bound.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/assert.subscript.pass.cpp
M libcxx/test/std/utilities/utility/utility.unreachable/assert.unreachable.pass.cpp
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/libcxx/test/features/__init__.py
A libcxx/utils/libcxx/test/features/hardening.py
M libcxx/utils/libcxx/test/features/libcxx_macros.py
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++] Refactor the conditions for enabling assertion tests (#213294)
Every hardening assertion test used to repeat a hand-rolled set of Lit
conditions like `has-unix-headers` and a bunch of others. Instead,
define a single Lit feature to handle all of them.
Assisted by Claude
Fixes #213148
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list