31 lines
743 B
C
31 lines
743 B
C
#include "../src/Subprocess/Subprocess.h"
|
|
#include <assert.h>
|
|
#include <stdbool.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <unistd.h>
|
|
|
|
char read_buffer[128];
|
|
|
|
void testEcho()
|
|
{
|
|
Subprocess sub;
|
|
sub.in .type = SUBPROCESSREDIRECTIONTYPE_PIPE;
|
|
sub.out.type = SUBPROCESSREDIRECTIONTYPE_PIPE;
|
|
sub.err.type = SUBPROCESSREDIRECTIONTYPE_PIPE;
|
|
|
|
char* argv[] = { "echo", "Hello World!", NULL };
|
|
|
|
assert(EXIT_SUCCESS == Subprocess_Create(&sub, "/usr/bin/echo", argv));
|
|
ssize_t read_size = read(sub.out.get.pipefd, read_buffer, 128);
|
|
assert(read_size == 13);
|
|
assert(strcmp(read_buffer, "Hello World!\n") == 0);
|
|
assert(read(sub.out.get.pipefd, read_buffer, 128) == 0);
|
|
Subprocess_Destroy(&sub);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
testEcho();
|
|
return 0;
|
|
}
|