Очень просто работать с автоинструментами.В configure.ac вы проверяете наличие инфраструктуры модульного тестирования Check в целевой системе:
PKG_CHECK_MODULES([CHECK],[check >= 0.8.2],[have_check="yes"],
AC_MSG_WARN(['Check' unit testing framework not found. It would be impossible to run unit tests!"])
[have_check="no"])
В Makefile.am вы указываете, какие файлы и какскомпилировать для построения модульных тестов:
if HAVE_CHECK
check_PROGRAMS = bin/some_unit_tests
bin_some_unit_tests_SOURCES = source1.c source2.c ...
bin_some_unit_tests_CFLAGS = -g -pg -O2 -fprofile-arcs -ftest-coverage ...
bin_some_unit_tests_LDFLAGS = -g -pg -no-install
bin_some_unit_tests_LDADD = @CHECK_LIBS@
TESTS = bin/some_unit_tests
TESTS_ENVIRONMENT = CK_FORK=yes
CK_VERBOSITY = verbose
CLEANFILES = some_unit_tests.log
endif
Затем вы запустите модульный тест, введя команду:
make check
Используя флаг -pg, вы сможете получить информацию о профилировании от исполняющего модулятесты.