Daniel James
72fb9c7c96
Suppress warnings in noexcept_tests
2018-01-13 20:31:45 +00:00
Daniel James
ce0f16f328
Missing copyright messages
2018-01-10 15:15:09 +00:00
Daniel James
f12009fc61
operator= noexcept support
2018-01-05 17:54:44 +00:00
Daniel James
5854090dc7
Swap noexcept support
...
Not properly supported as we don't have is_nothrow_swappable yet.
2018-01-05 17:48:13 +00:00
Daniel James
daeaf5e98b
Flexible exception testing hash/equal_to
2018-01-05 17:10:13 +00:00
Daniel James
4bffd7a85d
Avoid some warnings
2018-01-04 18:29:31 +00:00
Daniel James
be0acc575f
Implement allocator_traits::is_always_equal
2018-01-03 20:55:40 +00:00
Daniel James
9d558b010d
Reformat
2017-12-28 11:44:57 +00:00
Daniela Engert
64441d2b64
Inheriting std::iterator is deprecated in c++17.
...
Therefore get rid of all of that and replace inheritance by lifting std::iterator's members into the derived class.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-12-28 12:01:41 +01:00
Daniel James
07758b7af8
Catch exceptions by reference
2017-12-22 17:02:13 +00:00
Daniel James
b50e0d610f
Initial implementation of template deduction guides
2017-12-19 12:56:51 +00:00
Daniel James
311e126ac4
Remove dependency on iterator
2017-12-03 18:58:52 +00:00
Daniel James
c037169e1a
Update paths for headers moved from detail
2017-12-03 14:24:47 +00:00
Daniel James
9bb861accc
Use std::advance in test::next, and use it instead of boost::next
...
Mainly to avoid warnings from boost::next
2017-12-01 08:35:38 +00:00
Daniel James
613f154d47
Improved test formatting
2017-10-09 12:34:47 +01:00
Daniel James
6b5b968b97
Format with clang-format 4.0
2017-10-05 10:54:22 +01:00
Daniel James
f72b0353d4
Shuffle code around for readability
...
The new indentation made some of the code difficult to read, especially
where macros were concerned, so move things around and add more explicit
namespace declarations.
2017-06-11 20:55:59 +01:00
Daniel James
0676b4f4ca
Change clang format indentation + .editorconfig file
2017-06-11 20:55:59 +01:00
Daniel James
ee9a5a2c77
Add a configuration macro for Sun C++ workarounds
2017-05-16 19:01:50 +01:00
Daniel James
dc611fc828
Run fewer test in merge_exception_tests
...
It's timing out on some platforms because it's too slow. This reduces
the tag combinations for 9 to 3, which should reduce the execution time
by a third. Also slightly reduces the count combinations, but that won't
make much of a difference really - the slowest tests are still there
(when the right hand side is large).
2017-05-14 02:59:22 +01:00
Daniel James
a897843f6c
Try to work around an MSVC bug
...
Although, perhaps I shouldn't be generating over 1000 runs for a test.
2017-05-11 00:36:31 +01:00
Daniel James
80de85f217
Move test state + functions into single class
2017-05-10 19:02:47 +01:00
Daniel James
242e91a9fd
"Sub-test" reporting mechanism
2017-05-10 19:02:47 +01:00
Daniel James
ca80237191
Create fewer classes in merge_exception_tests
...
Will need better error reporting capabilities. Makes RUN_TESTS_QUIET
redundant?
2017-05-10 19:02:47 +01:00
Daniel James
b95ef6de04
Generate less output in merge_exception_tests
2017-05-10 19:02:47 +01:00
Daniel James
76e7322262
Use streams from lightweight test
2017-05-10 19:02:47 +01:00
Daniel James
3c42138e45
Fix testing piecewise_construct and tuple
...
For when std::piecewise_construct is available, but std::tuple isn't. In
order to test better, just repeat the tests with the four possible
combinations.
2017-05-08 18:42:53 +01:00
Daniel James
1b0b38a519
try_emplace, insert_or_assign exception tests
2017-05-07 18:47:59 +01:00
Daniel James
9119a42b7d
Factor insert_exception_tests for better code reuse
2017-05-07 18:47:24 +01:00
Daniel James
8af4b37d14
Rewrite insert exception tests
...
Not going to do this for all the tests. It's more effort than I
expected.
2017-05-07 17:54:34 +01:00
Daniel James
31c5b5bfa1
Merge exception tests
2017-05-07 17:54:34 +01:00
Daniel James
0489069419
Use 'limited_range' to catch error in exception tests
...
This would have caught the error fixed in 3fe259a79e .
2017-05-06 04:47:59 +01:00
Daniel James
597eb5a3fd
Repeat the assign/insert exception tests a few times
2017-05-06 04:47:59 +01:00
Daniel James
3fe259a79e
Fix creating exception::less from exception::equal_to
2017-05-05 12:58:26 +01:00
Daniel James
6ef17a0f0e
Remember to disable exceptions before checking final value
2017-05-05 00:46:07 +01:00
Daniel James
47a8c3fc67
Fix exception handling in rehash_impl
...
And improve tests so they will catch the error, and other similar errors.
2017-05-04 19:30:18 +01:00
Daniel James
d84a57441b
Use the unordered container for the fake merge in merge test
...
The merge tests into containers with unique keys are failing on some
platforms. My guess is that because of differences between ordering of
nodes with equivalent keys that different nodes are being 'merged' in
the unordered containers and the tracker containers. So when creating
the fake merge, use the unordered container as a reference. This is a
little less pure, but should be a good enough test.
2017-05-01 22:16:13 +01:00
Daniel James
338a94e577
Better rvalue emulation support in extractors
...
Means that inserting rvalues into unordered_set/unordered_map won't
create a node if no insert is required.
2017-05-01 21:03:11 +01:00
Daniel James
2e14c340a8
Reformat
2017-05-01 21:03:11 +01:00
Daniel James
35522d3ee0
Fix merging between containers with different hash/equality
...
This reverts commit 20b0c0a6d8 .
2017-04-30 14:29:05 +01:00
Daniel James
8c139940e7
More merge tests between compatible containers
2017-04-30 14:29:05 +01:00
Daniel James
cae6b121b2
Improve test coverage a little
2017-04-28 21:26:21 +01:00
Daniel James
bfcdd51b4a
Fix try_emplace overload
2017-04-28 09:53:50 +01:00
Daniel James
a1b1df84a0
Store bucket + whether first in group in node
...
Instead of the hash value.
2017-04-27 18:22:44 +01:00
Daniel James
ea64f2e46e
Remove the grouped node stuff
2017-04-27 18:22:43 +01:00
Daniel James
9c8980e6a1
Write out epoint that threw an exception after failure
2017-04-25 01:21:44 +01:00
Daniel James
60127d86e0
After 5 failures stop running an exception test
2017-04-25 01:10:53 +01:00
Daniel James
0c3c738614
Better C++ version info
2017-04-25 01:09:07 +01:00
Daniel James
b070bb5e49
Move everything from table_unique/table_equiv into table
2017-04-24 09:46:05 +01:00
Daniel James
8229aa6b3c
Stop throwing exception in allocator copy/assignment
...
The standard specifies that all of these "shall not exit via an
exception". The containers have been exception safe when these throw,
but the 'noexcept' attribute on 'get_allocator' will terminate if an
exception is thrown in the copy constructor.
The standard doesn't specify a default constructor, so that is allowed
to throw an exception (not just pedantry, this makes sense if an
allocator has shared data that's allocated in the initial constructor).
2017-04-23 11:01:04 +01:00