summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Zabka <zabkaste@hu-berlin.de>2020-05-24 12:52:08 +0200
committerStefan Zabka <zabkaste@hu-berlin.de>2020-05-24 12:52:08 +0200
commit0923ca7ccec841b36ce8f3ab22dd9d9fd6fa6b9e (patch)
treec1e129db06ae5dfa8f8a54ecd08556396df33c92
parentd624868a7181c33bb0366c80c5db3424318b075c (diff)
downloadbetriebssysteme-0923ca7ccec841b36ce8f3ab22dd9d9fd6fa6b9e.tar.gz
betriebssysteme-0923ca7ccec841b36ce8f3ab22dd9d9fd6fa6b9e.zip
Created testcase to reproduce failure
-rw-r--r--02_exercise/process_test.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/02_exercise/process_test.c b/02_exercise/process_test.c
index c14aa59..1dfa365 100644
--- a/02_exercise/process_test.c
+++ b/02_exercise/process_test.c
@@ -53,11 +53,33 @@ void test_ls(){
free_processes(&processes);
}
+void test_multiparse() {
+ Process *processes = NULL;
+ parse_line("echo abcdefg", &processes);
+ assert(arrayLen(processes) == 1);
+ Process p = processes[0];
+ assert(arrayLen(p.argv)==3);
+ assert(p.argc == 2);
+ assert(strcmp(p.argv[0], "echo") == 0);
+ assert(strcmp(p.argv[1], "abcdefg") == 0);
+ assert(p.argc[p.argv] == NULL);
+ free_processes(&processes);
+ parse_line("echo abc", &processes);
+ assert(arrayLen(processes) == 1);
+ p = processes[0];
+ assert(arrayLen(p.argv)==3);
+ assert(p.argc == 2);
+ assert(strcmp(p.argv[0], "echo") == 0);
+ assert(strcmp(p.argv[1], "abc") == 0);
+ assert(p.argc[p.argv] == NULL);
+}
+
int main() {
test_ls();
test_simple_case();
test_detached();
test_pipe();
+ test_multiparse();
return 0;
}