[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Launch bash script for functional testing with "make check" and "make di
Launch bash script for functional testing with "make check" and "make distcheck"
Tue, 8 Jan 2013 22:41:19 -0600
I am using Autotools for my C++ package. My package has a single
binary (let's call it "myprog"). I also wrote a bash script,
"launch_functional_tests.bash". This script has 4 steps:
(1) create input files,
(2) generate expected output files (by launching something like "R
(3) launch "myprog" on the input files,
(4) compare the outputs of "prog" with the expected outputs generated
by the R script at step 2.
In step 3, "launch_functional_tests.bash" needs to know the path to
"myprog". If I run the bashs cript on standalone myself, I give the
path to "myprog" as an option on the command-line. But what can I do
when using make check?
I asked this question on stackoverflow
(http://stackoverflow.com/q/14223208/597069) but didn't get any answer
so far, that's why I'm asking it here now.
In the mean time, I found that the following Makefile.am allows me to
run "make check" successfully:
TESTS = launch_functional_tests.bash
EXTRA_DIST = launch_functional_tests.in functional_tests.R
CLEANFILES = $(TESTS)
sed -e 's,PATHTOBINDIR,$(bindir),g'
$(srcdir)/launch_functional_tests.in > launch_functional_tests.bash
chmod +x launch_functional_tests.bash
But this works only if "make install" has been run before, so that
"myprog" is indeed inside the directory specified by $(bindir).
First question: is there a way for "make check" to work without
launching "make install" before?
Moreover, my solution doesn't work for "make distcheck" because
"launch_functional_tests.bash" doesn't find the R script anymore (as
the test is now executed in something like ".../mypck-1.0/_build").
Second question: what can I do to execute my functional test with
I guess that maybe both of my problems could be resolved if I could
use a variable like $(testdir). But how can I do that?
Thanks in advance for any help!
- Launch bash script for functional testing with "make check" and "make distcheck",
Timothée Flutre <=