Commit Graph

342 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