1000 Commits

Author SHA1 Message Date
Christian Mazakas
63026fd320 Clean up tests to avoid needless yields and extraneous spurious wakeups 2023-05-16 09:19:43 -07:00
Christian Mazakas
6295c7f0d4 Add free function erase_if() 2023-05-15 13:40:33 -07:00
Christian Mazakas
c3879e238d Add free function swap() 2023-05-15 07:54:19 -07:00
Christian Mazakas
80a1904d92 Fix call_count check in rehash_tests 2023-05-11 08:39:16 -07:00
Christian Mazakas
21afc69894 Add initial tests for rehash(), reserve() 2023-05-10 13:22:02 -07:00
Christian Mazakas
c90b72a643 Squelch gcc self-move warning for version 13 2023-05-09 14:00:14 -07:00
Christian Mazakas
c2c34f96a3 Improve robustness of merge_tests to schedule merges without spurious wakeups and in a wider stride of insertions 2023-05-09 14:00:14 -07:00
Christian Mazakas
f0fe62d6ab Add count(), contains() 2023-05-05 15:41:23 -07:00
Christian Mazakas
99b0868283 Add initial impl of merge() 2023-05-05 10:20:52 -07:00
Christian Mazakas
3c0fb0fa1b Attempt to fix flaky CI 2023-05-03 11:37:32 -07:00
Christian Mazakas
3fe0807ae9 Add test that intermixes insertion and visitation
Attempt to test the happens-before and synchronizes-with relationship, looking for potential bugs on weakly-ordered models
2023-05-03 11:37:32 -07:00
Christian Mazakas
cc4cfc7ef2 Fix bug in swap_test iteration logic that caused early termination of the swap loop 2023-05-02 15:57:16 -07:00
Christian Mazakas
a9bf367d6e Test if being the kind of program that calls yield() pays dividends for flaky CI failures 2023-05-02 15:44:21 -07:00
Christian Mazakas
2ea0dbf30e Add impl of member function swap() 2023-05-02 13:44:27 -07:00
Christian Mazakas
40c4d456f3 Clean up for CI 2023-05-01 15:21:25 -07:00
Christian Mazakas
011b7a5969 Add initial impl of clear 2023-05-01 11:58:58 -07:00
Christian Mazakas
c52ad849ea Add policy check that excludes unsequenced policies
It's technically UB for the callable in an unsequenced policy to acquire a lock so we add static_assert()s to catch potential user error.
2023-05-01 11:58:58 -07:00
Christian Mazakas
081932221f Attempt to fix flaky assign_tests 2023-04-28 13:42:28 -07:00
Christian Mazakas
135c9586af Add fuzzy test mixing copy-assignment with insertion 2023-04-27 15:23:21 -07:00
Christian Mazakas
187fd3e71e Implement initializer_list assignment 2023-04-27 12:00:42 -07:00
Christian Mazakas
0959df1896 Flesh out move assignment tests 2023-04-27 09:30:49 -07:00
Christian Mazakas
212c6a1e4d Add prototype of move assignment 2023-04-26 12:54:04 -07:00
Christian Mazakas
d7acb7e8b8 Fix capturing in latch_tests 2023-04-26 12:54:04 -07:00
Christian Mazakas
2b612ed120 Flesh out assign_tests 2023-04-25 13:14:08 -07:00
Christian Mazakas
a7c15e86fc Update num_threads to use the concurrent hint from the stdlib 2023-04-25 12:18:15 -07:00
Christian Mazakas
e9c6a0fef5 Add polyfill implementation of std::latch 2023-04-24 13:29:35 -07:00
Christian Mazakas
ac216a93c8 Add tests back in 2023-04-24 13:29:07 -07:00
joaquintides
e49fef5f9a commented out all tests except those for cfoa 2023-04-23 17:27:50 +02:00
Christian Mazakas
26ab9ff584 Add prototype copy assignment operator 2023-04-21 15:56:22 -07:00
Christian Mazakas
1e92d9f545 Refactor stateful_allocator to test helpers 2023-04-21 13:33:18 -07:00
Christian Mazakas
2cf72093b1 Update test to spin until the container is non-empty 2023-04-21 10:44:06 -07:00
Christian Mazakas
88d4d64edf Add last remaining constructors 2023-04-21 10:33:21 -07:00
Christian Mazakas
80d7203d78 Add more iterator constructor overloads 2023-04-20 15:35:04 -07:00
Christian Mazakas
5dfed4deec Update thread_runner to block on hand-rolled barrier, add yield points to hash, key_equal 2023-04-20 14:34:01 -07:00
Christian Mazakas
e08f9f11a1 Add more constructors 2023-04-20 12:58:29 -07:00
Christian Mazakas
c304284773 Update tests to use condition variables for work synchronization instead of sleeps 2023-04-20 12:58:29 -07:00
Christian Mazakas
c704788718 Fix flaky test by starting insertion thread earlier 2023-04-20 09:25:33 -07:00
Christian Mazakas
7812b26d3a Add allocator aware move constructors 2023-04-19 15:18:53 -07:00
Christian Mazakas
b3c0368ab5 Clean up typedef names to avoid conflicts 2023-04-19 09:35:47 -07:00
Christian Mazakas
37edc392a5 Add allocator-aware copy constructor 2023-04-19 09:35:38 -07:00
Christian Mazakas
fb403bc233 Add explicit allocator constructor 2023-04-18 15:36:12 -07:00
Christian Mazakas
910b8de697 Add iterator range + allocator constructor, continue to clean up constructor_tests 2023-04-18 15:11:53 -07:00
Christian Mazakas
3aff995ae0 Clean up constructor_tests 2023-04-18 13:38:24 -07:00
Christian Mazakas
68c018fda6 Clean up usage of decltype to help msvc-14.3 2023-04-18 12:30:34 -07:00
Christian Mazakas
a9ad06139e Add move constructor 2023-04-18 12:00:08 -07:00
Christian Mazakas
6bf0e93a41 Remove size check as the insertion thread may not have started by the time the check happens 2023-04-13 13:30:56 -07:00
Christian Mazakas
ecd4a82ed5 Add test for select_on_container_copy_construction Allocator requirement 2023-04-12 13:58:01 -07:00
Christian Mazakas
0898219edc Test empty visitation 2023-04-12 12:23:16 -07:00
Christian Mazakas
d9b62d24dc Begin work on constructors 2023-04-12 12:22:59 -07:00
joaquintides
8ea1cbbd64 s/BOOST_ASSERT/BOOST_TEST to avoid unused var warnings 2023-04-10 10:17:05 +02:00