Difference between revisions of "Builds/Tests"
Line 11: | Line 11: | ||
= Hardware tests = | = Hardware tests = | ||
The hardware testing is executed using the Perl test framework. | The hardware testing is executed using the Perl test framework. | ||
To implement the hardware testing we need do the following | |||
* Build the firmware | |||
* Upload the firmware to the target board noting that multiple boards may be connected to the same computer | |||
* Start up the '''server''' program | |||
* Start up the '''link''' program | |||
* Run the test suite by reading and writing data to the Ivy bus. | |||
* Stop the '''server''' and '''link''' processes | |||
The Perl module <code>IO::Socket::Multicast</code> is required to be installed to be able to execute the hardware tests. Please see [[Builds/Tests#Installing Perl Modules| installing Perl modules]] for more details | The Perl module <code>IO::Socket::Multicast</code> is required to be installed to be able to execute the hardware tests. Please see [[Builds/Tests#Installing Perl Modules| installing Perl modules]] for more details |
Revision as of 05:33, 6 March 2012
Automated testing
There are a number of automated tests that can be run from the command line.
To execute these tests execute the command make test
if you require more verbose output of the results run the command make test TEST_VERBOSE=1
The test results can also be generated in JUnit format adding the option JUNIT=1
to the command line i.e. make test JUNIT=1
or make test TEST_VERBOSE=1 JUNIT=1
JUnit formatting of test resuls requires that the Perl module TAP::Formatters::JUnit
is installed on the machine that the tests are run on. Please see installing Perl modules for more details
Hardware tests
The hardware testing is executed using the Perl test framework.
To implement the hardware testing we need do the following
- Build the firmware
- Upload the firmware to the target board noting that multiple boards may be connected to the same computer
- Start up the server program
- Start up the link program
- Run the test suite by reading and writing data to the Ivy bus.
- Stop the server and link processes
The Perl module IO::Socket::Multicast
is required to be installed to be able to execute the hardware tests. Please see installing Perl modules for more details
Installing Perl modules
To install Perl modules the following procedure can be run. There are alternatives depending on the operating system that is being used.
- sudo perl -MCPAN -e shell
- install <module name>
This should install all of the required modules. note that errors may be reported during the installation process so you should pay attention to what is happening.