Skip to content

Add regression tests for interval container lookup operations#53

Open
ldionne wants to merge 1 commit into
boostorg:developfrom
ldionne:review/add-swo-regression-tests
Open

Add regression tests for interval container lookup operations#53
ldionne wants to merge 1 commit into
boostorg:developfrom
ldionne:review/add-swo-regression-tests

Conversation

@ldionne

@ldionne ldionne commented Mar 17, 2026

Copy link
Copy Markdown
Member

Add tests to pin down the expected results of lower_bound, upper_bound, equal_range, and find on the various interval containers. These tests aim to trigger failures on some standard libraries (in particular newer versions of libc++) since Boost.ICL uses associative containers with a comparator that is not a proper strict weak ordering.

Note that many tests already fail without these reproducers when upgrading to a newer libc++, but these tests provide additional coverage.

Related to #51

Add tests to pin down the expected results of lower_bound, upper_bound,
equal_range, and find on the various interval containers. These tests
aim to trigger failures on some standard libraries (in particular newer
versions of libc++) since Boost.ICL uses associative containers with a
comparator that is not a proper strict weak ordering.

Note that many tests already fail without these reproducers when
upgrading to a newer libc++, but these tests provide additional
coverage.

Related to boostorg#51
joaquintides added a commit to joaquintides/icl that referenced this pull request Mar 22, 2026
gl84 added a commit to gl84/icl that referenced this pull request Jun 9, 2026
The previous commit added the SWO-safe lower/upper_bound wrappers but
left several call sites still using the raw container directly: find(),
the BOOST_ASSERT in gap_insert, and the collision-range detection in
the add/insert loops. Also adds the regression tests from PR boostorg#53 for
broader coverage of the fixed accessors.
gl84 added a commit to gl84/icl that referenced this pull request Jun 27, 2026
The previous commit added the SWO-safe lower/upper_bound wrappers but
left several call sites still using the raw container directly: find(),
the BOOST_ASSERT in gap_insert, and the collision-range detection in
the add/insert loops. Also adds the regression tests from PR boostorg#53 for
broader coverage of the fixed accessors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant