f804866095
Compilation improvements by adding variant as other obj but not working on device Arduino Zero devices with OpenOCD working Created ARM_TOOLS_DIR and define arm toolchain executables in Sam.mk Check avr-gcc on last AVR_TOOLS_DIR detect and indenting formatting GDB debugging and programming added Documentation updates and define ARDMK_VENDOR rather than include Sam.mk Expand all parse_boards when defined rather than when used Trim extra defines regex working on both macOS and Linux but need better fix Print USB ids and added debug usage to readme Add note on Arduino package dir and made board.txt work Do ARM ARDUINO_ARCH define in Arduino.mk] Add MZeroBlink to non-testable examples for now Remove \B from extra defines grep Add ARDUINO_PACKAGE_DIR for board support files Fix a typo in the README Fix typo in arduino-mk-vars.md Prevent re-including Arduino.mk from Sam.mk when make restarts for upload Add catrina to ARD_REST_OPTS if/else Remove realpath in Sam.mk for cygwin compatability SAMD bootloader support in ard-reset using --zero Enters bootloader using open/close of port at 1200 BAUD, then polls the attached devices for new port enumerating (bootloader). This is how the Arduino IDE operates Bossa support for Zero, MKR1000 etc Re-word Arm README section after Native USB development Reset for zero refactored like IDE Zero bootloader reset tested on macOS and comments added Re-word ARM bootloader and remove imports from testing Patch changes ARDMK_VENDOR->ARCHITECHTURE, show_config_vars, ignore CORE_VER if emtpy Common.mk header guard, openocd/bossac avoid separator, typos Documentation update for patch changes Move ARM tools to Sam.mk and auto-detect include Correct accidental commit of Blink Makefile change Lib fix with alternative core and documentation Append zero to ARD_RESET_OPTS rather than set Prioritise package ARM upload tools over path installed Add note in README on ARM tools versions Move openocd variant config script flag to OPTS
67 lines
1.7 KiB
Bash
Executable file
67 lines
1.7 KiB
Bash
Executable file
#!/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 BlinkOpenCM BlinkTeensy BlinkNetworkRPi BlinkInAVRC MZeroBlink ZeroBlink)
|
|
|
|
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
|