diff options
| author | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2018-11-28 15:54:40 +0100 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@airbus.com> | 2018-11-28 15:54:40 +0100 |
| commit | 23ed93cfd97ea7f5131805f90e9e7d34bfcaff66 (patch) | |
| tree | c9fb46afae4065c1afb62cb222c65baafe182567 /src | |
| parent | a3248db69b143ccbbe92560ff1409487cf8ac7cf (diff) | |
| download | lilliput-ae-implem-23ed93cfd97ea7f5131805f90e9e7d34bfcaff66.tar.xz | |
Mutualisation de l'entête d'utilitaires de tests
Diffstat (limited to 'src')
| -rw-r--r-- | src/common.mk | 4 | ||||
| -rw-r--r-- | src/test-helpers.h | 33 |
2 files changed, 35 insertions, 2 deletions
diff --git a/src/common.mk b/src/common.mk index 22bd3ca..54ab986 100644 --- a/src/common.mk +++ b/src/common.mk @@ -49,8 +49,8 @@ results/src/cipher.o: src/cipher.h src/tweakey.h src/constants.h src/parameters. results/src/constants.o: src/constants.h results/src/lilliput-ae-i.o: src/lilliput-ae.h src/cipher.h src/constants.h src/parameters.h _parameters.h results/src/tweakey.o: src/tweakey.h src/constants.h src/parameters.h _parameters.h -results/test-*.o: test/helpers.h src/parameters.h _parameters.h -results/traces-%.o: test/helpers.h src/parameters.h _parameters.h +results/test-*.o: src/test-helpers.h src/parameters.h _parameters.h +results/traces-%.o: src/test-helpers.h src/parameters.h _parameters.h # TODO: should add order-only prerequisites to remove mkdirs inside recipes # TODO: add valgrind, although it does not seem to play well with ASAN diff --git a/src/test-helpers.h b/src/test-helpers.h new file mode 100644 index 0000000..1991542 --- /dev/null +++ b/src/test-helpers.h @@ -0,0 +1,33 @@ +#ifndef TEST_HELPERS_H +#define TEST_HELPERS_H + +#include <stdint.h> +#include <stdio.h> + +#include "parameters.h" + + +#define ARRAY_NB(A) (sizeof(A)/sizeof(A[0])) +#define ARRAY_END(A) (A+ARRAY_NB(A)) + +#define REPORT_DIFFERENCE(VECTOR, ELEMENT) do { \ + fprintf(stderr, "%s: vector %s: %s differs from expected\n", \ + __FILE__, (VECTOR), (ELEMENT)); \ + } while (0) + +#define REPORT_INVALID(VECTOR) do { \ + fprintf(stderr, "%s: vector %s: ciphertext/tag invalid\n", \ + __FILE__, (VECTOR)); \ + } while (0) + + +static inline FILE* open_dump_file(const char *folder, const char* vector, const char *name) +{ + size_t filename_len = snprintf(NULL, 0, "%s/%s_%s.txt", folder, vector, name); + char filename[filename_len+1]; + snprintf(filename, sizeof(filename), "%s/%s_%s.txt", folder, vector, name); + return fopen(filename, "w"); +} + + +#endif /* TEST_HELPERS_H */ |
