1 /*
   2  * This file and its contents are supplied under the terms of the
   3  * Common Development and Distribution License (), version 1.0.
   4  * You may only use this file in accordance with the terms of version
   5  * 1.0 of the CDDL.
   6  *
   7  * A full copy of the text of the CDDL should have accompanied this
   8  * source.  A copy of the CDDL is also available via the Internet at
   9  * http://www.illumos.org/license/CDDL.
  10  */
  11 
  12 /*
  13  * Copyright 2018, Joyent, Inc.
  14  */
  15 
  16 #include <stdio.h>
  17 #include <sys/types.h>
  18 #include "cryptotest.h"
  19 
  20 extern size_t msgcount;
  21 extern uint8_t *MSG[];
  22 extern size_t MSGLEN[];
  23 extern uint8_t *MD[];
  24 extern size_t mdlen;
  25 extern char *mechname;
  26 
  27 int
  28 main(void)
  29 {
  30         int i, errs = 0;
  31         uint8_t N[1024];
  32         cryptotest_t args = { 0 };
  33 
  34         args.out = N;
  35         args.outlen = sizeof (N);
  36 
  37         args.mechname = mechname;
  38         args.updatelen = 1;
  39 
  40         for (i = 0; i < msgcount; i++) {
  41                 args.in = MSG[i];
  42                 args.inlen = MSGLEN[i];
  43 
  44                 errs += run_test(&args, MD[i], mdlen, DIGEST_FG);
  45         }
  46 
  47         if (errs != 0)
  48                 (void) fprintf(stderr, "%d tests failed\n", errs);
  49 
  50         return (errs);
  51 }