diff --git a/include/utils.h b/include/utils.h new file mode 100644 index 0000000000000000000000000000000000000000..57345da8a0ef78ebb377ac1ec600b5eba6a9faaa --- /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 0000000000000000000000000000000000000000..f8b643afbf2c84dc03b777743d3e53a22045cf49 --- /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 0000000000000000000000000000000000000000..681ab85fb646ab1f1201f052b898177b042adcd3 --- /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 f876538f125483b89d3817004603306c09f808cd..b7822c6b06b6c8fd554002099e44119ba23df29b 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); }