Go Down

Topic: Arduino TestSuite: Automated Arduino Unit Tests (Read 2439 times) previous topic - next topic

doggenj

Dec 31, 2012, 04:58 pm Last Edit: Jan 15, 2013, 03:06 pm by doggenj Reason: 1
The last days, I have been working on my first Python program named: "arduino_testsuite"

GitHub project page: http://jeroendoggen.github.com/Arduino-TestSuite
Page in the Python Package Index: http://pypi.python.org/pypi/arduino_testsuite

This program allows automated running of several Arduino unit tests. The testing process is started on the PC but the tests run on the actual Arduino hardware. One set of unit tests is typically used to test one Arduino library.

Program flow:
The following steps are performed for each set of unit tests:

  • Read the config file to find out which tests to run



    • The script compiles and uploads an Arduino sketch that contains the unit testing code.

    • The unit tests are run on the Arduino board.

    • The results of the test are printed over the serial port and analyzed by the Python script.



  • The script starts the next test, repeating the above steps for all test that are requested in the configuration file.

  • The script prints a summary showing an overview of all the failed/passed tests in the complete testsuite.



Dependencies:

  • The unit tests are written with the "Arduino Unit Testing Library": http://code.google.com/p/arduinounit

  • The tests also use "Arduino Unit Testing Helper Library": http://code.google.com/p/arduino-unit-test-helper-library

  • The code is uploaded to the Arduino board with "Arscons: scons script for Arduino": http://github.com/suapapa/arscons



Why is this useful:


Typical test output:

Code: [Select]

jeroen@computer:~/tests$ python -m arduino_testsuite
=============================================================
Planned tests:
1. examples/floatingPin
2. examples/inInterval
3. examples/simpleTest
4. examples/buildErrorTest
5. examples/nonExistingFolder
6. examples/slowTest
7. examples/verySlowTest
==============================
.... output normally continues for a while ... link to full log below.


Full log in: https://raw.github.com/jeroendoggen/Arduino-TestSuite/master/resources/example.log (number of characters per post is limited)

Comments are more than welcome. (remember, this is my first Python program...)

robtillaart


Super you want to start with this, a few weeks ago I proposed it as a graduation project to someone on the forum who was searching for some project.

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

tuxduino


Go Up