Commit Graph

141 Commits

Author SHA1 Message Date
Christian Mazakas
f5d5299b88 Flesh out constructor exception tests 2023-05-24 11:06:45 -07:00
Christian Mazakas
61f11a58ee Push up failing test case for code review purposes 2023-05-23 15:28:14 -07:00
Christian Mazakas
e78dc311e3 Clean up erase tests 2023-05-23 08:43:10 -07:00
Christian Mazakas
a5748c2e8b Add initial container population to insert iterator range tests 2023-05-22 15:24:36 -07:00
Christian Mazakas
146c5cb6be Clean up exception tests 2023-05-22 14:19:21 -07:00
Christian Mazakas
c63a88032d Loosen restrictions on erase exceptions tests to accomodate runs where there are no successful erasures 2023-05-22 12:10:10 -07:00
Christian Mazakas
3ad164267a Update duration of erase operations to trigger successful erasures when only 2 threads are available 2023-05-22 11:37:07 -07:00
Christian Mazakas
a9203ed93c Clean up erase_tests 2023-05-22 10:17:36 -07:00
Christian Mazakas
16550ded0c Add exceptional erase tests 2023-05-22 10:17:36 -07:00
joaquintides
ddb1148a31 reformulated static member initialization to appease VS2015 2023-05-20 12:16:30 +02:00
Christian Mazakas
ffcae204ee Add insert_exception_tests 2023-05-19 12:33:23 -07:00
Christian Mazakas
ff10b287e2 Remove unreliable check from swap_tests 2023-05-17 13:36:56 -07:00
Christian Mazakas
5f249bc681 Add fwd header 2023-05-16 13:31:35 -07:00
Christian Mazakas
dbd1a929e6 Remove unnenecessary spinning 2023-05-16 12:34:50 -07:00
Christian Mazakas
32ff2f145e Add initial draft of equality tests 2023-05-16 11:55:56 -07:00
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
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