summaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2022-09-02Improve test coverageDavid Robillard1-0/+1
2022-09-01Simplify thread and semaphore status codesDavid Robillard2-3/+3
2022-08-19Avoid unused parameter warningDavid Robillard1-0/+1
2022-08-19Simplify errno handlingDavid Robillard1-3/+3
2022-08-19Move sem implementation out of headerDavid Robillard1-1/+1
This avoids having platform conditionals in public headers, which causes build problems for dependants.
2022-08-18Relax test timingDavid Robillard1-1/+1
2022-08-18Add zix_sem_timed_wait()David Robillard1-0/+14
2022-08-18Fix semaphore error handlingDavid Robillard2-4/+17
Note that existing code which uses zix_sem_try_wait() may still compile against this change, but be incorrect!
2022-08-18Fix thread function attributes on WindowsDavid Robillard3-10/+5
2022-08-18Reduce tree test complexityDavid Robillard1-104/+77
2022-08-18Improve test coverageDavid Robillard2-4/+96
2022-08-18Fix or remove non-portable features in thread APIDavid Robillard3-12/+57
Thread function return values are inconsistent between nearly every threading API out there. So, just ignore them entirely, and provide a typedef and sentinel value so user code can be portable.
2022-08-18Factor out converting errno codes to ZixStatusDavid Robillard1-2/+31
2022-08-18Use conventional test executable namesDavid Robillard9-1/+5
2022-07-13Suppress new warnings in clang and clang-tidy 14David Robillard1-0/+2
2022-06-28Simplify clang-tidy configurationDavid Robillard1-2/+0
2022-06-28Use uppercase integer literal suffixesDavid Robillard9-80/+78
I give in.
2022-06-28Simplify dep5 file by adding license headers where possibleDavid Robillard1-0/+3
2022-06-28Fix build as C with MSVCDavid Robillard1-1/+1
2022-06-28Clean up build configurationDavid Robillard1-3/+0
2022-06-28Remove redundant includesDavid Robillard1-1/+0
This is implicitly included by <inttypes.h>.
2022-03-14Reduce default BTree test timeDavid Robillard1-1/+1
2021-12-17Suppress new warnings in clang-tidy 13David Robillard2-3/+4
2021-09-18Use assertions in Bitset testDavid Robillard1-52/+14
2021-09-16Add a simple bump pointer allocatorDavid Robillard2-1/+60
2021-09-14Replace shared library malloc shim with explicit allocation testingDavid Robillard4-177/+124
The old approach was generally annoying to deal with sometimes, and not particularly portable. This replaces it by using the new custom allocator interface with unit tests that specifically check that failed allocation is handled properly.
2021-09-14Add aligned allocation interface and use it in ZixBTreeDavid Robillard2-0/+33
2021-09-14Make ZixAllocator a single flat structDavid Robillard4-44/+48
I can never decide between these two patterns for polymorphic objects in C, but this one seems more appropriate here since it's more conducive to inheritance.
2021-09-13Remove unused includeDavid Robillard1-1/+0
2021-09-10Avoid GCC recommending a const mainDavid Robillard1-8/+4
These warnings are useful in general, but are pointless with main functions and annoying to avoid. Arbitrarily print something to make it go away.
2021-09-10Fix function attribute warningsDavid Robillard2-0/+3
2021-09-10Adopt REUSE machine-readable licensing standardDavid Robillard14-210/+28
2021-09-10Add test for zix_strerror()David Robillard1-0/+47
2021-09-10Use assert in Sem testDavid Robillard1-13/+7
2021-09-10Use assert in Ring testDavid Robillard1-91/+26
2021-09-10Test failed Ring allocationDavid Robillard3-18/+178
2021-09-10Add custom allocator supportDavid Robillard5-12/+78
2021-09-10Add nullability annotationsDavid Robillard1-0/+3
This allows clang to issue warnings at compile time when null is passed to a non-null parameter. For public entry points, also add assertions to catch such issues when the compiler does not support this.
2021-09-10Move attribute definitions to a separate headerDavid Robillard6-3/+6
2021-09-10Rewrite ZixHash as a flat table with open addressingDavid Robillard2-80/+235
2021-09-10Replace CRC32 digest with more modern and appropriate algorithmsDavid Robillard2-41/+92
This makes the hassle of platform-specific code go away, and instead uses portable implementations of relatively standard modern hash algorithms. CRC32 is not great as a hash function anyway, though it is very fast when hardware accelerated.
2021-09-10Add a user handle to destroy callbackDavid Robillard2-12/+14
2021-09-10Add test that covers more BTree removal casesDavid Robillard1-0/+39
2021-09-10Add test for reinserting a value that is a BTree node split pivotDavid Robillard1-0/+20
2021-09-10Add test for BTree iterator comparisonDavid Robillard1-0/+44
2021-09-10Simplify BTree implementationDavid Robillard1-3/+3
2021-09-10Avoid inserting wildcards as values in BTree testDavid Robillard1-8/+8
2021-09-10Allow ZixBTreeIter to be allocated on the stackDavid Robillard1-49/+8
2021-09-10Remove destroy field of BTree and add zix_btree_clear()David Robillard1-10/+53
If this is used, it is only when clearing or freeing a tree. Allowing it to be given as a parameter directly there is clearer and avoids bloating the tree itself with information that isn't needed.
2021-09-10Suppress new warnings in clang-tidy 12David Robillard1-0/+3