added test support to the makefile
This commit is contained in:
parent
0ae37a3eba
commit
08c0a3b50b
1
cpp/.gitignore
vendored
1
cpp/.gitignore
vendored
@ -30,3 +30,4 @@
|
||||
*.exe
|
||||
*.out
|
||||
*.appobj/
|
||||
test_bin/
|
||||
|
26
cpp/Makefile
26
cpp/Makefile
@ -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
|
||||
|
@ -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;
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "../board.hpp"
|
||||
#include "../src/board.hpp"
|
||||
#include "lib.hpp"
|
||||
|
||||
int main() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user