Commit Graph

442 Commits

Author SHA1 Message Date
2e700e6444 rand: add mwc64x generator 2016-06-30 18:20:57 +10:00
3b82757e5c test/random: use a constant seed 2016-06-30 15:26:45 +10:00
642317f6a4 json: use templated iterator for parsing from views 2016-06-28 14:16:28 +10:00
a87e03de34 hash: move tests to hash directory 2016-06-24 13:08:19 +10:00
350dd96b2d alloc: add base and offset methods 2016-06-22 19:51:18 +10:00
08536765b6 Merge branch 'crypto' 2016-06-20 18:08:46 +10:00
8d191fb2e1 hash/keccak: add initial sha3 base 2016-06-20 18:05:30 +10:00
a0d02c2fdb crypto/ice: add implementation of ICE 2016-06-20 18:04:41 +10:00
8333cad8cc WIP checksum test api 2016-06-20 16:53:56 +10:00
4b01f999c4 version: add comparator tests 2016-06-20 13:08:36 +10:00
f88958d17d WIP checksum namespacing 2016-06-17 15:57:36 +10:00
c3e2e1ae44 exe: add trivial test case 2016-05-13 15:23:05 +10:00
950c5ba0d4 ip: avoid temporary in test 2016-05-12 18:00:12 +10:00
829bdc2767 m/b/paged: annotate segv trigger for asan's benefit 2016-05-12 17:59:33 +10:00
e7c547f764 tuple: note why RTTI test was skipped 2016-05-12 17:59:08 +10:00
27b1bfc1ce hmac: print test number in logs 2016-05-12 17:58:52 +10:00
420e4215ef backtrace: test doesn't actually require output 2016-05-12 17:44:44 +10:00
8142944139 json: store numbers natively as uint/sint/real
allows more accurate representations and better error checking.
2016-05-12 17:41:31 +10:00
e17158b0bb build: add forgotten cxx headers
discovered testing clang 3.8 under freebsd
2016-05-12 17:31:33 +10:00
b814c83e21 test/json: run tests through a line wine/crlf wrapper
unit tests rely on AWKs record seperator being LF which presents issues
when running windows tests. rather than modify the tap-driver provided
by autotools (which would be extremely annoying to maintain) we run all
tests through wine-crlf.sh which will perform line ending transforms as
required.

