[rtems commit] libtest: Add T_puts()

Sebastian Huber sebh at rtems.org
Tue Aug 18 05:15:14 UTC 2020


Module:    rtems
Branch:    master
Commit:    5d614fdfa7ff0c4ea27cffc83451dd64d6f26352
Changeset: http://git.rtems.org/rtems/commit/?id=5d614fdfa7ff0c4ea27cffc83451dd64d6f26352

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Aug 13 07:44:25 2020 +0200

libtest: Add T_puts()

Update #3199.

---

 cpukit/include/rtems/test.h |  2 ++
 cpukit/libtest/t-test.c     | 24 ++++++++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/cpukit/include/rtems/test.h b/cpukit/include/rtems/test.h
index a3900c1..212d4a5 100644
--- a/cpukit/include/rtems/test.h
+++ b/cpukit/include/rtems/test.h
@@ -673,6 +673,8 @@ int T_printf(char const *, ...);
 
 int T_vprintf(char const *, va_list);
 
+int T_puts(const char *, size_t);
+
 int T_snprintf(char *, size_t, const char *, ...);
 
 void T_log(T_verbosity, char const *, ...);
diff --git a/cpukit/libtest/t-test.c b/cpukit/libtest/t-test.c
index 92aed62..c93636a 100644
--- a/cpukit/libtest/t-test.c
+++ b/cpukit/libtest/t-test.c
@@ -277,6 +277,30 @@ T_vprintf(char const *fmt, va_list ap)
 }
 
 static int
+T_do_puts(T_context *ctx, const char *buf, size_t len)
+{
+	if (T_do_is_runner(ctx)) {
+		size_t i;
+
+		T_output_buffer_drain(ctx);
+
+		for (i = 0; i < len; ++i) {
+			(*ctx->putchar)(buf[i], ctx->putchar_arg);
+		}
+	} else {
+		len = T_output_buffer_fill(ctx, buf, len);
+	}
+
+	return (int)len;
+}
+
+int
+T_puts(const char *buf, size_t len)
+{
+	return T_do_puts(&T_instance, buf, len);
+}
+
+static int
 T_cpu(void)
 {
 #if defined(__rtems__)



More information about the vc mailing list