aboutsummaryrefslogtreecommitdiff
path: root/run-tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'run-tests.c')
-rw-r--r--run-tests.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/run-tests.c b/run-tests.c
new file mode 100644
index 0000000..9ba120d
--- /dev/null
+++ b/run-tests.c
@@ -0,0 +1,34 @@
+#include <stdio.h> // printf()
+#include <string.h> // strlen()
+#include "sha2.h"
+#include "tests.h"
+
+static void print_hash(const uint8_t * const hash) {
+ for (size_t i = 0; i < SHA256_HASH_SIZE; i++) {
+ printf("%02x", hash[i]);
+ }
+}
+
+static void on_test_fail(
+ const int algo,
+ const char * const src,
+ const uint8_t * const got_hash,
+ const uint8_t * const expected_hash
+) {
+ printf("sha%d,\"%s\",", algo, src);
+ print_hash(got_hash);
+ printf(",");
+ print_hash(expected_hash);
+ printf("\n");
+}
+
+int main(int argc, char *argv[]) {
+ (void) argc;
+ (void) argv;
+
+ // run internal tests
+ printf("algo,input,result,expected\n");
+ run_tests(on_test_fail);
+
+ return 0;
+}