it's a pretty braindead script, so don't do anything terrifically
extreme under it.
2016-04-27 17:13:36 +10:00
df9d0ce432 format: add invalid_specifier exception 2016-04-27 16:12:24 +10:00
9bbcfa6e63 make header paths more explicit 2016-04-05 11:06:35 +10:00
eacd2f6072 string: allow cstring tokenisers 2016-03-18 11:08:12 +11:00
6a1ea8ff29 string: add tokeniser 2016-03-17 18:14:40 +11:00
28d44593d8 view: add make_view, ref-qualifiers, comparators 2016-03-17 18:14:40 +11:00
f13c4487c6 cmdopt: add positional argument support 2016-03-15 13:56:13 +11:00
9e9477858b coord: add trivial operation tests 2016-03-14 22:32:52 +11:00
a59844be98 don't pull in namespace std 2016-03-11 13:28:56 +11:00
379e652e83 build: update for standalone pkgconfig deployment 2016-02-24 11:55:08 +11:00
817eb50efc image: move buffer into image directory 2016-02-19 13:56:12 +11:00
bbc06efa24 alloc/dynamic: add virtual allocator interface 2016-02-10 14:05:09 +11:00
d81b9f12fd pool: rename remain as size for consistency 2016-02-04 12:41:23 +11:00
5a3165d233 roots/bisection: add bisection root finder 2016-02-03 13:57:18 +11:00
c8afad1e5b rand/lcg: add naive LCG RNG 2016-02-03 12:13:03 +11:00
9248c2f379 format: test invalid specifier with unused specifier
we are using '!' as a specifier now, so don't test invalid specifiers
with this value...
2016-02-03 12:02:56 +11:00
f6fa44f54f random: rename test from rand to random 2016-02-02 11:32:04 +11:00
0fd72f0893 format: test case whitespace 2016-01-20 16:39:20 +11:00
c877192cfc format: add test case for char[] 2016-01-20 16:38:54 +11:00
d9a0649acb test: convert remaining tests to TAP 2016-01-19 18:31:49 +11:00
d232f1c871 alloc: rename 'size' to 'used' 2015-11-30 16:08:07 +11:00
ffe219748a alloc/arena: add simple test cases 2015-11-24 16:52:47 +11:00
4556745d77 memory/deleter: add trivial test case 2015-11-19 16:46:44 +11:00
99d025af4d strongdef: actually use tagging for disambiguation... 2015-11-19 15:06:52 +11:00
38678cc78e strongdef: add specialisation of numeric_limits 2015-11-18 14:46:43 +11:00
4599b11197 strongdef: add trivial instantiation test 2015-11-18 14:44:08 +11:00
791f8b2bcd maths: remove rootsquare, use std::hypot instead 2015-11-16 13:18:29 +11:00
b1bc54ac8c maths: move remaining operations into util namespace 2015-11-16 11:44:07 +11:00
1ec9582240 alloc: add initial allocator stubs 2015-11-13 17:18:10 +11:00
7b083df977 maths: tighten up type requirements for almost_equal
almost_equal only operates on two reals, or two integers (and even then
only on the same signedness).
2015-11-13 17:18:10 +11:00
32ca27abdf memory: add paged and circular buffers 2015-11-11 16:56:35 +11:00
a73fb9307c matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
176b33604b matrix: parameterise on dimension 2015-10-30 23:40:13 +11:00
fe7e3e9c6f test/maths: remove debug print statement 2015-10-29 18:23:07 +11:00
003685ce2b image: templatise on component count 2015-10-20 16:54:15 +11:00
c2770a266b maths: split normalise functions 2015-10-20 16:54:15 +11:00
b5929b7b4a image: remove access to w/h/s members 2015-10-19 17:43:48 +11:00
20bafa2cfb geom: move geometry primitives to own namespace 2015-10-13 18:19:47 +11:00
0283c6b0f9 build: disable rtti for release builds 2015-10-08 12:20:56 +11:00
2653a8ecee maths/fast: remove, it's broken 2015-09-29 17:42:20 +10:00
464c703ffd extent: add range-for adapter for extent points 2015-09-29 17:32:11 +10:00
b58dd7a880 extent: fix double negative for contraction 2015-09-22 17:23:54 +10:00
37f9390ef8 view: template on arbirtrary iterator types 2015-09-21 15:36:05 +10:00
ec42319224 coord: test for proper packing 2015-09-21 15:27:36 +10:00
9445b29bd3 test/json_types: use new style parse signature 2015-09-09 18:45:23 +10:00
08b6cbacea float: lower ULPs threshold for almost_equal
we weren't detecting differences with 4 decimal point differences
2015-08-20 15:34:20 +10:00
eb155d5bb0 m/fast: add some fast maths approximations 2015-07-29 16:11:48 +10:00
86b36afc49 image: add simple offset test 2015-07-23 21:19:15 +10:00
785a9e08f6 tap: remove default format strings 2015-07-21 03:17:20 +10:00
3b97f56ead polynomial: rename solve as roots 2015-07-21 02:59:14 +10:00
74d7f9c717 vector: add {to,from}_euler 2015-07-21 02:56:37 +10:00
7396057508 vector: use TAP in tests 2015-07-21 02:55:11 +10:00
f451e5555e format: add trivial printf wrapper 2015-07-21 01:37:45 +10:00
abf88710b4 test: use TAP on more tests 2015-07-13 16:30:54 +10:00
8840bae7b0 rational: update with more operators 2015-07-13 16:30:54 +10:00
991558fc7f build: remove unused options code 2015-07-02 17:25:04 +10:00
536284a56d cmdopt: add TAP testing 2015-07-02 17:03:56 +10:00
75af292340 cmdopt: transfer test cases from option tests 2015-06-30 22:24:44 +10:00
e8d3cf8eb1 maths: remove deprecated maths objects 2015-06-05 16:07:03 +10:00
fd319d579b build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
9b548e56d9 point: convert distance member functions to functions 2015-06-01 15:29:24 +10:00
3a4fed804a fasthash: add initial implementation 2015-05-28 12:17:25 +10:00
a61ea32228 murmurhash: add initial translation 2015-05-25 16:12:45 +10:00
054dfa918e crypto: add XXTEA {en,de}cryption. 2015-05-15 18:27:24 +10:00
7f0c7466e4 crypto: encrypt in-place where it suits 2015-05-15 18:26:45 +10:00
ddaca2f453 XTEA: add extended TEA encryption 2015-05-07 00:18:01 +10:00
dd05d677dd TEA: use static sized storage for tests 2015-05-07 00:17:20 +10:00
9d3c058873 TEA: add "Tiny Encryption Algorithm" 2015-05-06 23:49:45 +10:00
717644acde arc4: add initial implementation 2015-05-06 21:38:56 +10:00
70c65c2bb2 introspection: map tuples to themselves in type_tuple 2015-05-01 02:49:19 +10:00
358f2ddb60 tuple: test tuple mapping with template src types
Added complexity in the test to help diagnose issues with the
introspection code.
2015-05-01 02:43:27 +10:00
7bc96bd60f maths: explicitly instantiate PI for float, double 2015-05-01 02:42:32 +10:00
bb1e87bb47 options: don't import util and std namespaces 2015-04-30 21:03:18 +10:00
c052d7df4b maths: use templated PI and E constants 2015-04-29 17:45:39 +10:00
33401becbd tuple: add type mapping template 2015-04-21 14:21:01 +10:00
199be3213a introspection: add simple static introspection types 2015-04-20 17:51:00 +10:00
fa8387252e tuple: add tuple iteration helpers 2015-04-20 17:48:11 +10:00
e939cca6fd ray: return NaN for negative aabb intersection 2015-04-15 14:20:59 +10:00
ffaf10de21 extent: silence unused variable warning in test 2015-04-15 14:06:30 +10:00
6f1278767f vector: add is_normalised 2015-04-15 13:52:37 +10:00
8863ebafe9 ray: add ray-sphere intersection test 2015-04-13 21:47:51 +10:00
7e2baf6751 ray: convert test to TAP format 2015-04-13 21:47:37 +10:00
7ae57730f0 whitespace 2015-04-13 18:06:08 +10:00
bbbbb675a6 test: move tests to TAP output 2015-04-13 16:45:56 +10:00
e9c0ed3f5f tap: use an object for logging 2015-04-13 16:43:49 +10:00
a7f96a127d colour: add hsv/rgb conversions 2015-04-09 21:50:42 +10:00
7307d73bbc colour: add html and x11 string lookup 2015-04-09 20:46:55 +10:00
ef4475949d colour: specialise the cast function 2015-04-09 20:46:24 +10:00
bd88832df3 coord: move cast/redim operations to coord 2015-04-09 17:58:47 +10:00
9f6c17d6cf maths: add renormalise function 2015-04-09 17:44:50 +10:00
afad51db9d aabb: add expand call 2015-04-09 14:05:01 +10:00
a300f99b87 vector: add polar_to_cartesian 2015-04-02 15:01:17 +11:00
5674f2a2e9 json: add basic json-schema draft 4 support 2015-03-19 00:25:50 +11:00
4e3d67185c rename line to ray 2015-03-11 22:31:35 +11:00
daa492ce07 signal: add return value combiners 2015-03-10 22:52:38 +11:00
2cd7ce0aca maths: use qualified min/max functions 2015-03-07 03:21:06 +11:00
994121f2bf line: add aabb intersection test 2015-03-07 03:20:50 +11:00
439bb19679 coord: move operators out of subclasses 2015-03-06 01:09:58 +11:00
31d1d741e9 extent/region: update to use size parameters 2015-03-03 04:13:29 +11:00
e5d99b3370 coord: use stricter member variable names
use tags for the core coordinate structures to specify what names should
be used for the data variables (in the data union)
2015-03-03 04:11:30 +11:00
29a148e2e5 hash/hotp: add simple HOTP implementation 2015-03-02 02:55:54 +11:00
cedcf90c3f hash/hmac: add HMAC-SHA1 support 2015-03-02 01:21:52 +11:00
e52b8368f2 hash/hmac: add rfc 2202 test data 2015-03-02 00:41:52 +11:00
f4fe636cb0 hash/hmac: add simple HMAC-MD5 2015-03-02 00:07:50 +11:00
ebfa147cd2 line: add trivial line type 2015-02-19 13:29:16 +11:00
c8f067bf60 signal: add value wrapper signal 2015-02-19 13:29:16 +11:00
509d9a1582 matrix: remove debug print in test 2015-02-19 13:29:16 +11:00
6ac02a9920 point: add homogenous redim 2015-02-19 13:29:16 +11:00
38d3fc1961 signal: simplify unneeded signal elements
* use function syntax for template type
* remove non-scoped cookie
* simplify many type names
2015-02-18 02:35:05 +11:00
6bd9ad333c region: try to use unsigned types for extent 2015-02-17 16:23:54 +11:00
ecc40f2315 build: fold test makefile into primary makefile
Moving the subdir makefile into the main one lets us more easily track
dependencies for reliable builds. Previously we tended to build against
old versions of the static library when running the tests.
2015-02-13 18:02:09 +11:00
331f185160 extent: add trivial validity instantiation test 2015-02-13 17:32:31 +11:00
d7e3683417 uri: check component values in unit test 2015-02-11 16:43:27 +11:00
4245785005 uri: add simple uri parser 2015-02-09 17:43:24 +11:00
81ccdcf8ef fixed: add signed supported 2015-02-06 20:01:26 +11:00
4f19a35b7d fixed: add trivial tests 2015-02-06 16:35:40 +11:00
9a6c4572fa float: correctly handle double comparisons 2015-02-03 15:54:55 +11:00
3d53ee5eb1 bezier: add region query 2015-02-03 12:58:41 +11:00
e5b85b559b point: fix float warning on test instantiation 2015-02-03 02:21:58 +11:00
60787655b3 json: split json impl files into tree and flat 2015-02-03 00:15:07 +11:00
81a7ff5db5 json: use raw string literals for test data 2015-02-02 23:02:26 +11:00
f3f969c8cb json: rewrite test data for rfc7159 compliance 2015-02-02 23:01:57 +11:00
cfc0f8ecd0 json: move tree parsing code to json::tree 2015-02-02 21:26:56 +11:00
7a5e26ffc2 options: reset processor for each test
eliminates errors when CHECK macros are disabled in release builds
2015-01-30 16:46:47 +11:00
cae7a80ec1 test: move tests to flat directory structure
removes complications when srcpath/dstpath or child/parent directories
have naming collisions (in particular the json directories).
2015-01-30 16:45:57 +11:00
6bf011efa4 float: tighten up almost_equal tolerance 2015-01-29 15:49:57 +11:00
cf5a682959 bezier: add intersection count test 2015-01-29 15:49:57 +11:00
54cb3c2153 tap: add rudimentary TAP helpers 2015-01-29 15:49:57 +11:00
c841aadda0 float: fix negative-zero/zero almost_equal 2015-01-29 15:49:57 +11:00
52f53caee5 debug: drop support for CHECK_HARD
HARD vs SOFT assertions were never very well defined or supported.
Currently they just imply a level of functionality that isn't present;
it's better to remove them instead of expending the effort at this
point.
2015-01-28 14:49:34 +11:00
7934ae865b bezier: add straight line tests for order 1-3 2015-01-22 14:57:57 +11:00
b9f38eb4a9 polynomial: use correct degree in template param 2015-01-22 14:57:38 +11:00
bd12519d94 polynomial: use newtons method after cubic solve 2015-01-22 00:27:46 +11:00
5469fdf06b polynomial: initial degree 1-3 solvers 2015-01-21 23:40:45 +11:00
0a2d163bb1 maths: seperate float and double PI 2015-01-21 23:40:13 +11:00
fe143717c5 region: style, comments, namespacing 2015-01-21 23:40:13 +11:00
75156cedc3 colour: remove redundant rgba member variables 2015-01-15 14:03:44 +11:00
bb0271ab2b point: add simple redim with fill test 2015-01-13 18:41:51 +11:00
f309c5dbd0 maths: add float overload of to_radians 2015-01-13 18:41:51 +11:00
7c8562407f rand: remove narrowing cast warning in test 2014-12-16 15:29:26 +11:00
557842441f matrix: remove unneeded cast warning in test 2014-12-16 15:28:59 +11:00
5956d0421e parameterise point, vector, region, matrix on type 2014-12-15 20:10:56 +11:00
a198aa1cba matrix: add trivial matrix-mul test 2014-12-15 13:32:17 +11:00
6a6933ea70 build: update test to use only static libraries 2014-12-15 13:32:17 +11:00
733f16d1c8 build: add json test data to dist 2014-10-26 18:55:24 +11:00
cf6fc87c9f options: use range based for in some tests 2014-10-21 21:48:13 +11:00
bb3cbb584c maths: add log2up 2014-09-17 16:41:38 +10:00
b3e72051d6 maths: fix log2 2014-09-17 16:41:19 +10:00
37ed0fc5fd hash: cleanup fletcher 2014-09-11 15:44:03 +10:00
9bd80ab85c test: remove indirect script for json.test 2014-09-03 18:35:28 +10:00
61ee601df1 bitwise: use lookup table for byte reverse
When used across large buffers an iterative reverse scheme is lesss
efficient. The small cache cost for single reverses is good enough to
just eat here.
2014-09-01 16:23:46 +10:00
34f5036616 build: ignore built matrix test 2014-08-22 19:08:34 +10:00
3ab2e8ed57 matrix: add analytical 4x4 inverse 2014-08-19 20:45:28 +10:00
c086e2c9d7 test: move maths-matrix test to maths dir 2014-08-18 22:16:50 +10:00
39617fb471 test: move maths namespace checks into own dir 2014-08-18 22:16:50 +10:00
523d5efd05 test: build tests against static libraries 2014-08-18 22:16:50 +10:00
f6894fabc8 whitespace 2014-08-18 22:16:50 +10:00
8a400f7fe9 test: add stringid to gitignore 2014-08-01 21:37:31 +10:00
226500cb83 test: hack to make json.test executable 2014-08-01 21:37:04 +10:00
aa52f440bc test: use absolute paths for json.test 2014-05-26 17:34:23 +10:00
6cce50cd1b Merge branch 'master' of ssh://nerdcruft.net/var/git/libgim 2014-05-26 17:11:29 +10:00
eb05c7622e add stringid for mapping between strings and ints 2014-05-26 17:11:07 +10:00
228421d974 test: run all checks through the TAP driver
This will allow more natural checking of hashes and json as they expand.
2014-05-23 17:11:28 +10:00
61634286d3 hash: call finish before comparing in tests 2014-05-20 13:33:08 +10:00
5c0ac60e2f json: use new tool path for tests 2014-05-09 13:14:13 +10:00
1b96816bd3 matrix: debug build fix for braces and defines 2014-05-09 13:13:18 +10:00
513b09c1c9 sha2: rename SHA2 class to SHA256
temporary rename for clarity in existing algorithm code. revisit when/if
we get implementations for each bit length.
2014-05-09 13:01:02 +10:00
a88379bf36 hash: add sha2 implementation 2014-04-16 19:17:56 +10:00
028dee034a bitwise: add rotater 2014-04-16 19:16:25 +10:00
fc935863ef sha1: cleanup and fix test cases 2014-04-16 18:35:09 +10:00
21b2b2368c Increase rand test iterations
Sometimes we get test errors when running the rand test. Obviously this
is expected a little based on the implementation, but we can reduce the
chance by increasing the iterations for the test.
2014-04-10 21:04:56 +10:00
6074ccdd21 Remove useless extension protection from gitignore 2014-04-10 21:04:32 +10:00
b33cb706c8 Add RIPEMD160 implementation 2014-04-10 21:04:07 +10:00
9cc47a05bd Add point::redim implementation 2014-02-18 15:28:28 +11:00
ca2493f811 Add top include path to test programs 2013-08-26 15:10:23 +10:00
e67e0329fa Remove dependency on system netlibs for ip test 2013-08-05 21:46:31 +10:00
1fac4bff06 Simplify test case CPPFLAGS 2013-08-05 21:46:31 +10:00
a072f97ffe Rename random test to avoid #including built test 2013-08-05 21:43:01 +10:00
bb19448ee9 Fix missing headers in tests for windows 2013-08-05 16:45:03 +10:00
0c4f9cb275 Fix headers and linking for network tests 2013-08-05 16:43:52 +10:00
8de0495b8a Add basic randomness checks for random generators 2013-07-30 15:10:10 +10:00
d74b8ad40f Simplify the test binary cxx/ld flag specification
Rather than set the flags for each binary we can use global flags for
this file and cut down on redundancy.
2013-07-30 14:25:38 +10:00
db18432f1c Move all hash implementations to hash subdir 2013-07-13 14:40:13 +10:00
9bdc50df3c Add SHA1 implementation 2013-03-11 20:47:48 +11:00
7099c9bc50 Add MD5 implementation 2013-03-11 20:45:53 +11:00
905a2236a2 Add MD4 implementation 2013-03-11 20:44:32 +11:00
8df03fae81 Add MD2 implementation 2013-03-11 20:43:15 +11:00
990d5ab806 Rename rotate_left to the more friendly rotatel 2013-03-11 20:41:19 +11:00
886a36ad5c Fix floating comparison warnings in json test 2013-02-27 15:17:33 +11:00
d17f55cba8 Use unique_ptr rather than plain pointer 2013-02-27 15:10:17 +11:00
d482f1fde4 Whitespace and minor c++11 fixups 2013-02-26 18:56:25 +11:00
0b30b56c58 Add straggling files to ignore list 2013-02-26 18:32:36 +11:00
6f4d899c0b Imported libcmdopt option parsing 2013-02-26 18:31:14 +11:00
baf8ded43d Add UNIT and MAX region objects 2012-06-15 16:38:57 +10:00
c0dcdd89d9 Add MAX range object 2012-06-15 16:38:24 +10:00
94189e5b58 Rename json test data to aid 'make clean' 2012-06-12 13:03:50 +10:00
9098ea408d Add contains vs includes region tests 2012-06-08 16:48:33 +10:00
71576c9e7b Fix test case headers for new types.hpp 2012-05-26 18:01:54 +10:00
ea9d6c175d Support initial NaN range with range::expand 2012-05-23 20:42:05 +10:00
83a30c9d94 Uppercase usage of check in json tests 2012-05-14 16:10:32 +10:00
4f5d75a1df Make all check macros uppercase 2012-05-11 12:34:21 +10:00
4dc7a3ca49 Add simple region overlap testcase 2012-05-11 12:21:47 +10:00
f4ab656ef1 Temporarily disable broken test case 2012-05-11 12:20:54 +10:00
b6f9bf9ebd Add tests for almost_equals NaN and Inf 2012-05-03 15:59:54 +10:00
89fb2b238c Use the json-validate tool for unit tests 2012-04-20 18:20:15 +10:00
1627754b6a Remove simple compilation warnings for tests 2012-04-19 16:54:36 +10:00
cdd1f60b0d Update tests to use the util namespace 2011-11-04 17:28:04 +11:00
6560353cb0 Add some simple checksum algorithms
* adler
* bsdsum
* crc
* fletcher
2011-11-04 17:04:42 +11:00
3839ccad03 Use util namespace for range test 2011-08-29 14:40:05 +10:00
336c0d5577 Use new endian headers for hton test 2011-08-29 14:39:42 +10:00
4091a5874d Fix test syntax errors 2011-07-29 17:56:26 +10:00
d00f0a2639 Expand the ignore list for windows exe suffix 2011-07-06 22:00:24 +10:00
24e4cb4b35 Use correct header for EXIT_SUCCESS 2011-07-06 19:39:22 +10:00
6ba7a532f7 Add signal with pointer compilation/linking test 2011-07-03 16:04:49 +10:00
b4d6500f5f Add simple pool allocator implementation 2011-07-01 13:47:08 +10:00
d9dba1d155 Add simple signal object implementation 2011-06-27 15:31:41 +10:00
21d6536a13 Compare our IP parser against inet_pton 2011-06-23 22:08:31 +10:00
c8804cbe8e Added generic hton and ntoh functions 2011-06-21 23:36:51 +10:00
8568a325c0 Add first pass of ipv4::ip parsing and object 2011-06-21 21:42:20 +10:00
f924c990df Add template based elems implementation 2011-06-21 20:16:39 +10:00
bc8f2d9190 Link tests to libutil using relative build path 2011-05-25 23:03:06 +10:00
e73a7e0e1b removed unneeded local variables 2011-05-25 23:03:00 +10:00
745e06d1af initial import from waif 2011-05-23 17:18:52 +10:00