summaryrefslogtreecommitdiffstats
path: root/fips/fips_test_suite.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-05-02 11:09:38 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-05-02 11:09:38 +0000
commitfc98a4377d004f91be6e99ab570d4f94b1058349 (patch)
tree7aa90c1854c08bdc36970905daf59ee037dd3375 /fips/fips_test_suite.c
parentfd600c0037619111be167f71c2c5eb1f99a076ba (diff)
Use more portable clock_gettime() for fips_test_suite timing.
Output times of each subtest.
Diffstat (limited to 'fips/fips_test_suite.c')
-rw-r--r--fips/fips_test_suite.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/fips/fips_test_suite.c b/fips/fips_test_suite.c
index 2cdb03b365..5aee06ca34 100644
--- a/fips/fips_test_suite.c
+++ b/fips/fips_test_suite.c
@@ -718,6 +718,9 @@ static int post_cb(int op, int id, int subid, void *ex)
const char *idstr, *exstr = "";
char asctmp[20];
int keytype = -1;
+#ifdef FIPS_POST_TIME
+ static struct timespec start, end, tstart, tend;
+#endif
switch(id)
{
case FIPS_TEST_INTEGRITY:
@@ -807,19 +810,38 @@ static int post_cb(int op, int id, int subid, void *ex)
switch(op)
{
case FIPS_POST_BEGIN:
+#ifdef FIPS_POST_TIME
+ clock_gettime(CLOCK_REALTIME, &tstart);
+#endif
printf("\tPOST started\n");
break;
case FIPS_POST_END:
printf("\tPOST %s\n", id ? "Success" : "Failed");
+#ifdef FIPS_POST_TIME
+ clock_gettime(CLOCK_REALTIME, &tend);
+ printf("\t\tTook %f seconds\n",
+ (double)((tend.tv_sec+tend.tv_nsec*1e-9)
+ - (tstart.tv_sec+tstart.tv_nsec*1e-9)));
+#endif
break;
case FIPS_POST_STARTED:
printf("\t\t%s %s test started\n", idstr, exstr);
+#ifdef FIPS_POST_TIME
+ clock_gettime(CLOCK_REALTIME, &start);
+#endif
break;
case FIPS_POST_SUCCESS:
printf("\t\t%s %s test OK\n", idstr, exstr);
+#ifdef FIPS_POST_TIME
+ clock_gettime(CLOCK_REALTIME, &end);
+ printf("\t\t\tTook %f seconds\n",
+ (double)((end.tv_sec+end.tv_nsec*1e-9)
+ - (start.tv_sec+start.tv_nsec*1e-9)));
+ start = end;
+#endif
break;
case FIPS_POST_FAIL:
@@ -920,21 +942,11 @@ int main(int argc,char **argv)
exit(1);
}
if (!no_exit) {
-#ifdef FIPS_POST_TIME
- clock_t start, end;
-#endif
fips_algtest_init_nofips();
-#ifdef FIPS_POST_TIME
- start = clock();
-#endif
if (!FIPS_mode_set(1)) {
printf("Power-up self test failed\n");
exit(1);
}
-#ifdef FIPS_POST_TIME
- end = clock();
- printf("Took %f seconds\n", ((double)(end - start))/CLOCKS_PER_SEC);
-#endif
printf("Power-up self test successful\n");
exit(0);
}