159 Commits

Author SHA1 Message Date
Denis Blank
de40af0927 Add cti::populate and make use of it in tests 2018-03-09 09:45:00 +01:00
Denis Blank
86c3815ae0 Make continuable_base non copyable by default
* Actually there is no reason that the call hierarchy is copyable
  when looking at the fact that two types just cause distraction
  and bad usage.
2018-03-09 08:51:33 +01:00
Denis Blank
7a00a5f1c2 Seems like move only values inside initializer lists aren't valid sometimes 2018-03-09 08:41:55 +01:00
Denis Blank
1ce251483c Add more remaining nested unit tests to the any strategy 2018-03-09 08:13:50 +01:00
Denis Blank
c4cb102795 Fix a bug in the pack traversal where the container content wasn't perfectly forwarded 2018-03-09 08:13:20 +01:00
Denis Blank
deb798118c Add unit tests for the nested seq and all compositions 2018-03-09 05:40:37 +01:00
Denis Blank
b50c2bf8a8 Fix non default constructible values in compositions
* Add a test case for the non default constructible case
2018-03-09 05:25:36 +01:00
Denis Blank
f43a730cbd Basic implementation of the shared unit tests between all and seq 2018-03-09 05:12:09 +01:00
Denis Blank
7f76c55350 Fix the unsigned mismatch again 2018-03-09 04:57:52 +01:00
Denis Blank
087047e26d Initial work on testing the new seq and all strategy 2018-03-09 04:54:11 +01:00
Denis Blank
54385b5654 Fix an unsigned mismatch 2018-03-09 04:47:49 +01:00
Denis Blank
1a947d5c59 Fix the flat variant implementation
* Add unit tests
2018-03-09 04:34:31 +01:00
Denis Blank
916ea3c04d Use the flat_variant for the expected implementation 2018-03-08 19:29:31 +01:00
Denis Blank
d9622566e9 Address a MSVC compiler bug which prevents collapsing references in coroutines
* Closes #2
2018-03-06 23:14:55 +01:00
Denis Blank
12c23f15f8 Fix a defect unit test 2018-03-06 21:36:27 +01:00
Denis Blank
acc15b46ab Traits and util cleanup 2018-03-06 03:53:18 +01:00
Denis Blank
cdbc332287 Implement the new result deduction for when_any
* The logic requires now that all continuables yield the same
  types and amount of result objects.
2018-03-02 19:18:53 +01:00
Denis Blank
dd1b605d95 Revert 5dfe388f7f8156
* It turns out that this isn't needed anymore and just affects
  the compile time by now
* Additionally GCC can't handle this properly
2018-03-02 04:02:45 +01:00
Denis Blank
c4cdb3c3b0 Fix the mapping when empty spreads are involved 2018-02-27 23:46:03 +01:00
Denis Blank
89c3becbcf Fix some unit tests 2018-02-26 19:34:25 +01:00
Denis Blank
05b9223da8 Require make_continuable to be called with a valid signature 2018-02-26 19:02:20 +01:00
Denis Blank
951155bc34 Make it possible to apply transformations through pipes 2018-02-10 05:12:38 +01:00
Denis Blank
5dfe388f7f Prioritize the mapper if it does accept container and tuple like elements 2018-02-10 04:45:09 +01:00
Denis Blank
fbd87787aa Add a unit test which was removed in the original version
* Because unfinished traversals weren't allowed there.
2018-02-10 03:13:18 +01:00
Denis Blank
36bd134120 Change the inclusion style of the test header 2018-02-10 03:05:39 +01:00
Denis Blank
7a96a2681f Execute the single tests only once 2018-02-10 03:00:57 +01:00
Denis Blank
d7d10e9448 Fix the remaining unit tests for async traversal 2018-02-10 02:50:24 +01:00
Denis Blank
64f91d8ce0 Remove the 42 in_place_tag workaround 2018-02-10 02:15:02 +01:00
Denis Blank
bac986a23f Convert the async traversal test to gtest 2018-02-10 01:56:50 +01:00
Denis Blank
f935d78c99 Partial conversion of the async traversal unit test 2018-02-10 01:41:14 +01:00
Denis Blank
04111c0bc3 More work on porting the async traversal 2018-02-10 01:13:01 +01:00
Denis Blank
73927516c6 Set the version to 3.0.0
* There wil be a header split for compositions
  thus the backward compatibility breaks
