2012-03-25 5 views
9

Nel mio Makefile.am, ho il seguente test:Come passare i parametri ai test in un file di input Automake?

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

test1 viene compilato ed eseguito quando make check viene richiamato. Come deve essere modificato Makefile.am per passare un argomento da riga di comando a test1?

risposta

13

Non è possibile passare argomenti ai test.

Invece di

TESTS += tests/test1 

fare

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

dove tests/test1.test è uno script di shell eseguibile che verrà eseguito il programma con qualsiasi argomento che si desidera:

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

+1 per la risposta alla mia domanda piuttosto diversa sull'esistenza di un metodo per utilizzare '$ srcdir' negli script di test: risulta essere proprio così semplice :) –

0

È possibile anche passare parametri attraverso l'ambiente. Questo è utile quando si desidera passare diversi parametri in diverse sessioni di make check.

Diciamo che avete tests/test1.test con il seguente:

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

Ora, è possibile eseguire il seguente:

$ TEST_FLAGS=--verbose make check 

E la bandiera --verbose sarebbe passato al vostro programma di test ogni volta che si vuole visualizza informazioni extra a scopo di debug.

Problemi correlati