Как запустить тесты TAP :: Harness, написанные на Guile? - PullRequest
1 голос
/ 16 сентября 2008

Обычный подход

test:
    $(PERL) "-MExtUtils::Command::MM" "-e" "test_harness($(TEST_VERBOSE), '$(INCDIRS)')" $(TEST_FILES)

не запускается сценарий Guile, поскольку он передает Guile дополнительный параметр "-w".

1 Ответ

1 голос
/ 16 сентября 2008

Один из возможных подходов - настроить ваш проект следующим образом.

Ваша структура каталогов выглядит следующим образом:

./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
...