libtest: Add T_puts()

Update #3199.
This commit is contained in:
Sebastian Huber
2020-08-13 07:44:25 +02:00
parent a7af34d0cf
commit 5d614fdfa7
2 changed files with 26 additions and 0 deletions

View File

@@ -673,6 +673,8 @@ int T_printf(char const *, ...);
int T_vprintf(char const *, va_list); int T_vprintf(char const *, va_list);
int T_puts(const char *, size_t);
int T_snprintf(char *, size_t, const char *, ...); int T_snprintf(char *, size_t, const char *, ...);
void T_log(T_verbosity, char const *, ...); void T_log(T_verbosity, char const *, ...);

View File

@@ -276,6 +276,30 @@ T_vprintf(char const *fmt, va_list ap)
return len; return len;
} }
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 static int
T_cpu(void) T_cpu(void)
{ {