Хорошее решение - сделать программу способной использовать конфигурацию времени выполнения, предложенную reece.Если по какой-то причине вы не хотите, чтобы его можно было настраивать во время выполнения, распространенным решением является создание тестового двоичного файла, отличного от установленного двоичного файла (с этим связаны и другие проблемы, в частности обеспечение того, чтобы тестируемая программаповедение, которое согласуется с установленной программой.) Простой способ сделать это что-то вроде:
bin_PROGRAMS = foo
check_PROGRAMS = test-foo
test_foo_SOURCES = $(foo_SOURCES)
AM_CPPFLAGS = -DINSTALLDIR='"$(pkgdatadir)"'
test_foo_CPPFLAGS = -DINSTALLDIR='"$(abs_top_srcdir)"'
Вместо того, чтобы использовать двоичный файл с другим именем, вы можете захотеть иметь специальный каталог тестови соберите программу, используя то же имя, что и оригинал.
Обратите внимание, что я изменил имя с AM_INSTALLDIR на INSTALLDIR.Automake резервирует имена, начинающиеся с «AM_», для собственного использования, и, используя это имя, вы нажимаете на пространство имен Automake.