2018-02-09 04:16:45 +01:00
Denis Blank
5904ea06b4 Convert more tests into proper gtest cases 2018-02-09 03:57:12 +01:00
Denis Blank
a5640a5d35 Fix std::array remapping 2018-02-09 03:36:12 +01:00
Denis Blank
0982748ad6 Enable another test 2018-02-07 02:43:25 +01:00
Denis Blank
bc3e3c6473 Fix some warnings 2018-02-07 02:34:12 +01:00
Denis Blank
45f29c8d00 Enable a failing test 2018-02-07 02:28:49 +01:00
Denis Blank
6dc2b0d0b1 Make the tests pass 2018-02-07 02:15:09 +01:00
Denis Blank
a0a0619953 Fix some SFINAE failures in map_pack
* Make unpack capable of SFINAE
2018-02-07 01:57:22 +01:00
Denis Blank
230b3ec967 Some minor test improvements 2018-02-07 01:01:52 +01:00
Denis Blank
72974d402e Enable passing parts of the unit test 2018-02-06 03:30:24 +01:00
Denis Blank
78f1c0ae78 More work on the unit test 2018-02-06 03:21:44 +01:00
Denis Blank
752bee6ea4 Start to port the traversal unit tests 2018-02-06 00:44:51 +01:00
Denis Blank
032fc436b9 Fix an unused variable error 2018-01-29 00:20:38 +01:00
Denis Blank
5751152733 Add a memory leak regression test (detected by LSan) 2018-01-28 23:10:39 +01:00
Denis Blank
4c76a11f45 Fix a coroutine MSVC/Clang incompatibility 2018-01-28 22:39:53 +01:00
Denis Blank
6c209c876a Allows fail to accept plain continuables 2018-01-25 08:11:05 +01:00
Denis Blank
9286cfa8cc Feature detection placeholders 2018-01-24 23:05:23 +01:00
Denis Blank
db8c5b07c9 More work on the await clang build 2018-01-24 01:33:05 +01:00
Denis Blank
9b0ad832ff Add a missing include 2018-01-24 01:06:19 +01:00
Denis Blank
3626133f8e Happy new Year!
* Update license notices to 2018
2018-01-04 01:45:09 +01:00
Denis Blank
02965776e3 Additionally test co_await expressions with 1 or more args 2017-12-30 03:19:11 +01:00
Denis Blank
a85040b0c2 Basic skeleton for coroutine_traits 2017-12-28 05:26:29 +01:00
Denis Blank
5d95b5c3e3 Test that coroutines propagate thrown exceptions back to co_await 2017-12-28 04:16:13 +01:00
Denis Blank
d774371769 Await unit test 2017-12-27 06:06:25 +01:00
Denis Blank
434db0fc24 First working version of co_await using continuables! 2017-12-26 03:33:44 +01:00
Denis Blank
dbf73b6ac6 more 2017-12-08 21:59:59 +01:00
Denis Blank
73a8da1b86 Support value and error assignments in expected 2017-12-01 19:03:13 +01:00
Denis Blank
95d5f25f84 Rename flow -> next 2017-11-30 07:32:17 +01:00
Denis Blank
b4332b66c5 Make use of expected in await 2017-11-30 07:11:23 +01:00
Denis Blank
3d6bb4d8a7 Add tests for move assignment 2017-11-30 04:20:53 +01:00
Denis Blank
7fda8b9f65 Fix some build errors in expected and add typed tests 2017-11-30 04:17:13 +01:00
Denis Blank
bf89a98d60 Fix the build 2017-11-30 02:16:49 +01:00
Denis Blank
8b99c72071 more 2017-11-30 00:59:52 +01:00
Denis Blank
b3d350cb11 more 2017-11-14 03:13:54 +01:00
Denis Blank
6001e99723 Make continuables usable in await expressions 2017-11-13 15:03:52 +01:00
Denis Blank
1c0c17f699 Fix a test build error 2017-11-01 23:33:26 +01:00
Denis Blank
20c54f54cb Move transforms in their own toplevel namespace 2017-10-11 17:04:01 +02:00
Denis Blank
76f3fb0380 Add targets for warnings, flags and noexcept flags 2017-10-04 22:23:25 +02:00
Denis Blank
f3c33b58c6 Improve the documentation 2017-10-04 19:07:20 +02:00
Denis Blank
425d922965 Test the flatten transform 2017-10-04 18:45:45 +02:00
Denis Blank
b67ca1c224 Allow basic emulation of C++17 fold expressions 2017-10-04 04:32:49 +02:00
Denis Blank
04539ba638 Implement flatten as transform 2017-10-04 04:11:37 +02:00
Denis Blank
0eb272a46f Move generic transforms out of the main class
* Introduce apply to use generic transforms which are
  defined out of class.
