Patrick Pelissier
030bea9c11
Add test for M_DEFER & M_LET_IF in exceptions
2023-03-18 17:57:46 +01:00
Patrick Pelissier
b7214ad11d
Adding test of NOCLEAR property
2023-03-18 17:20:30 +01:00
Patrick Pelissier
d813171e8a
Add new test generation
2023-03-18 09:15:39 +01:00
Patrick Pelissier
42111ec22a
Rename field of m_exception_t
2023-03-17 22:13:18 +01:00
Patrick Pelissier
ef0e849616
Fix test
2023-03-17 22:04:50 +01:00
Patrick Pelissier
144ae9c5ed
Add ID support for GAIA
2023-03-17 21:47:04 +01:00
Patrick Pelissier
b3c9f6ee47
Add support of exception for Visual C++
2023-03-14 20:00:11 +01:00
Patrick Pelissier
bfa948dc7a
Add WIP implementation for the exception memory model:
...
add header m-try that defines the M_TRY / M_CATCH macros
that macros similarly to the C++ try / catch keywords.
Add implementation for C++, GCC, CLANG and pure C compiler.
2023-03-13 23:31:50 +01:00
Patrick Pelissier
d02de75487
Add control that all initialized testobj are properly cleared at the end of the test suite
2023-03-12 20:29:58 +01:00
Patrick Pelissier
2f57766249
Rename NOEXCEPT to NOCLEAR property as NOEXCEPT
...
doesn't provide enough guarantee to the exception handler.
2023-03-12 20:23:31 +01:00
Patrick Pelissier
5683df0f22
Adding test for M_TEST_NOEXCEPT_P
2023-03-05 19:44:21 +01:00
Patrick Pelissier
b3440a2edd
Fix position of assertions
2023-02-24 20:35:32 +01:00
Patrick Pelissier
4140df5bfc
Improve test suite
2023-02-24 19:56:56 +01:00
Patrick Pelissier
8e2f67b794
Fix building on exe files: some targets don't link with LDFLAGS if it is not in the last argument
2023-02-23 12:42:11 +01:00
Patrick Pelissier
4062525821
Add test for RET in API transformation
2023-02-22 22:47:06 +01:00
Patrick Pelissier
8f99b8e617
Adding test for M_WORKER_SPAWN_DEF2
2023-02-18 00:25:06 +01:00
Patrick Pelissier
91f3174a36
Rename m-mutex header into m-thread
...
as it is not just about mutex but about thread functions
just like the header pthread or thread.h
2023-02-16 00:09:06 +01:00
Patrick Pelissier
bf7d4eee55
Avoid using .log suffix for failure checks
...
some Make program (like FreeBSD one) doesn't handle
priority of a specific rule over a generic rule.
So the generic rule is used for failure checks and it fails the check.
Use another suffix to avoid collision between rules
2023-02-10 23:57:28 +01:00
Patrick Pelissier
e421851525
TREE: Add tests for emplace functions
2023-01-28 14:48:50 +01:00
Patrick Pelissier
a2ae209992
Happy new year
2023-01-02 12:57:41 +01:00
Patrick Pelissier
f5bbc0a7fb
Implement multiple kind of workarounds for GCC 12
...
as it produces more false warnings
Include missing header in C++ mode
2022-12-22 20:42:20 +01:00
Patrick Pelissier
38f4107b19
Support of keyptr /valueptr iterator
2022-12-04 23:39:42 +01:00
Patrick Pelissier
cbefdab4bb
Add check of B+TREE map against C++ map
2022-12-04 21:26:20 +01:00
Patrick Pelissier
bcd0c46e8b
Simplify & factorize the instances of the check against C++
2022-11-30 23:56:29 +01:00
Patrick Pelissier
f25bb73e58
Add comparison to C++ unorder_map
2022-11-30 00:30:45 +01:00
Patrick Pelissier
3f0e8956b8
Add emplace method for buffer.
2022-10-11 22:47:14 +02:00
Patrick Pelissier
b82670b643
Add emplace support for concurrent.
2022-10-10 23:08:30 +02:00
Patrick Pelissier
f0ba5d17f4
Rework fuzzer support to be fully generic.
2022-10-10 22:47:43 +02:00
Patrick Pelissier
e51c988222
Add initial support for fuzzing
2022-10-07 23:39:54 +02:00
Patrick Pelissier
0be3900beb
Enable support for external testsuite from stdin
...
instead of pseudo random values.
This will enable to connect it to a fuzzer.
2022-10-07 23:28:12 +02:00
Patrick Pelissier
bc73616bde
Add test cases for emplace generation
...
for dict & B+tree
2022-10-03 22:40:44 +02:00
Patrick Pelissier
4aa4b7693f
Add M_C5_EMPTY macro
...
Add M_CROSS_MAP2 macro
Add emplace generation for associative array if both key & value are emplace types
Add test cases.
2022-09-25 22:13:51 +02:00
Patrick Pelissier
5674cdbfc5
Add new macro M_CROSS_MAP
...
enabling to map a function to each pair
of arguments given two arglists.
2022-09-25 00:30:23 +02:00
Patrick Pelissier
3641829198
M_INC (resp. M_DEC) of M_UNDERFLOW (resp. M_OVERFLOW)
...
will keep the initial error.
2022-09-16 18:46:13 +02:00
Patrick Pelissier
10a759b09e
Add another function for generation
2022-09-15 23:25:42 +02:00
Patrick Pelissier
3aa3e95e4c
Remove constraint of calling string_end_p
...
before string_next or string_get_cref
This generates slighty more code but it is much saner
from user point of view.
2022-09-13 00:18:15 +02:00
Patrick Pelissier
87f1e53e13
Add more basic iteration code generation analysis
2022-09-13 00:03:40 +02:00
Patrick Pelissier
d7b45cc220
Fix issue in string_previous
2022-09-11 23:14:52 +02:00
Patrick Pelissier
cbb2b452bb
Add string_previous function
...
to iterate on the previous UTF8 code point.
2022-09-10 16:30:45 +02:00
Patrick Pelissier
6e947c6262
Add more corner cases.
2022-09-10 16:21:19 +02:00
Patrick Pelissier
18f04da4ec
Robustness/fix:
...
string_next won't advance if the end of string is reached.
2022-09-10 16:19:58 +02:00
Patrick Pelissier
41c4f5fe5c
Add string functions :
...
* string_it_get_pos to return the position in the steam
* string_it_pos to start iterating from a given position.
2022-09-10 16:16:13 +02:00
Patrick Pelissier
cfeedf19f8
Rework to be more compliant (as far as it is possible)
...
to real cases.
2022-09-10 15:56:36 +02:00
Patrick Pelissier
442b0e7cea
Reduce size of struct string_it_t on 64 bits
...
by storing an offset to the next character
instead of a pointer. An offset can be stored as a
BYTE instead of a PTR since UT-8 can use at most
4 characters per code point.
2022-09-10 09:59:06 +02:00
Patrick Pelissier
0b853c6d52
Fix bug on bitset_resize function in case of increase of size:
...
the first limb may not be cleared properly in some cases.
(Reported by David M. Lary)
2022-09-04 19:27:38 +02:00
Patrick Pelissier
cc7fc66899
Add bitset_ctz function
2022-08-29 19:31:19 +02:00
Patrick Pelissier
6b994c2928
Add m_core_ctz32 & m_core_ctz64 functions
...
(Count trailing zeros)
2022-08-29 19:30:09 +02:00
Patrick Pelissier
ed27bedcb4
Make coverage perfoms a check that the computed coverage is at least
...
not lower than the reference coverage, ensuring no regression
on the coverage of the tests can occur.
NOTE: some tests (m-i-shared) perform some dynamic test cases
where the exact coverage depend on the exact dynamic behavior
of the test. And this behavior is not always reproducible
(for exact the calls to m_core_backoff_wait may not occur
if the threads are not trying to grab the resource at the
exact same time).
As such, the reference of such tests is taken from the worst
case of execution of the coverage (with the lowest number
of lines covered).
2022-08-20 23:29:02 +02:00
Patrick Pelissier
eb1a7a0435
Add more tests for tree
2022-08-19 23:16:42 +02:00
Patrick Pelissier
b6e0994dfc
Add test case for _init_set with empty tree.
2022-08-02 23:02:33 +02:00