From da3c91c5dc865e568c2bf122ba6c4bc5c1545558 Mon Sep 17 00:00:00 2001 From: Alfred Burgess <aburgess@ucc.gu.uwa.edu.au> Date: Mon, 18 Dec 2023 16:53:48 +0800 Subject: [PATCH] Work towards doctest --- include/main.h | 4 ++++ makefile | 17 +++++++---------- src/main.cpp | 3 +++ tests/maths/vec2.test.cpp | 4 ++++ 4 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 tests/maths/vec2.test.cpp diff --git a/include/main.h b/include/main.h index e6be204..2f48969 100644 --- a/include/main.h +++ b/include/main.h @@ -4,6 +4,10 @@ #include <iostream> #include <cstdint> +#ifndef __TEST_RUNNER__ +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#endif // __TEST_RUNNER__ + enum GenerationMethod { diff --git a/makefile b/makefile index 2b48849..36f6a61 100644 --- a/makefile +++ b/makefile @@ -28,8 +28,11 @@ INC_DIR = include # Object files directory BUILD_DIR = build +TEST_BUILD_DIR = testBuilds -# Test directory +# Test Variables +TEST_FLAG = __TEST_RUNNER__ +TEST_TARGET = $(BIN_DIR)/test_runner TEST_DIR = test # Executable directory @@ -49,23 +52,21 @@ TEST_FILES = $(wildcard $(TEST_DIR)/**/*.test.cpp $(TEST_DIR)/*.test.cpp) # Object files OBJ_FILES = $(patsubst $(SRC_DIR)/%.cpp,$(BUILD_DIR)/%.o,$(SRC_FILES)) -TEST_OBJ_FILES = $(patsubst $(TEST_DIR)/%.test.cpp,$(BUILD_DIR)/%.o,$(TEST_FILES)) +TEST_OBJ_FILES = $(patsubst $(TEST_DIR)/%.test.cpp,$(TEST_BUILD_DIR)/%.test.o,$(TEST_FILES)) $(patsubst $(SRS_DIR)/%.cpp,$(TEST_BUILD_DIR)/%.o,$(TEST_FILES)) # Define this for running console-only CONSOLE_DEFINE = -Dconsole # Output executable TARGET = $(BIN_DIR)/game -TEST_TARGET = $(BIN_DIR)/test_runner all: $(TARGET) +test: $(TEST_TARGET) + $(TARGET): $(OBJ_FILES) $(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJ_FILES) $(SDL_LIBRARY) $(SDL_OPTIONS) -console: $(OBJ_FILES) - $(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJ_FILES) $(CONSOLE_DEFINE) - $(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp ${INC_DIR}/*.h @mkdir -p $(@D) $(CXX) $(CXXFLAGS) $(LDFLAGS) -I$(INC_DIR) -c -o $@ $< @@ -75,9 +76,5 @@ clean: rm -rf ./*~ ./*.swp rm -rf *~ -unitTests: - -test: unitTests - run: $(TARGET) ./$(TARGET) diff --git a/src/main.cpp b/src/main.cpp index a92f1ab..5b0ceb7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,6 @@ #include "main.h" +#ifndef __TEST_RUNNER__ int main( int argc, char* argv[] ) { const uint16_t SCREEN_HEIGHT = 600; @@ -59,3 +60,5 @@ int main( int argc, char* argv[] ) { return 0; } // int /*WINAPI*/ WinMain(/*HINSTANCE hInstance, HINSTANCE, LPSTR, int*/) { main(); return 0; } + +#endif // __TEST_RUNNER__ diff --git a/tests/maths/vec2.test.cpp b/tests/maths/vec2.test.cpp new file mode 100644 index 0000000..638042d --- /dev/null +++ b/tests/maths/vec2.test.cpp @@ -0,0 +1,4 @@ +#include <iostream> +#include "doctest.h" + +std::cout << "Test" << std::endl; -- GitLab