Commit Graph

323 Commits

Author SHA1 Message Date
Joost Rijneveld
9e5fd74823
Test for prohibited includes in api.h 2019-04-09 17:19:20 +02:00
Douglas Stebila
6fabab1fd9 Merge branch 'master' into more-frodo 2019-04-09 09:06:20 -04:00
Joost Rijneveld
cffe944bbf
Check that implementations are uniquely named 2019-04-08 11:39:17 +02:00
Joost Rijneveld
fe010541ec
Move secret key length to implementation meta 2019-04-08 11:39:17 +02:00
Thom Wiggers
6257e9ea48
Merge pull request #91 from PQClean/detached-signatures
Test detached signatures
2019-04-08 11:37:36 +02:00
Joost Rijneveld
493d77d89b
Ensure tests do not break without schemes 2019-04-08 11:14:45 +02:00
Joost Rijneveld
87a3c6ab39
Add functest/testvectors for detached signatures 2019-04-08 10:23:24 +02:00
Douglas Stebila
e697ee7fdd Merge branch 'master' into more-frodo 2019-04-07 08:15:13 -04:00
Douglas Stebila
7a5f7b9941
Enable some extra warnings (#67)
Enable some extra warnings
2019-04-07 08:14:41 -04:00
Douglas Stebila
2d6be066e7 Add FrodoKEM-1344-SHAKE 2019-04-06 09:22:15 -04:00
Douglas Stebila
bef34697fb Pull pycparser submodule if it's not present 2019-04-06 09:21:40 -04:00
Douglas Stebila
46aa7ff9b2 Move duplicate consistency data outside of META.yml 2019-04-06 09:07:44 -04:00
Douglas Stebila
a296085e57 Merge branch 'master' into more-frodo 2019-04-06 08:51:03 -04:00
Joost Rijneveld
e2fcad2823
Merge branch 'master' into reduce-iterations 2019-04-06 13:10:21 +02:00
Thom Wiggers
1e9defd090
build printparams on Windows 2019-04-05 17:21:56 +02:00
Thom Wiggers
d1fd8aa934
Check the specified sizes of the metadata match api.h consts
Fixes #88
2019-04-05 17:04:37 +02:00
Thom Wiggers
c95d2816bd
Enable some extra warnings
These warnings should help catch some non-obvious bugs.
2019-04-05 16:44:54 +02:00
Thom Wiggers
d39d7c66db
Add missing metadata to META 2019-04-05 16:38:26 +02:00
Joost Rijneveld
f355e77407
Clarify and reduce iterations for sig testvectors
This is actually different from signature functests,
which only tests mlen=32. Can be fixed later as that does
not impact the testvectors.
2019-04-05 16:32:39 +02:00
Douglas Stebila
19d177efb3 Use 5 iteractions for functional tests and test vectors 2019-04-05 10:22:52 -04:00
Joost Rijneveld
41edb79c0a
Clarify cc vs cpp 2019-04-05 13:04:32 +02:00
Thom Wiggers
4e47a0b513
Skip the prohibit-char test on Windows due to lack of cc 2019-04-05 10:39:08 +02:00
Thom Wiggers
bfa8589f96
Use cc -E instead of cpp 2019-04-05 10:31:31 +02:00
Douglas Stebila
0145ddaa1b More stack! 2019-04-04 12:45:24 -04:00
Douglas Stebila
301f7aca57 Always return negative numbers so positive+negative != 0 2019-04-04 12:39:47 -04:00
Douglas Stebila
49729d6da0 Larger stack size for FrodoKEM 976 on Windows 2019-04-04 12:39:04 -04:00
Douglas Stebila
ad4984fdad Improve skipping for duplicate_consistency test 2019-04-04 12:38:47 -04:00
Douglas Stebila
7a4e0d445b Skip duplicate consistency check on Windows (i.e., if sed not available) 2019-04-04 12:07:54 -04:00
Douglas Stebila
bc5d18e7cd Add duplicate consistency check 2019-04-04 12:05:43 -04:00
Joost Rijneveld
97e428a0b7
Skip preprocessing when cpp unavailable 2019-04-04 14:52:11 +02:00
Joost Rijneveld
17fc0da52e
Prohibit using char without explicit sign modifier
Related to #79
2019-04-04 13:49:15 +02:00
Douglas Stebila
4162be0401 Switch for int and unsigned char to size_to and uint8_t 2019-04-02 14:06:06 -04:00
Douglas Stebila
06973e6127 Force make clean on test_compile_lib
Helpful for local builds, even though it has no effect on fresh CI builds
2019-03-31 22:00:39 -04:00
Douglas Stebila
812c7f54ac Global search and replace on sed 2019-03-21 22:56:28 -04:00
Thom Wiggers
e811376a95
Do the test more properly 2019-03-19 15:20:59 +00:00
Thom Wiggers
6558773b21
Check if header guard is defined properly
Does this slightly uglily, but it should work.
2019-03-19 15:02:09 +00:00
Thom Wiggers
05b0f6d9cc
Namespace the #define constants. 2019-03-19 13:28:15 +00:00
Joost Rijneveld
f0ffc59696
Add SHA224 for completeness 2019-03-11 16:50:00 +01:00
Joost Rijneveld
83810dcc47
Expose incremental SHA2 API 2019-03-11 16:50:00 +01:00
Joost Rijneveld
6d84aec3db
Add SHA256 2019-03-11 16:50:00 +01:00
Thom Wiggers
91c2fb59cf
Merge pull request #74 from PQClean/incremental-fips202
Add incremental API for SHAKE and SHA3
2019-03-11 15:19:36 +01:00
Joost Rijneveld
e959357f97
Remove fips202 test from all tests target
It's nice to be able to test this, but it does not need to happen
for every CI run.
2019-03-11 15:06:04 +01:00
Joost Rijneveld
760b5926c4
Add incremental SHA3 2019-03-07 17:01:23 +01:00
Joost Rijneveld
23178c4c32
Add incremental API for shake128 and shake256 2019-03-07 17:01:16 +01:00
Thom Wiggers
1399c7fd1f
Only ignore missing helper programs if not on CI
use randombytes in functest

Got dropped by the rebase

Work around missing clang-tidy on Travis

Also check if valgrind is available
2019-03-07 08:43:13 +01:00
Thom Wiggers
e450cd6042
Set modification time via os.utime
Hopefully quicker on Windows
2019-03-06 17:15:24 +01:00
Thom Wiggers
ff186b3dd6
Run AStyle if it is installed
Also try to install it on AppVeyor
2019-03-06 17:15:24 +01:00
Thom Wiggers
45e645c3a7
Fix Makefile.Microsoft_nmake header dependencies 2019-03-06 17:15:23 +01:00
Thom Wiggers
f25824246f
small improvements of reporting 2019-03-06 17:14:36 +01:00
Thom Wiggers
13867ab7b4
Fix tests on Windows 2019-03-06 17:14:36 +01:00
Thom Wiggers
dc1f7e204a
Add returncode support to helper.make 2019-03-06 17:14:35 +01:00
Thom Wiggers
7ad19a30a4
First start of windows test support 2019-03-06 17:14:31 +01:00
Thom Wiggers
07b8c2ebe9
Make all apis use the uint8_t and size_t types 2019-03-05 14:14:47 +01:00
Joost Rijneveld
e74fcbecc0
Merge pull request #66 from PQClean/tidy-python
Move clang-tidy into python-based tests
2019-03-05 11:23:03 +01:00
Thom Wiggers
75be658074
Clean up tests
Modify the tests to no longer construct the classes multiple times and
to have them make use of the new helpers.make() function.
2019-03-04 17:02:46 +01:00
Thom Wiggers
4178768599
Skip clang-tidy if not available 2019-03-01 13:00:43 +01:00
Thom Wiggers
e8c4cf949b
Move clang-tidy into python-based tests 2019-03-01 11:44:22 +01:00
Matthias J. Kannwischer
7a36262f6a
Merge pull request #60 from PQClean/format-check-in-python
Add formatting tests to the python-based testing framework.
2019-03-01 11:27:37 +01:00
Thom Wiggers
facc293a21
Add format tests to python tests 2019-02-28 17:06:44 +01:00
Thom Wiggers
17c9840b57
Move valgrind tests to python-based testing framework 2019-02-28 16:45:15 +01:00
Thom Wiggers
dac7235643
Only skip ASAN on ppc with Clang 2019-02-28 16:44:10 +01:00
Thom Wiggers
53591961c9
Fix supported platform debug print 2019-02-28 16:32:24 +01:00
Thom Wiggers
ea47ab3dad
Fix arm platform names 2019-02-28 16:18:06 +01:00
Thom Wiggers
1180de5d30
Add environment to sanitizers on ARM 2019-02-28 16:17:58 +01:00
Thom Wiggers
73197c6516
Add sanitizers to functests 2019-02-28 16:17:06 +01:00
Thom Wiggers
f3e38dbfb2
Merge pull request #62 from PQClean/functestunalign
Un-align input byte arrays to catch assumptions about data alignment
2019-02-28 15:57:06 +01:00
Joost Rijneveld
da90b709d3
Merge pull request #58 from PQClean/containerized-build
Greatly simplify container builds
2019-02-28 15:56:54 +01:00
Thom Wiggers
3c81f6940d
Stupid typo 2019-02-28 13:42:04 +01:00
Thom Wiggers
7c5e671dac
Should fix the i386 build 2019-02-28 13:42:04 +01:00
Thom Wiggers
bd65daa615
Merge pull request #61 from PQClean/windows-W4
Set windows warnings to W4
2019-02-28 13:24:57 +01:00
Matthias J. Kannwischer
27344bd7ca un-align pointers. Resolves #24 2019-02-28 09:15:09 +01:00
Thom Wiggers
58aba49ca2
take out assignment in conditional because windows is not happy about it 2019-02-27 17:08:59 +01:00
Thom Wiggers
4d4504ac20
Set windows warnings to W4 2019-02-27 16:00:06 +01:00
Thom Wiggers
6f992f370f
Add sanity check to not just see if the scheme always rebuilds 2019-02-27 15:29:20 +01:00
Thom Wiggers
e29de416fb
Faster check of makefile dependencies
We do not actually need to compile the files.
2019-02-27 15:27:41 +01:00
Thom Wiggers
2b381e9a78
Merge pull request #54 from PQClean/no-dynamic-memory-allocations
Detect use of dynamic memory allocation functions
2019-02-27 14:24:11 +01:00
Joost Rijneveld
72007d3847
Detect use of dynamic memory allocation functions 2019-02-27 13:59:00 +01:00
Thom Wiggers
94224fb02c
Don't always Make clean
Undoes a7328f827c
2019-02-27 11:29:39 +01:00
Joost Rijneveld
0348ff7a11
Also include implementation namespace in Makefiles 2019-02-27 09:18:38 +01:00
Joost Rijneveld
879574b695
Include name of implementation in namespace 2019-02-27 09:18:38 +01:00
Douglas Stebila
2cb4cae4a4 Wrong source file for building functional tests 2019-02-26 20:46:09 -05:00
Douglas Stebila
2db9f22aac Compute touch timestamps in Python 2019-02-25 23:42:48 -05:00
Douglas Stebila
50801485f0 Add test to check that every .c / .h file triggers a library rebuild 2019-02-25 23:28:37 -05:00
Douglas Stebila
5f3e8ca2d5 Build functional tests and test vectors on Windows continuous integration 2019-02-25 21:40:43 -05:00
Douglas Stebila
a7328f827c Force rebuilding implementation when building test files 2019-02-19 10:02:25 -05:00
Douglas Stebila
19ebdd9ab4
Test for symbolic links (#42)
Test for symbolic links
2019-02-18 11:16:00 -05:00
Joost Rijneveld
2fbd02a076
Test for symbolic links
We disallow symbolic links to ensure implementations are standalone
and more portable.
2019-02-18 16:49:44 +01:00
Douglas Stebila
d07ce6389d Merge branch 'ds-test-vectors' into ds-make-headers 2019-02-18 10:24:10 -05:00
Douglas Stebila
0eb589ba2f Minor tweaks 2019-02-18 10:23:08 -05:00
Douglas Stebila
5297954630 Add dependency to header files in Makefile 2019-02-18 10:19:07 -05:00
Douglas Stebila
ae05ec9eba Merge branch 'master' into ds-test-vectors 2019-02-18 10:11:38 -05:00
Douglas Stebila
fde02ce2b1 Migrate test vector checks to pythonic testing framework 2019-02-18 10:07:01 -05:00
Joost Rijneveld
17fb1be01c
Ensure .a-file for scheme is up to date for tests 2019-02-18 15:06:46 +01:00
Douglas Stebila
c6dd00c6fa
Allow to easily run individual test modules and add instructions to README (#39)
Allow to easily run individual test modules and add instructions to README
2019-02-18 08:48:13 -05:00
Thom Wiggers
7168644c40
Also support nose2 2019-02-18 13:51:01 +01:00
Thom Wiggers
685098ce33
Allow to run the test modules as python3 module.py 2019-02-18 13:39:11 +01:00
Thom Wiggers
90071bfb97
Flake8ify python files 2019-02-18 13:04:59 +01:00
Douglas Stebila
d36626caac Move metadata check to Python testing framework 2019-02-16 10:07:59 -05:00
Douglas Stebila
ba359473b9 Remove old license check and reduce re-building 2019-02-14 11:36:24 -05:00
Douglas Stebila
e4c368ee49 Implement symbol namespace check using new Python testing framework. 2019-02-14 11:29:49 -05:00
Peter Schwabe
9b29d34bf9 Merge branch 'reformat-kyber'
Fixed (hopefully) both formatting and astyle config to not break
formatting again
2019-02-14 15:32:12 +01:00
Thom Wiggers
3b73ea134d
Formatted everything with astyle
clang-format was not flexible enough to allow lining out things on
columns with spaces.
2019-02-14 14:08:16 +01:00
Douglas Stebila
72d514a6fe Call nose differently and add test documentation 2019-02-13 22:31:37 -05:00
Douglas Stebila
f64a7e0dd4 Reimplement Python tests using nose framework 2019-02-13 22:25:34 -05:00
Thom Wiggers
27a0eb47eb
Fix loading META.yml on Py35 2019-02-11 14:48:16 +01:00
Thom Wiggers
fe46514836
Include full clangformat config.
Hopefully stabilizes behaviour between versions.
2019-02-11 10:05:54 +01:00
Peter Schwabe
69e593427a Removed need for aligned types (which are not portable)
Resolves #22
2019-02-11 09:41:32 +01:00
d781d0d6ed enable undefined behaviour sanitizer 2019-02-09 01:09:46 +00:00
Thom Wiggers
c2747e6860
Further fix the zero return codes for bad kem ops 2019-01-29 17:32:30 +01:00
Thom Wiggers
8fe988fe51
Check META files (closes #6) 2019-01-29 17:25:29 +01:00
Thom Wiggers
37be4a2044
Don't fail if decapsulating with wrong keys doesn't return -1
Closes #11
2019-01-29 16:05:55 +01:00
Thom Wiggers
31449679bd
Partially validate return codes 2019-01-23 13:09:18 +01:00
Thom Wiggers
52671df19e
don't run the symbol namespace check on OSX 2019-01-23 12:42:52 +01:00
Thom Wiggers
07ca665f0b
Don't run Valgrind on OSX
It's poorly supported and reports false positives (See also #10)
2019-01-23 12:36:35 +01:00
Thom Wiggers
b657d988b4
Add success output to check_symbol_namespace
Otherwise Make is vague if it did anything
2019-01-23 12:12:08 +01:00
Joost Rijneveld
5d5b6f26a3
Ensure Python3.5 compatibility
This means we must downgrade to SHA256, as SHA3 is not in hashlib.
2019-01-23 11:27:43 +01:00
Thom Wiggers
d66bef0284
Install test dependencies and build on OSX GCC 2019-01-22 17:45:30 +01:00
Joost Rijneveld
8228363495
Include scheme namespace in tests 2019-01-22 17:40:27 +01:00
Thom Wiggers
e9015b4484
Add else condition because I was confused 2019-01-21 16:05:46 +01:00
Matthias J. Kannwischer
8c68841417 refactor testvector check 2019-01-18 14:45:14 +01:00
Matthias J. Kannwischer
f7fb850ecf check testvectors 2019-01-18 14:43:05 +01:00
Joost Rijneveld
dd445c1513
Add Python script to check function namespacing 2019-01-18 13:41:07 +01:00
Joost Rijneveld
e61a320aed
Move tests to separate directory 2019-01-17 17:44:55 +01:00