mirror of
https://github.com/RobotechLille/cdf2018-principal
synced 2024-11-14 20:36:03 +01:00
68 lines
1.6 KiB
Bash
68 lines
1.6 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
TESTS_DIR=examples
|
||
|
|
||
|
failures=()
|
||
|
|
||
|
# These examples cannot be tested easily at the moment as they require
|
||
|
# alternate cores. The MakefileExample doesn't actually contain any source code
|
||
|
# to compile.
|
||
|
NON_TESTABLE_EXAMPLES=(ATtinyBlink MakefileExample TinySoftWareSerial BlinkTeensy BlinkNetworkRPi BlinkInAVRC)
|
||
|
|
||
|
for dir in $TESTS_DIR/*/
|
||
|
do
|
||
|
dir=${dir%*/}
|
||
|
example=${dir##*/}
|
||
|
example_is_testable=true
|
||
|
for non_testable_example in "${NON_TESTABLE_EXAMPLES[@]}"; do
|
||
|
if [[ $example == $non_testable_example ]]; then
|
||
|
example_is_testable=false
|
||
|
break
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if ! $example_is_testable; then
|
||
|
echo "Skipping non-testable example $example..."
|
||
|
continue
|
||
|
fi
|
||
|
|
||
|
pushd $dir
|
||
|
echo "Compiling $example..."
|
||
|
make_output=`make clean TEST=1`
|
||
|
make_output=`make TEST=1`
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
failures+=("$example")
|
||
|
echo "Example $example failed"
|
||
|
fi
|
||
|
|
||
|
make_output=`make disasm TEST=1`
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
failures+=("$example disasm")
|
||
|
echo "Example $example disasm failed"
|
||
|
fi
|
||
|
|
||
|
make_output=`make generate_assembly TEST=1`
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
failures+=("$example generate_assembly")
|
||
|
echo "Example $example generate_assembly failed"
|
||
|
fi
|
||
|
|
||
|
make_output=`make symbol_sizes TEST=1`
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
failures+=("$example symbol_sizes")
|
||
|
echo "Example $example symbol_sizes failed"
|
||
|
fi
|
||
|
|
||
|
popd
|
||
|
done
|
||
|
|
||
|
for failure in "${failures[@]}"; do
|
||
|
echo "Example $failure failed"
|
||
|
done
|
||
|
|
||
|
if [[ ${#failures[@]} -eq 0 ]]; then
|
||
|
echo "All tests passed."
|
||
|
else
|
||
|
exit 1
|
||
|
fi
|