Flow of TUnit Java Execution

From TinyOS Wiki
Jump to: navigation, search

As soon as you execute the TUnit Java application, TUnit verifies its environment is ok and begins looking for tests. Any errors, either internal or external, are reported in the test results at the end of execution.

Below is a simplistic description of the logic flow behind TUnit as it executes on a computer.

  • Locate the TOSCONTRIB directory, verify it exists
  • Grab a Test Run from the tunit.xml file. Verify all the motes are really attached to the computer.
  • Traverse through the current directory and all sub-directories, collecting rules from any suite.properties files. Try to find a compilable application that isn't filtered out by suite.properties rules.
  • When TUnit finds a compilable project that's ok to run, it compiles and installs the application to one or more nodes defined by the current Test Run. After the test application has been installed to all nodes, TUnit opens up serial forwarders to every node, each on a different port number. TUnit tells the Driving Node to begin testing, and listens to all nodes running the test for assertions or done() commands. The actual details of the embedded side execution are explained in the TUnit Test Flow section.
  • After the test reports back that it is complete, TUnit issues a command to each node to TearDownOneTime. It closes all serial forwarders, writes the results to XML files, and moves on in search of other tests in sub-directories.
  • When no more tests and no more test runs exist to be executed, TUnit Java prints the results to the screen and exits.

See Also