diff options
Diffstat (limited to 'run-tests.c')
| -rw-r--r-- | run-tests.c | 34 | 
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; +} | 
