CxxTest документация есть пример Makefile, который генерирует и запускает модульные тесты. Как мне сделать то же самое для automake (Makefile.am)?
Я сделал это, создав это Makefile.am
в tests
каталог, где весь тестовый код был:
check_PROGRAMS = tests
EXTRA_tests_SOURCES = test_example1.hpp
EXTRA_tests_SOURCES += test_example2.hpp
tests_SOURCES = runner-autogen.cpp
BUILT_SOURCES = runner-autogen.cpp
MAINTAINERCLEANFILES = runner-autogen.cpp
runner-autogen.cpp: $(EXTRA_tests_SOURCES)
/path/to/cxxtest/bin/cxxtestgen --runner=ErrorPrinter -o $@ $<
Что это делает, это компилировать runner-autogen.cpp
в тестовую программу (называется tests
) и запускает его с make check
, Если какой-либо из перечисленных .hpp
файлы меняются, он будет работать cxxtestgen
воссоздать runner-autogen.cpp
,
Так как runner-autogen.cpp
указан как исходный файл, он будет включен в архив релиза make dist
так что пользователю не понадобится подарок cxxtest, если он не изменит один из .hpp
файлы.