From c86ce093ce93eb8da1136acd1e81973ef0bb54fc Mon Sep 17 00:00:00 2001 From: Christopher Peplin Date: Tue, 9 Sep 2014 23:09:35 -0400 Subject: [PATCH] Add a script to compile examples as an automated test suite. * Added script/boostrap.sh to download the Arduino IDE and MPIDE (for chipKIT). Tested in Linux, should work in Cygwin and OS X too. * Added script/runtests.sh to run "make" in each example project and collect the results. The script returns -1 if any fails. * Moved currently testable examples to a "tests" directory, separate from examples that require alternative cores. --- .gitignore | 2 + README.md | 7 + examples/ATtinyBlink/Makefile | 2 +- examples/README.md | 10 +- examples/TinySoftWareSerial/Makefile | 1 + examples/toneMelody/Makefile | 4 - script/bootstrap.sh | 9 + script/bootstrap/arduino.sh | 44 ++++ script/bootstrap/chipkit.sh | 61 ++++++ script/bootstrap/common.sh | 191 ++++++++++++++++++ script/bootstrap/pip-requirements.txt | 1 + script/runtests.sh | 28 +++ .../AnalogInOutSerial/AnalogInOutSerial.ino | 0 .../AnalogInOutSerial/Makefile | 1 + {examples => tests}/Blink/Blink.ino | 0 {examples => tests}/Blink/Makefile | 1 + .../BlinkChipKIT/BlinkChipKIT.pde | 0 {examples => tests}/BlinkChipKIT/Makefile | 1 + {examples => tests}/BlinkInAVRC/Makefile | 1 + {examples => tests}/BlinkInAVRC/blink.c | 0 .../BlinkWithoutDelay/BlinkWithoutDelay.ino | 0 .../Fade => tests/BlinkWithoutDelay}/Makefile | 1 + {examples => tests}/Fade/Fade.ino | 0 .../BlinkWithoutDelay => tests/Fade}/Makefile | 1 + {examples => tests}/HelloWorld/HelloWorld.ino | 0 {examples => tests}/HelloWorld/Makefile | 1 + tests/TestSuiteCommon.mk | 13 ++ {examples => tests}/WebServer/Makefile | 1 + {examples => tests}/WebServer/WebServer.ino | 0 {examples => tests}/master_reader/Makefile | 1 + .../master_reader/master_reader.ino | 0 tests/toneMelody/Makefile | 5 + {examples => tests}/toneMelody/pitches.h | 0 {examples => tests}/toneMelody/toneMelody.ino | 0 34 files changed, 379 insertions(+), 8 deletions(-) delete mode 100644 examples/toneMelody/Makefile create mode 100755 script/bootstrap.sh create mode 100644 script/bootstrap/arduino.sh create mode 100644 script/bootstrap/chipkit.sh create mode 100644 script/bootstrap/common.sh create mode 100644 script/bootstrap/pip-requirements.txt create mode 100755 script/runtests.sh rename {examples => tests}/AnalogInOutSerial/AnalogInOutSerial.ino (100%) rename {examples => tests}/AnalogInOutSerial/Makefile (66%) rename {examples => tests}/Blink/Blink.ino (100%) rename {examples => tests}/Blink/Makefile (67%) rename {examples => tests}/BlinkChipKIT/BlinkChipKIT.pde (100%) rename {examples => tests}/BlinkChipKIT/Makefile (69%) rename {examples => tests}/BlinkInAVRC/Makefile (92%) rename {examples => tests}/BlinkInAVRC/blink.c (100%) rename {examples => tests}/BlinkWithoutDelay/BlinkWithoutDelay.ino (100%) rename {examples/Fade => tests/BlinkWithoutDelay}/Makefile (66%) rename {examples => tests}/Fade/Fade.ino (100%) rename {examples/BlinkWithoutDelay => tests/Fade}/Makefile (66%) rename {examples => tests}/HelloWorld/HelloWorld.ino (100%) rename {examples => tests}/HelloWorld/Makefile (71%) create mode 100644 tests/TestSuiteCommon.mk rename {examples => tests}/WebServer/Makefile (82%) rename {examples => tests}/WebServer/WebServer.ino (100%) rename {examples => tests}/master_reader/Makefile (82%) rename {examples => tests}/master_reader/master_reader.ino (100%) create mode 100644 tests/toneMelody/Makefile rename {examples => tests}/toneMelody/pitches.h (100%) rename {examples => tests}/toneMelody/toneMelody.ino (100%) diff --git a/.gitignore b/.gitignore index 06cff06..a0d6d59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *.o build-cli /.project +/dependencies +build-* diff --git a/README.md b/README.md index 50785b0..5b24604 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,13 @@ Then, the following line must be added to the project Makefile : $(CXX_NAME) -c -include Arduino.h -x c++ $(CXXFLAGS) $(CPPFLAGS) -fsyntax-only $(CHK_SOURCES) ``` +## Test Suite + +This project includes a suite of example Makefiles and small Arduino and chipKIT +programs to assist the developers. Run `script/bootstrap.sh` to attempt to +automatically install the dependencies (Arduino IDE, MPIDE, etc.). Run +`script/runtests.sh` to attempt to compile all of the examples. + ### Bare-Arduino–Project If you are planning on using this makefile in a larger/professional project, you might want to take a look at the [Bare-Arduino–Project](https://github.com/WeAreLeka/Bare-Arduino-Project) framework. diff --git a/examples/ATtinyBlink/Makefile b/examples/ATtinyBlink/Makefile index a89de1c..b4e49be 100644 --- a/examples/ATtinyBlink/Makefile +++ b/examples/ATtinyBlink/Makefile @@ -1,6 +1,6 @@ # Arduino Make file. Refer to https://github.com/sudar/Arduino-Makefile -# if you have placed the alternate core in your sketchbook directory, then you can just mention the core name alone. +# if you have placed the alternate core in your sketchbook directory, then you can just mention the core name alone. ALTERNATE_CORE = attiny # If not, you might have to include the full path. #ALTERNATE_CORE_PATH = /home/sudar/Dropbox/code/arduino-sketches/hardware/attiny/ diff --git a/examples/README.md b/examples/README.md index b170cdc..39425b3 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,7 +1,11 @@ -This folder contains the list of example Arduino sketches and makefile showing the different usage patterns +This folder contains the list of example Arduino sketches and makefile showing +the different usage patterns + +- BlinkInAVRC - Shows how to use plain AVR C code +- ATtinyBlink - Shows how to use different cores like ATtiny + +These three examples are a step back, in the "tests" directory. - Blink - Shows normal usage - HelloWorld - Shows how to include Arduino libraries -- BlinkInAVRC - Shows how to use plain AVR C code - BlinkChipKIT - Shows how to use ChipKIT -- ATtinyBlink - Shows how to use different cores like ATtiny diff --git a/examples/TinySoftWareSerial/Makefile b/examples/TinySoftWareSerial/Makefile index 08f918d..991e57e 100644 --- a/examples/TinySoftWareSerial/Makefile +++ b/examples/TinySoftWareSerial/Makefile @@ -9,6 +9,7 @@ BOARD_TAG = attiny85-8 ARDUINO_LIBS = SoftwareSerial +include ../TestSuiteCommon.mk include $(ARDMK_DIR)/Arduino.mk # !!! Important. You have to use make ispload to upload when using ISP programmer diff --git a/examples/toneMelody/Makefile b/examples/toneMelody/Makefile deleted file mode 100644 index 3dea6c0..0000000 --- a/examples/toneMelody/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -BOARD_TAG = uno -ARDUINO_LIBS = - -include ../../Arduino.mk diff --git a/script/bootstrap.sh b/script/bootstrap.sh new file mode 100755 index 0000000..083bf5d --- /dev/null +++ b/script/bootstrap.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +SCRIPTS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +pushd $SCRIPTS_DIR/.. + +source $SCRIPTS_DIR/bootstrap/chipkit.sh +source $SCRIPTS_DIR/bootstrap/arduino.sh diff --git a/script/bootstrap/arduino.sh b/script/bootstrap/arduino.sh new file mode 100644 index 0000000..3c7e9d7 --- /dev/null +++ b/script/bootstrap/arduino.sh @@ -0,0 +1,44 @@ +set -e +BOOTSTRAP_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source $BOOTSTRAP_DIR/common.sh + +echo "Installing dependencies for building for the Arduino" + +if [ -z "$ARDUINO_DIR" ] || ! test -e $ARDUINO_DIR || [ $OS == "cygwin" ]; then + + echo "Installing Arduino..." + + ARDUINO_BASENAME="arduino-1.0.5" + if [ $OS == "cygwin" ]; then + ARDUINO_FILE="$ARDUINO_BASENAME-r2-windows".zip + EXTRACT_COMMAND="unzip -q" + elif [ $OS == "mac" ]; then + ARDUINO_FILE="$ARDUINO_BASENAME-macosx".zip + EXTRACT_COMMAND="unzip -q" + else + ARDUINO_FILE="$ARDUINO_BASENAME-linux64".tgz + EXTRACT_COMMAND="tar -xzf" + fi + + ARDUINO_URL=http://arduino.googlecode.com/files/$ARDUINO_FILE + + _pushd $DEPENDENCIES_FOLDER + if ! test -e $ARDUINO_FILE + then + echo "Downloading Arduino IDE..." + download $ARDUINO_URL $ARDUINO_FILE + fi + + if ! test -d $ARDUINO_BASENAME + then + echo "Installing Arduino to local folder..." + $EXTRACT_COMMAND $ARDUINO_FILE + echo "Arduino installed" + fi + + _popd + +fi + +echo +echo "${bldgreen}Arduino dependencies installed.$txtrst" diff --git a/script/bootstrap/chipkit.sh b/script/bootstrap/chipkit.sh new file mode 100644 index 0000000..efe9615 --- /dev/null +++ b/script/bootstrap/chipkit.sh @@ -0,0 +1,61 @@ +set -e +BOOTSTRAP_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source $BOOTSTRAP_DIR/common.sh + +echo "Installing dependencies for building for the chipKIT" + + +if [ -z "$MPIDE_DIR" ] || ! test -e $MPIDE_DIR || [ $OS == "cygwin" ]; then + + echo "Installing MPIDE..." + + if [ $OS == "cygwin" ]; then + MPIDE_BASENAME="mpide-0023-windows-20130715" + MPIDE_FILE="$MPIDE_BASENAME".zip + EXTRACT_COMMAND="unzip -q" + if ! command -v unzip >/dev/null 2>&1; then + _cygwin_error "unzip" + fi + elif [ $OS == "mac" ]; then + MPIDE_BASENAME=mpide-0023-macosx-20130715 + MPIDE_FILE="$MPIDE_BASENAME".dmg + else + MPIDE_BASENAME=mpide-0023-linux64-20130817-test + MPIDE_FILE="$MPIDE_BASENAME".tgz + EXTRACT_COMMAND="tar -xzf" + fi + + MPIDE_URL=http://chipkit.s3.amazonaws.com/builds/$MPIDE_FILE + + _pushd $DEPENDENCIES_FOLDER + if ! test -e $MPIDE_FILE + then + echo "Downloading MPIDE..." + download $MPIDE_URL $MPIDE_FILE + fi + + if ! test -d $MPIDE_BASENAME + then + echo "Installing MPIDE to local folder..." + if [ $OS == "mac" ]; then + hdiutil attach $MPIDE_FILE + cp -R /Volumes/Mpide/Mpide.app/Contents/Resources/Java $MPIDE_BASENAME + hdiutil detach /Volumes/Mpide + else + $EXTRACT_COMMAND $MPIDE_FILE + fi + echo "MPIDE installed" + fi + + if [ $OS == "cygwin" ]; then + chmod a+x mpide/hardware/pic32/compiler/pic32-tools/bin/* + chmod a+x -R mpide/hardware/pic32/compiler/pic32-tools/pic32mx/ + chmod a+x mpide/*.dll + chmod a+x mpide/hardware/tools/avr/bin/* + fi + _popd + +fi + +echo +echo "${bldgreen}chipKIT dependencies installed.$txtrst" diff --git a/script/bootstrap/common.sh b/script/bootstrap/common.sh new file mode 100644 index 0000000..695d6b7 --- /dev/null +++ b/script/bootstrap/common.sh @@ -0,0 +1,191 @@ +#!/usr/bin/env bash + +set -e +BOOTSTRAP_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +if [ -z $COMMON_SOURCED ]; then + + # TODO this is kind of a hacky way of determining if root is required - + # ideally we wouuld set up a little virtualenv in the dependencies folder + SUDO_CMD= + if command -v sudo >/dev/null 2>&1; then + SUDO_CMD="sudo -E" + + if [ -z $CI ] && [ -z $VAGRANT ]; then + echo "The bootstrap script needs to install a few packages to your system as an admin, and we will use the 'sudo' command - enter your password to continue" + $SUDO_CMD ls > /dev/null + fi + fi + + KERNEL=`uname` + ARCH=`uname -m` + if [ ${KERNEL:0:7} == "MINGW32" ]; then + OS="windows" + elif [ ${KERNEL:0:6} == "CYGWIN" ]; then + OS="cygwin" + elif [ $KERNEL == "Darwin" ]; then + OS="mac" + else + OS="linux" + if ! command -v lsb_release >/dev/null 2>&1; then + # Arch Linux + if command -v pacman>/dev/null 2>&1; then + $SUDO_CMD pacman -S lsb-release + fi + fi + + DISTRO=`lsb_release -si` + fi + + + die() { + echo >&2 "${bldred}$@${txtrst}" + exit 1 + } + + _cygwin_error() { + echo + echo "${bldred}Missing \"$1\"${txtrst} - run the Cygwin installer again and select the base package set:" + echo " $CYGWIN_PACKAGES" + echo "After installing the packages, re-run this bootstrap script." + die + } + + if ! command -v tput >/dev/null 2>&1; then + if [ $OS == "cygwin" ]; then + echo "OPTIONAL: Install the \"ncurses\" package in Cygwin to get colored shell output" + fi + else + set +e + # These exit with 1 when provisioning in a Vagrant box...? + txtrst=$(tput sgr0) # reset + bldred=${txtbld}$(tput setaf 1) + bldgreen=${txtbld}$(tput setaf 2) + set -e + fi + + + _pushd() { + pushd $1 > /dev/null + } + + _popd() { + popd > /dev/null + } + + _wait() { + if [ -z $CI ] && [ -z $VAGRANT ]; then + echo "Press Enter when done" + read + fi + } + + _install() { + if [ $OS == "cygwin" ]; then + _cygwin_error $1 + elif [ $OS == "mac" ]; then + # brew exists with 1 if it's already installed + set +e + brew install $1 + set -e + else + if [ -z $DISTRO ]; then + echo + echo "Missing $1 - install it using your distro's package manager or build from source" + _wait + else + if [ $DISTRO == "arch" ]; then + $SUDO_CMD pacman -S $1 + elif [ $DISTRO == "Ubuntu" ]; then + $SUDO_CMD apt-get update -qq + $SUDO_CMD apt-get install $1 -y + else + echo + echo "Missing $1 - install it using your distro's package manager or build from source" + _wait + fi + fi + fi + } + + download() { + url=$1 + filename=$2 + curl $url -L -o $filename + } + + if [ `id -u` == 0 ]; then + die "Error: running as root - don't use 'sudo' with this script" + fi + + if ! command -v unzip >/dev/null 2>&1; then + _install "unzip" + fi + + if ! command -v curl >/dev/null 2>&1; then + if [ $OS == "cygwin" ]; then + _cygwin_error "curl" + else + _install curl + fi + fi + + echo "Storing all downloaded dependencies in the \"dependencies\" folder" + + DEPENDENCIES_FOLDER="dependencies" + mkdir -p $DEPENDENCIES_FOLDER + + if ! command -v make >/dev/null 2>&1; then + if [ $OS == "cygwin" ]; then + _cygwin_error "make" + elif [ $OS == "mac" ]; then + die "Missing 'make' - install the Xcode CLI tools" + else + if [ $DISTRO == "arch" ]; then + _install "base-devel" + elif [ $DISTRO == "Ubuntu" ]; then + _install "build-essential" + fi + fi + fi + + if [ $DISTRO == "Ubuntu" ] && [ $ARCH == "x86_64" ]; then + _install "libc6-i386" + _install "lib32gcc1" + fi + + if ! command -v g++ >/dev/null 2>&1; then + if [ $DISTRO == "Ubuntu" ]; then + _install "g++" + fi + fi + + if ! command -v python >/dev/null 2>&1; then + echo "Installing Python..." + _install "python" + fi + + if ! command -v pip >/dev/null 2>&1; then + echo "Installing Pip..." + if ! command -v easy_install >/dev/null 2>&1; then + _install "python-setuptools" + fi + + if ! command -v easy_install >/dev/null 2>&1; then + die "easy_install not available, can't install pip" + fi + + $SUDO_CMD easy_install pip + fi + + PIP_SUDO_CMD= + if [ -z $VIRTUAL_ENV ]; then + # Only use sudo if the user doesn't have an active virtualenv + PIP_SUDO_CMD=$SUDO_CMD + fi + + $PIP_SUDO_CMD pip install --upgrade setuptools + $PIP_SUDO_CMD pip install --src dependencies --pre -Ur $BOOTSTRAP_DIR/pip-requirements.txt + + COMMON_SOURCED=1 +fi diff --git a/script/bootstrap/pip-requirements.txt b/script/bootstrap/pip-requirements.txt new file mode 100644 index 0000000..8313187 --- /dev/null +++ b/script/bootstrap/pip-requirements.txt @@ -0,0 +1 @@ +pyserial==2.7 diff --git a/script/runtests.sh b/script/runtests.sh new file mode 100755 index 0000000..ad42f74 --- /dev/null +++ b/script/runtests.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +failures=() + +for dir in tests/*/ +do + dir=${dir%*/} + example=${dir##*/} + pushd $dir + echo "Compiling $example..." + make_output=`make clean` + make_output=`make` + if [[ $? -ne 0 ]]; then + failures+=("$example") + echo "Example $example 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 diff --git a/examples/AnalogInOutSerial/AnalogInOutSerial.ino b/tests/AnalogInOutSerial/AnalogInOutSerial.ino similarity index 100% rename from examples/AnalogInOutSerial/AnalogInOutSerial.ino rename to tests/AnalogInOutSerial/AnalogInOutSerial.ino diff --git a/examples/AnalogInOutSerial/Makefile b/tests/AnalogInOutSerial/Makefile similarity index 66% rename from examples/AnalogInOutSerial/Makefile rename to tests/AnalogInOutSerial/Makefile index 3dea6c0..872d069 100644 --- a/examples/AnalogInOutSerial/Makefile +++ b/tests/AnalogInOutSerial/Makefile @@ -1,4 +1,5 @@ BOARD_TAG = uno ARDUINO_LIBS = +include ../TestSuiteCommon.mk include ../../Arduino.mk diff --git a/examples/Blink/Blink.ino b/tests/Blink/Blink.ino similarity index 100% rename from examples/Blink/Blink.ino rename to tests/Blink/Blink.ino diff --git a/examples/Blink/Makefile b/tests/Blink/Makefile similarity index 67% rename from examples/Blink/Makefile rename to tests/Blink/Makefile index 7678e9b..d41effa 100644 --- a/examples/Blink/Makefile +++ b/tests/Blink/Makefile @@ -1,5 +1,6 @@ BOARD_TAG = uno ARDUINO_LIBS = +include ../TestSuiteCommon.mk include ../../Arduino.mk diff --git a/examples/BlinkChipKIT/BlinkChipKIT.pde b/tests/BlinkChipKIT/BlinkChipKIT.pde similarity index 100% rename from examples/BlinkChipKIT/BlinkChipKIT.pde rename to tests/BlinkChipKIT/BlinkChipKIT.pde diff --git a/examples/BlinkChipKIT/Makefile b/tests/BlinkChipKIT/Makefile similarity index 69% rename from examples/BlinkChipKIT/Makefile rename to tests/BlinkChipKIT/Makefile index 87a9f7d..bec2794 100644 --- a/examples/BlinkChipKIT/Makefile +++ b/tests/BlinkChipKIT/Makefile @@ -1,5 +1,6 @@ BOARD_TAG = mega_pic32 ARDUINO_LIBS = +include ../TestSuiteCommon.mk include ../../chipKIT.mk diff --git a/examples/BlinkInAVRC/Makefile b/tests/BlinkInAVRC/Makefile similarity index 92% rename from examples/BlinkInAVRC/Makefile rename to tests/BlinkInAVRC/Makefile index 04049bb..9080b24 100644 --- a/examples/BlinkInAVRC/Makefile +++ b/tests/BlinkInAVRC/Makefile @@ -11,6 +11,7 @@ F_CPU = 8000000L ISP_PROG = stk500v1 AVRDUDE_ISP_BAUDRATE = 19200 +include ../TestSuiteCommon.mk include $(ARDMK_DIR)/Arduino.mk # !!! Important. You have to use make ispload to upload when using ISP programmer diff --git a/examples/BlinkInAVRC/blink.c b/tests/BlinkInAVRC/blink.c similarity index 100% rename from examples/BlinkInAVRC/blink.c rename to tests/BlinkInAVRC/blink.c diff --git a/examples/BlinkWithoutDelay/BlinkWithoutDelay.ino b/tests/BlinkWithoutDelay/BlinkWithoutDelay.ino similarity index 100% rename from examples/BlinkWithoutDelay/BlinkWithoutDelay.ino rename to tests/BlinkWithoutDelay/BlinkWithoutDelay.ino diff --git a/examples/Fade/Makefile b/tests/BlinkWithoutDelay/Makefile similarity index 66% rename from examples/Fade/Makefile rename to tests/BlinkWithoutDelay/Makefile index 3dea6c0..872d069 100644 --- a/examples/Fade/Makefile +++ b/tests/BlinkWithoutDelay/Makefile @@ -1,4 +1,5 @@ BOARD_TAG = uno ARDUINO_LIBS = +include ../TestSuiteCommon.mk include ../../Arduino.mk diff --git a/examples/Fade/Fade.ino b/tests/Fade/Fade.ino similarity index 100% rename from examples/Fade/Fade.ino rename to tests/Fade/Fade.ino diff --git a/examples/BlinkWithoutDelay/Makefile b/tests/Fade/Makefile similarity index 66% rename from examples/BlinkWithoutDelay/Makefile rename to tests/Fade/Makefile index 3dea6c0..872d069 100644 --- a/examples/BlinkWithoutDelay/Makefile +++ b/tests/Fade/Makefile @@ -1,4 +1,5 @@ BOARD_TAG = uno ARDUINO_LIBS = +include ../TestSuiteCommon.mk include ../../Arduino.mk diff --git a/examples/HelloWorld/HelloWorld.ino b/tests/HelloWorld/HelloWorld.ino similarity index 100% rename from examples/HelloWorld/HelloWorld.ino rename to tests/HelloWorld/HelloWorld.ino diff --git a/examples/HelloWorld/Makefile b/tests/HelloWorld/Makefile similarity index 71% rename from examples/HelloWorld/Makefile rename to tests/HelloWorld/Makefile index fb94fdd..0af2ed4 100644 --- a/examples/HelloWorld/Makefile +++ b/tests/HelloWorld/Makefile @@ -1,4 +1,5 @@ BOARD_TAG = uno ARDUINO_LIBS = LiquidCrystal +include ../TestSuiteCommon.mk include ../../Arduino.mk diff --git a/tests/TestSuiteCommon.mk b/tests/TestSuiteCommon.mk new file mode 100644 index 0000000..5fa4f50 --- /dev/null +++ b/tests/TestSuiteCommon.mk @@ -0,0 +1,13 @@ +ARDMK_DIR=../../ +DEPENDENCIES_FOLDER = ../../dependencies +DEPENDENCIES_MPIDE_DIR = $(DEPENDENCIES_FOLDER)/mpide-0023-linux64-20130817-test + +ifeq ($(MPIDE_DIR),) + MPIDE_DIR = $(DEPENDENCIES_MPIDE_DIR) +endif + +DEPENDENCIES_ARDUINO_DIR = $(DEPENDENCIES_FOLDER)/arduino-1.0.5 + +ifeq ($(ARDUINO_DIR),) + ARDUINO_DIR = $(DEPENDENCIES_ARDUINO_DIR) +endif diff --git a/examples/WebServer/Makefile b/tests/WebServer/Makefile similarity index 82% rename from examples/WebServer/Makefile rename to tests/WebServer/Makefile index 51b9ac2..5fbefae 100644 --- a/examples/WebServer/Makefile +++ b/tests/WebServer/Makefile @@ -3,4 +3,5 @@ BOARD_TAG = uno ARDUINO_LIBS = Ethernet SPI +include ../TestSuiteCommon.mk include ../../Arduino.mk diff --git a/examples/WebServer/WebServer.ino b/tests/WebServer/WebServer.ino similarity index 100% rename from examples/WebServer/WebServer.ino rename to tests/WebServer/WebServer.ino diff --git a/examples/master_reader/Makefile b/tests/master_reader/Makefile similarity index 82% rename from examples/master_reader/Makefile rename to tests/master_reader/Makefile index 3030deb..8a42a8e 100644 --- a/examples/master_reader/Makefile +++ b/tests/master_reader/Makefile @@ -3,4 +3,5 @@ BOARD_TAG = uno ARDUINO_LIBS = Wire +include ../TestSuiteCommon.mk include ../../Arduino.mk diff --git a/examples/master_reader/master_reader.ino b/tests/master_reader/master_reader.ino similarity index 100% rename from examples/master_reader/master_reader.ino rename to tests/master_reader/master_reader.ino diff --git a/tests/toneMelody/Makefile b/tests/toneMelody/Makefile new file mode 100644 index 0000000..872d069 --- /dev/null +++ b/tests/toneMelody/Makefile @@ -0,0 +1,5 @@ +BOARD_TAG = uno +ARDUINO_LIBS = + +include ../TestSuiteCommon.mk +include ../../Arduino.mk diff --git a/examples/toneMelody/pitches.h b/tests/toneMelody/pitches.h similarity index 100% rename from examples/toneMelody/pitches.h rename to tests/toneMelody/pitches.h diff --git a/examples/toneMelody/toneMelody.ino b/tests/toneMelody/toneMelody.ino similarity index 100% rename from examples/toneMelody/toneMelody.ino rename to tests/toneMelody/toneMelody.ino