mirror of
https://github.com/nasa/fpp.git
synced 2025-12-14 01:11:35 -06:00
130 lines
2.7 KiB
Bash
130 lines
2.7 KiB
Bash
#!/bin/sh
|
|
|
|
. $COMPILER_ROOT/scripts/test-utils.sh
|
|
|
|
fpp_to_cpp=$COMPILER_ROOT/bin/fpp-to-cpp
|
|
|
|
compare()
|
|
{
|
|
outfile=$1
|
|
diff -u $outfile.ref.txt $outfile.out.txt > $outfile.diff.txt 2>&1
|
|
}
|
|
|
|
run_test()
|
|
{
|
|
args=$1
|
|
infile=$2
|
|
if test -n "$3"
|
|
then
|
|
outfile=$3
|
|
else
|
|
outfile=$infile
|
|
fi
|
|
$fpp_to_cpp $args $infile.fpp 2>&1 | remove_author | remove_path_prefix > $outfile.out.txt
|
|
compare $outfile
|
|
}
|
|
|
|
diff_h_hpp()
|
|
{
|
|
if test $# -ne 1
|
|
then
|
|
echo 'usage: diff_h_hpp file' 1>&2
|
|
exit 1
|
|
fi
|
|
file=$1
|
|
diff -u $file'Ac.ref.hpp' $file'Ac.hpp' && \
|
|
diff -u $file'Ac.ref.h' $file'Ac.h'
|
|
}
|
|
|
|
diff_hpp()
|
|
{
|
|
if test $# -ne 1
|
|
then
|
|
echo 'usage: diff_hpp file' 1>&2
|
|
exit 1
|
|
fi
|
|
file=$1
|
|
diff -u $file'Ac.ref.hpp' $file'Ac.hpp'
|
|
}
|
|
|
|
. ./tests.sh
|
|
|
|
# Default tests
|
|
for t in $tests
|
|
do
|
|
echo "
|
|
$t()
|
|
{
|
|
run_test '' $t
|
|
}"
|
|
done > default-tests.sh
|
|
. ./default-tests.sh
|
|
|
|
diff_cpp()
|
|
{
|
|
if test $# -ne 1
|
|
then
|
|
echo 'usage: diff_cpp file' 1>&2
|
|
exit 1
|
|
fi
|
|
file=$1
|
|
diff -u $file'Ac.ref.hpp' $file'Ac.hpp' && \
|
|
diff -u $file'Ac.ref.cpp' $file'Ac.cpp'
|
|
}
|
|
|
|
diff_cpp_suffix()
|
|
{
|
|
if test $# -lt 1 || test $# -gt 2
|
|
then
|
|
echo 'usage: diff_cpp_suffix file [suffix]' 1>&2
|
|
exit 1
|
|
fi
|
|
file=$1
|
|
target_suffix=$2
|
|
cp $file'Ac'.hpp $file'Ac'$target_suffix.out.hpp && \
|
|
diff -u $file'Ac'$target_suffix.ref.hpp $file'Ac'$target_suffix.out.hpp && \
|
|
cp $file'Ac'.cpp $file'Ac'$target_suffix.out.cpp && \
|
|
diff -u $file'Ac'$target_suffix.ref.cpp $file'Ac'$target_suffix.out.cpp
|
|
}
|
|
|
|
diff_template()
|
|
{
|
|
file=$1
|
|
remove_author < $file.template.hpp > $file.template.out.hpp && \
|
|
diff -u $file.template.ref.hpp $file.template.out.hpp && \
|
|
remove_author < $file.template.cpp > $file.template.out.cpp && \
|
|
diff -u $file.template.ref.cpp $file.template.out.cpp
|
|
}
|
|
|
|
diff_test()
|
|
{
|
|
file=$1
|
|
diff -u $file'TesterBase.ref.hpp' $file'TesterBase.hpp' && \
|
|
diff -u $file'TesterBase.ref.cpp' $file'TesterBase.cpp' && \
|
|
diff -u $file'GTestBase.ref.hpp' $file'GTestBase.hpp' && \
|
|
diff -u $file'GTestBase.ref.cpp' $file'GTestBase.cpp' && \
|
|
if test -f $file'TesterHelpers.ref.cpp'
|
|
then
|
|
diff -u $file'TesterHelpers.ref.cpp' $file'TesterHelpers.cpp'
|
|
fi
|
|
}
|
|
|
|
diff_test_template()
|
|
{
|
|
file=$1
|
|
remove_author < $file'Tester.hpp' > $file'Tester.out.hpp' && \
|
|
diff -u $file'Tester.ref.hpp' $file'Tester.out.hpp' && \
|
|
remove_author < $file'Tester.cpp' > $file'Tester.out.cpp' && \
|
|
diff -u $file'Tester.ref.cpp' $file'Tester.out.cpp' && \
|
|
if test -f $file'TesterHelpers.ref.cpp'
|
|
then
|
|
diff -u $file'TesterHelpers.ref.cpp' $file'TesterHelpers.cpp'
|
|
fi && \
|
|
remove_author < $file'TestMain.cpp' > $file'TestMain.out.cpp' && \
|
|
diff -u $file'TestMain.ref.cpp' $file'TestMain.out.cpp'
|
|
}
|
|
|
|
. ./run.sh
|
|
|
|
run_suite $tests
|