Nicholas O'Leary 50fc79dc42 update readme
2012-11-11 15:05:27 +00:00
..
2012-11-11 14:17:50 +00:00
2012-11-08 21:45:41 +00:00
2012-11-11 15:05:27 +00:00
2012-11-11 14:50:11 +00:00

Arduino Client for MQTT Test Suite

This is a regression test suite for the PubSubClient library.

Without a suitable arduino plugged in, the test suite will only check the example sketches compile cleanly against the library.

With an arduino plugged in, each sketch that has a corresponding python test case is built, uploaded and then the tests run.

Dependencies

  • Python 2.7+
  • INO Tool - this provides command-line build/upload of Arduino sketches

Running

Without a suitable arduino plugged in, the test suite will only check the example sketches compile cleanly against the library.

With an arduino plugged in, each sketch that has a corresponding python test case is built, uploaded and then the tests run.

The test suite does not run an MQTT server - it is assumed to be already running.

$ python testsuite.py

What it does

For each example sketch, sketch.ino, the suite looks for a matching test case testcases/sketch.py.

The test case must follow these conventions:

  • sub-class unittest.TestCase
  • provide the class methods setUpClass and tearDownClass (TODO: make this optional)
  • all test method names begin with test_

The suite will call the setUpClass method before uploading the sketch. This allows any test setup to be performed before the sketch runs - such as connecting a client and subscribing to topics.

Settings

The file testcases/settings.py is used to config the test environment.

  • server_ip - the IP address of the broker the client should connect to
  • arduino_ip - the IP address the arduino should us

Before each sketch is compiled, these values are automatically substituted in. To do this, the suite looks for lines that start with the following:

 byte server[] = {
 byte ip[] = {

and replaces them with the appropriate values.