From 23ed93cfd97ea7f5131805f90e9e7d34bfcaff66 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Wed, 28 Nov 2018 15:54:40 +0100 Subject: Mutualisation de l'entête d'utilitaires de tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common.mk | 4 ++-- src/test-helpers.h | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 src/test-helpers.h (limited to 'src') 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 +#include + +#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 */ -- cgit v1.2.3