summaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
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
2021-09-10Be explicit about the sign of defined integer constantsDavid Robillard2-6/+6
2021-09-10Fix conversion warningsDavid Robillard3-25/+40
2021-09-10Remove ZixStrindexDavid Robillard1-66/+0
2021-07-17Remove ZixSortedArrayDavid Robillard1-213/+0
2021-07-17Enable bugprone-suspicious-include clang-tidy checkDavid Robillard1-1/+0
I'm not sure why this was suppressed but it seems fine now.
2021-07-17Avoid allegedly "suspicious" string comparisonsDavid Robillard2-2/+1
I guess these are suspicious if you've never seen C before?
2021-07-17Avoid use of rand()David Robillard5-45/+69
2021-07-17Avoid use of atoi() and atol()David Robillard6-11/+10
2021-07-17Use line comments where appropriateDavid Robillard1-1/+1
2021-06-30Fix hash size after removing elementsDavid Robillard1-0/+7
2021-04-14Fix VS2019 warningsDavid Robillard1-1/+1
2021-01-16Allow all free functions to be called on nullDavid Robillard2-0/+4
2020-12-31Improve Bitset test coverageDavid Robillard1-0/+22
2020-12-31Improve SortedArray test coverageDavid Robillard1-2/+30
2020-12-31Fix zix_sorted_array_iter_is_end()David Robillard1-0/+8
2020-12-31Fix MinGW buildDavid Robillard5-24/+65
2020-12-31Update copyright headersDavid Robillard11-11/+11
2020-12-31Force enable assertions in BTree testDavid Robillard1-0/+2
2020-12-31Initialize all variablesDavid Robillard6-21/+23
2020-12-31Separate source from headersDavid Robillard1-31/+0
2020-12-31Format all code with clang-formatDavid Robillard12-1254/+1294
2020-12-31Avoid "else" after "return"David Robillard5-26/+67
2020-12-31Add separate clang-tidy configuration for testsDavid Robillard1-0/+25
2020-12-31Remove unused esoteric data structuresDavid Robillard3-351/+0
2020-11-11Add configure option to disable test malloc implementationDavid Robillard2-2/+2