###################################################################### # Unit/regression tests, based on CxxTest. # Use the 'test' target to run them. # Edit TESTS and TESTLIBS to add more tests. # ###################################################################### TESTS := $(srcdir)/test/common/*.h $(srcdir)/test/audio/*.h TEST_LIBS := audio/libaudio.a common/libcommon.a ifeq ($(ENABLE_WINTERMUTE), STATIC_PLUGIN) TESTS += $(srcdir)/test/engines/wintermute/*.h TEST_LIBS += engines/wintermute/libwintermute.a endif # TEST_FLAGS := --runner=StdioPrinter --no-std --no-eh --include=$(srcdir)/test/cxxtest_mingw.h TEST_CFLAGS := $(CFLAGS) -I$(srcdir)/test/cxxtest TEST_LDFLAGS := $(LDFLAGS) $(LIBS) TEST_CXXFLAGS := $(filter-out -Wglobal-constructors,$(CXXFLAGS)) ifdef N64 TEST_LDFLAGS := $(filter-out -mno-crt0,$(TEST_LDFLAGS)) endif ifdef PSP TEST_LIBS += backends/platform/psp/memory.o \ backends/platform/psp/mp3.o \ backends/platform/psp/trace.o endif ifdef HAVE_GCC3 # In test/common/str.h, we test a zero length format string. This causes GCC # to generate a warning which in turn poses a problem when building with -Werror. # To work around this, we disable -Wformat here. TEST_CFLAGS += -Wno-format endif # Enable this to get an X11 GUI for the error reporter. #TEST_FLAGS += --gui=X11Gui #TEST_LDFLAGS += -L/usr/X11R6/lib -lX11 test: test/runner ./test/runner test/runner: test/runner.o $(TEST_LIBS) $(QUIET_LINK)$(LD) $(TEST_CXXFLAGS) $(CPPFLAGS) $(TEST_CFLAGS) -o $@ $+ $(TEST_LDFLAGS) test/runner.cpp: $(TESTS) @mkdir -p test $(srcdir)/test/cxxtest/cxxtestgen.py $(TEST_FLAGS) -o $@ $+ test/runner.o: test/runner.cpp $(CXX) $(TEST_CXXFLAGS) $(CPPFLAGS) $(TEST_CFLAGS) -c $(<) -o $@ clean: clean-test clean-test: -$(RM) test/runner.cpp test/runner .PHONY: test clean-test