diff --git a/include/main.h b/include/main.h index e6be204a2846497939bdd9bdd8e46b577d3f63d3..2f48969047e1e1be4c7369c245b54ed7626a46f8 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 2b4884920171676f8d55433a107b778e7f85c6fa..36f6a611c6a75cc4f4a2860f885d830b6025ce8c 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 a92f1abe9ea3e51ebfef92aa37336a8547756367..5b0ceb70b8cccf0c7d19e72fbb280767e25a5b32 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 0000000000000000000000000000000000000000..638042de078b8b3d085cd185c519bf6783a7033c --- /dev/null +++ b/tests/maths/vec2.test.cpp @@ -0,0 +1,4 @@ +#include <iostream> +#include "doctest.h" + +std::cout << "Test" << std::endl;