diff options
author | Stefan Zabka <zabkaste@hu-berlin.de> | 2020-05-21 23:37:38 +0200 |
---|---|---|
committer | Stefan Zabka <zabkaste@hu-berlin.de> | 2020-05-21 23:37:38 +0200 |
commit | f959165cdece3c1bfae8abce834a2bb78db96190 (patch) | |
tree | c8f060d804a0c8aed5cbba2bd37a5ecb114dc21b /02_exercise/process_test.c | |
parent | 45b35365a5d0f895caeb6178f5f0a70cfe4464ee (diff) | |
download | betriebssysteme-f959165cdece3c1bfae8abce834a2bb78db96190.tar.gz betriebssysteme-f959165cdece3c1bfae8abce834a2bb78db96190.zip |
Process parse_line working
Diffstat (limited to '02_exercise/process_test.c')
-rw-r--r-- | 02_exercise/process_test.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/02_exercise/process_test.c b/02_exercise/process_test.c new file mode 100644 index 0000000..89eb2fb --- /dev/null +++ b/02_exercise/process_test.c @@ -0,0 +1,51 @@ +// +// Created by stefan on 21.05.20. +// +#include "process.h" +#include "array.h" +#include <assert.h> +#include <string.h> + + +void test_simple_case() { + process * processes= NULL; + parse_line("cat my_txt ",&processes); + assert(arrayLen(processes) == 1); + assert(arrayLen(processes[0].argv) == 3); + assert(strcmp(processes[0].argv[0], "cat") == 0); + assert(strcmp(processes[0].argv[1], "my_txt") == 0); + free_processes(&processes); +} + +void test_detatched() { + process * processes= NULL; + parse_line("cat my_txt &",&processes); + assert(arrayLen(processes) == 1); + assert(arrayLen(processes[0].argv) == 3); + assert(strcmp(processes[0].argv[0], "cat") == 0); + assert(strcmp(processes[0].argv[1], "my_txt") == 0); + assert(processes[0].blocking == false); + free_processes(&processes); +} + + +void test_pipe() { + process * processes= NULL; + parse_line("echo my_txt | grep txt",&processes); + assert(arrayLen(processes) == 2); + assert(arrayLen(processes[0].argv) == 3); + assert(strcmp(processes[0].argv[0], "echo") == 0); + assert(strcmp(processes[0].argv[1], "my_txt") == 0); + assert(processes[0].out_fd != 0); + assert(arrayLen(processes[1].argv) == 3); + assert(strcmp(processes[1].argv[0], "grep") == 0); + assert(strcmp(processes[1].argv[1], "txt") == 0); + assert(processes[1].in_fd != 0); + free_processes(&processes); +} +int main() { + test_simple_case(); + test_detatched(); + test_pipe(); + return 0; +}
\ No newline at end of file |