From 93204f6985faa7a471de6eec0d94751b6d8b5f66 Mon Sep 17 00:00:00 2001 From: Jaewon Choi <jaewon.james.choi@gmail.com> Date: Sat, 16 Sep 2017 23:39:18 +0900 Subject: [PATCH] Add testing functionality --- include/utils.h | 7 +++++++ src/main.c | 4 ++++ src/utils.c | 7 +++++++ tests/src/command_parsing_test.cc | 27 +++++++++++++++++++++++++-- 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 include/utils.h create mode 100644 src/main.c create mode 100644 src/utils.c diff --git a/include/utils.h b/include/utils.h new file mode 100644 index 0000000..57345da --- /dev/null +++ b/include/utils.h @@ -0,0 +1,7 @@ +#ifndef MYSH_UTILS_H_ +#define MYSH_UTILS_H_ + +void mysh_parse_command(const char* command, + int *argc, char** argv); + +#endif // MYSH_UTILS_H_ diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..f8b643a --- /dev/null +++ b/src/main.c @@ -0,0 +1,4 @@ +int main() +{ + return 0; +} diff --git a/src/utils.c b/src/utils.c new file mode 100644 index 0000000..681ab85 --- /dev/null +++ b/src/utils.c @@ -0,0 +1,7 @@ +#include "utils.h" + +void mysh_parse_command(const char* command, + int *argc, char** argv) +{ + // TODO: Fill this! +} diff --git a/tests/src/command_parsing_test.cc b/tests/src/command_parsing_test.cc index f876538..b7822c6 100644 --- a/tests/src/command_parsing_test.cc +++ b/tests/src/command_parsing_test.cc @@ -1,5 +1,28 @@ +extern "C" { +#include "utils.h" +} + #include "gtest/gtest.h" -TEST(CommandParsingTest, Basic) { - EXPECT_EQ(1, 1); +#include <stdlib.h> + +TEST(CommandParsingTest, BasicCommand) { + char** argv; + int argc = -1; + + argv = (char**)malloc(2); + for (int i = 0; i < 2; ++i) { + argv[i] = (char*)malloc(512); + } + + mysh_parse_command("cd test", &argc, argv); + + EXPECT_EQ(argc, 2); + EXPECT_STREQ(argv[0], "cd"); + EXPECT_STREQ(argv[1], "test"); + + for (int i = 0; i < 2; ++i) { + free(argv[i]); + } + free(argv); } -- GitLab