Mercurial > ~dholland > hg > tradcpp > index.cgi
view tests/tradcpp.sh @ 136:59680a727e9d
Improve previous.
Just in case we ever crash and reach cleanup() while processing an
-include foo option, take the array entry for it out of the array to
make sure it doesn't get freed twice. This case shouldn't be
reachable, but it's better to be safe.
author | David A. Holland |
---|---|
date | Tue, 09 Jul 2013 13:38:43 -0400 |
parents | 937d310debaa |
children |
line wrap: on
line source
test_case() { local name="$1" local source="$2" local tradcpp="$3" local descr="Test tradcpp behavior" atf_test_case ${name} if [ -e "$(atf_get_srcdir)/${name}.txt" ]; then descr=$(cat "$(atf_get_srcdir)/${name}.txt") fi eval "${name}_head() { \ atf_set descr \"${descr}\"; \ atf_set require.progs \"/usr/bin/tradcpp\"; \ }" local stdout="file:$(atf_get_srcdir)/${name}.good" local options="" local options_file="$(atf_get_srcdir)/${name}.cmdline" if [ -e ${options_file} ]; then options=$(cat ${options_file}) fi eval "${name}_body() { \ atf_check -s eq:0 -o ${stdout} -x '${tradcpp} ${options} ${source} 2>&1 || echo FAILED'; \ }" } atf_init_test_cases() { local tradcpp=$(make -V .OBJDIR -C $(atf_get_srcdir)/..)/tradcpp if [ ! -x ${tradcpp} ]; then tradcpp=/usr/bin/tradcpp fi cd $(atf_get_srcdir) for testfile in t*.c; do local name=${testfile%%.c} test_case ${name} ${testfile} ${tradcpp} atf_add_test_case ${name} done }