[PATCH 10/10] libtest: Print SHA256 hash in base64url

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Feb 24 13:57:30 UTC 2021


---
 cpukit/libtest/t-test-hash-sha256.c | 13 ++++++-------
 testsuites/libtests/ttest01/init.c  |  2 +-
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/cpukit/libtest/t-test-hash-sha256.c b/cpukit/libtest/t-test-hash-sha256.c
index 25584cce14..32e946b4cf 100644
--- a/cpukit/libtest/t-test-hash-sha256.c
+++ b/cpukit/libtest/t-test-hash-sha256.c
@@ -1,7 +1,7 @@
 /*
  * SPDX-License-Identifier: BSD-2-Clause
  *
- * Copyright (C) 2019 embedded brains GmbH
+ * Copyright (C) 2019, 2021 embedded brains GmbH
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -26,6 +26,9 @@
  */
 
 #include <rtems/test.h>
+#include <rtems/score/io.h>
+
+#include <limits.h>
 
 #if defined(__rtems__)
 #include <sha256.h>
@@ -69,16 +72,12 @@ T_report_hash_sha256_finalize(void)
 {
 	T_report_hash_sha256_context *ctx;
 	unsigned char hash[32];
-	size_t i;
 
 	ctx = &T_report_hash_sha256_instance;
 	SHA256_Final(hash, &ctx->sha256);
 	T_printf("Y:ReportHash:SHA256:");
-
-	for (i = 0; i < 32; ++i) {
-		T_printf("%02x", hash[i]);
-	}
-
+	(void)_IO_Base64url(ctx->putchar, ctx->putchar_arg, hash,
+	    sizeof(hash), NULL, INT_MAX);
 	T_printf("\n");
 }
 
diff --git a/testsuites/libtests/ttest01/init.c b/testsuites/libtests/ttest01/init.c
index eea750f674..e1fc00c2af 100644
--- a/testsuites/libtests/ttest01/init.c
+++ b/testsuites/libtests/ttest01/init.c
@@ -188,7 +188,7 @@ run_initialize(void)
 }
 
 static const char expected_final[] = "Z:ttest01:C:344:N:1339:F:795:D:0.691999\n"
-"Y:ReportHash:SHA256:c1efe4ace0db5f4a4aa498d406c09be44d5df54f1abbc049448ec6cb7059d3dd\n";
+"Y:ReportHash:SHA256:we_krODbX0pKpJjUBsCb5E1d9U8au8BJRI7Gy3BZ090=\n";
 
 static void
 run_finalize(void)
-- 
2.26.2



More information about the devel mailing list