Один из возможных подходов - настроить ваш проект следующим образом.
Ваша структура каталогов выглядит следующим образом:
./project Your project files
./project/t/*.t Your unit test scripts
./project/t/scripts/* Auxiliary scripts used by your unit tests
Ваш . / Project / Makefile содержит следующее:
PERL = /usr/bin/perl
TEST_LIBDIRS = ./lib
RUN_GUILE_TESTS = ./t/scripts/RunGuileTests.pl
TEST_FILES = ./t/*.t
test:
$(PERL) -I$(TEST_LIBDIRS) $(RUN_GUILE_TESTS) $(TEST_FILES)
Ваше . / Project / t / scripts / RunGuileTests.pl содержимое:
#!/usr/bin/perl -w
# Run Guile tests - filenames are given as arguments to the script.
use TAP::Harness;
my @tests = @ARGV;
my %args = (
verbosity => 0,
timer => 1,
show_count => 1,
exec => ['/usr/bin/guile', '-s'],
);
my $harness = TAP::Harness->new( \%args );
$harness->runtests(@tests);
# End of RunGuileTests.pl
Ваши сценарии тестирования Guile должны начинаться с:
#!/usr/bin/guile -s
!#
; Description of your tests