diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..bab1865 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "external/googletest"] + path = external/googletest + url = https://github.com/google/googletest.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 15bbfd8..f661140 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,11 @@ project(LXC_Project LANGUAGES CXX) # Makes .exes be outputted within the root directory # set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}) +# Adds the G-Tests # +enable_testing() +add_subdirectory(external/googletest) +add_subdirectory(tests) + # Adds the sub-directories of all of the binaries # add_subdirectory(Lexer) diff --git a/external/googletest b/external/googletest new file mode 160000 index 0000000..7e17b15 --- /dev/null +++ b/external/googletest @@ -0,0 +1 @@ +Subproject commit 7e17b15f1547bb8dd9c2fed91043b7af3437387f diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..ba1e46d --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,12 @@ +# Creates the binary to run the tests # +file (GLOB TestSources src/*.cpp inc/*.h) +add_executable(LXC_Tests ${TestSources}) + +# Links with GoogleTest # +target_link_libraries(LXC_Tests + gtest + gtest_main +) + +# Registers the test # +include(GoogleTest) diff --git a/tests/src/LXC_Tests.cpp b/tests/src/LXC_Tests.cpp new file mode 100644 index 0000000..f9c9f90 --- /dev/null +++ b/tests/src/LXC_Tests.cpp @@ -0,0 +1,11 @@ +#include + +TEST(IWantSomeTestsToPass, BasicTest1) +{ + EXPECT_EQ(1 + 1, 2); +} + +TEST(IWantSomeTestsToPass, BasicTest2) +{ + EXPECT_EQ(1 + 2, 2); +}