2012-03-25 9 views
9

W moim Makefile.am, mam następujący test:Jak przekazać parametry do testów w pliku wejściowym Automake?

TESTS += tests/test1 
check_PROGRAMS += tests/test1 
tests_test1_SOURCES = tests/test1.c 
tests_test1_CPPFLAGS = ... 
tests_test1_LDADD = ... 

test1 jest kompilowany i uruchomić, kiedy make check jest wywoływany. W jaki sposób należy zmodyfikować Makefile.am, aby przekazać argument wiersza poleceń do test1?

Odpowiedz

13

Nie można przekazywać argumentów do testów.

Zamiast

TESTS += tests/test1 

zrobić

TESTS += tests/test1.test 
EXTRA_DIST += tests/test1.test 

gdzie tests/test1.test jest wykonywalny skrypt, który zostanie uruchomiony program z dowolnego argumentu chcesz:

#!/bin/sh 
tests/test1 args... < $srcdir/tests/distributed-input-file 
+0

+1 za udzielenie odpowiedzi na moje raczej odmienne pytanie, czy w skryptach testowych był sposób użycia '$ srcdir' - okazuje się, że to takie proste :) –

0

Można także przekazać parametry przez środowisko. Jest to przydatne, gdy chcesz przekazać różne parametry w różnych seriach make check.

Say masz tests/test1.test z poniższym:

#!/bin/bash 
tests/test1 $TEST_FLAGS < $srcdir/tests/distributed-input-file 

Teraz można uruchomić następujące:

$ TEST_FLAGS=--verbose make check 

i flagi --verbose byłyby przekazywane do programu testowego, kiedy chcesz go wyświetla dodatkowe informacje do celów debugowania.

Powiązane problemy