From 404d0f2898b05b922d61b604ea044fe1da5139bc Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 6 Dec 2022 15:50:20 +0000 Subject: [PATCH] tests: Add command that reads from stdin and writes it back Signed-off-by: Michael Tremer --- tests/stub/command.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/stub/command.c b/tests/stub/command.c index 458b50b3b..9549ebc0a 100644 --- a/tests/stub/command.c +++ b/tests/stub/command.c @@ -342,6 +342,27 @@ static int stat_ownership(int argc, char* argv[]) { return 0; } +/* + Reads from stdin and writes it back to stdout +*/ +static int _pipe(int argc, char* argv[]) { + char buffer[4096]; + char* p = NULL; + int r; + + for (;;) { + p = fgets(buffer, sizeof(buffer), stdin); + if (!p) + break; + + r = fprintf(stdout, "%s", buffer); + if (r < 0) + return 1; + } + + return 0; +} + int main(int argc, char* argv[]) { if (argc < 2) { fprintf(stderr, "No command given\n"); @@ -381,6 +402,10 @@ int main(int argc, char* argv[]) { else if (strcmp(command, "lines") == 0) callback = lines; + // Pipe + else if (strcmp(command, "pipe") == 0) + callback = _pipe; + // Print nice level else if (strcmp(command, "print-nice") == 0) callback = print_nice; -- 2.39.5