added test support to the makefile

This commit is contained in:
Karma Riuk 2025-02-02 16:37:59 +01:00
parent 0ae37a3eba
commit 08c0a3b50b
4 changed files with 27 additions and 6 deletions

1
cpp/.gitignore vendored
View File

@ -30,3 +30,4 @@
*.exe
*.out
*.appobj/
test_bin/

View File

@ -29,4 +29,28 @@ main: $(OBJFILES)
$(CXX) $(LDFLAGS) $(OBJFILES) $(LOADLIBES) $(LDLIBS) -o main
clean:
rm -rf obj/* $(DEPFILES)
rm -rf obj/* $(DEPFILES) test_bin/
# --- Test Support ---
# Find all test source files in the tests directory
TESTS := $(shell find tests -name "*.cpp")
# Define corresponding test executable names, e.g. tests/foo.cpp -> test_bin/foo
TEST_BIN := $(patsubst tests/%.cpp,test_bin/%,$(TESTS))
LIBS := $(filter-out obj/main.o,$(OBJFILES))
# Pattern rule: how to build a test executable from a test source file.
# You can adjust CXXFLAGS or add include directories if needed.
test_bin/%: tests/%.cpp $(LIBS)
@echo $(LIBS)
@mkdir -p $(dir $@)
$(CXX) $(CXXFLAGS) -o $@ $< $(LIBS)
# The 'test' target builds all tests and then runs each one.
.PHONY: test
test: $(TEST_BIN)
@echo "Running all tests..."
@for t in $(TEST_BIN); do \
echo "---- Running $$t ----"; \
./$$t || exit 1; \
done

View File

@ -7,10 +7,6 @@ int main(int argc, char* argv[]) {
"rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ - 1 8";
Board* b = Board::setup_fen_position(pos);
std::cout << sizeof(Board) << std::endl;
std::cout << sizeof(int8_t[64]) << std::endl;
std::cout << sizeof(Colour) << std::endl;
std::string fen = b->to_fen();
std::cout << pos << std::endl;

View File

@ -1,4 +1,4 @@
#include "../board.hpp"
#include "../src/board.hpp"
#include "lib.hpp"
int main() {