2017-10-04 04:05:11 +02:00
Denis Blank
ec65ce0bf3 Attempt to fix the travis gcc build 2017-10-04 03:39:53 +02:00
Denis Blank
8f83d4d30c Split the sequence tests for an improved memory footprint 2017-10-04 03:33:32 +02:00
Denis Blank
09bae47e09 Add unit tests targeting error handler and inner handler exceptions 2017-10-04 03:11:10 +02:00
Denis Blank
1e1f5cdf5b Fix some issues with the no exception build 2017-10-03 21:59:09 +02:00
Denis Blank
4d964b0fe2 Add error handling testing 2017-10-03 21:55:04 +02:00
Denis Blank
2dd1b9f361 Promisify all and any callbacks 2017-10-03 20:08:48 +02:00
Denis Blank
935fd9d32d Initial work on error testing 2017-10-03 19:53:58 +02:00
Denis Blank
b488d88370 Simplify assert_async_binary_validation 2017-10-03 18:39:35 +02:00
Denis Blank
457a9dca00 Simplify some tests in order to reduce heap usage while building 2017-10-03 17:32:03 +02:00
Denis Blank
b8ff4c4c18 Split the chaining tests into multiple ones 2017-10-03 17:15:42 +02:00
Denis Blank
6f8edf3416 Thin out the tests 2017-10-03 17:01:05 +02:00
Denis Blank
3d0ce45ae4 Rename unique_callback to promise 2017-10-03 01:37:19 +02:00
Denis Blank
f5e10d9fba Split the base tests intro multiple files 2017-10-03 01:33:04 +02:00
Denis Blank
8d6c9ab895 Split util into traits and util 2017-09-27 01:10:35 +02:00
Denis Blank
bb70199422 Disable the cxx_function tests 2017-04-21 19:43:57 +02:00
Denis Blank
90dfde84c5 Rename all connection functions to their std counterparts:
- all_of -> when_all
- any_of -> when_any
- seq_of -> when_seq
2017-04-21 19:43:46 +02:00
Denis Blank
89559468e7 Update cxx_function to potswa/cxx_function@354f966 2017-03-19 17:50:06 +01:00
Denis Blank
6e04f0d389 Disable the cxx_function tests for now 2017-03-19 00:46:05 +01:00
Denis Blank
a2f9007cf6 Use cxx_function as second testing backend 2017-03-19 00:30:50 +01:00
Denis Blank
e22db05cc3 Add potswa/cxx_function@e7beb8bfe as second test type erasure backend 2017-03-18 23:35:14 +01:00
Denis Blank
8ac5e668c7 Add a missing unit-test for execcutors 2017-03-08 17:20:34 +01:00
Denis Blank
7ab7c726b6 Change the expected behaviour of some GTest macros from expect -> assert 2017-03-04 14:11:58 +01:00
Denis Blank
8d851d6d42 Rework the alias trait 2017-03-03 17:10:29 +01:00
Denis Blank
fae3d42ee0 Add a r-value overload of freeze
* Add checks for ensuring the propagation of the frozen property
2017-03-03 13:53:12 +01:00
Denis Blank
bf4335d602 Store the result of expect completion tests on the heap 2017-03-03 13:35:20 +01:00
Denis Blank
05b611ce78 Rework the ownership behaviour
* Add freeze and is_frozen methods to the continuable_base.
* Remove the public visibility of release.
2017-03-03 13:35:19 +01:00