A few quick tips to get started contributing to OnosSystemTest:

Fundamentals on Authoring a Test Case

Because we are targeting all tests to be automated in a Continuous Integration (CI) environment, there are several fundamental principles that we adhere to when writing test cases and driver files:

  1. Portability - allow the test case to be run in other similar test environments, as well as merging community contributed tests into our production environment.
  2. Stability - the test must handle various environment (e.g. response time of starting ONOS on VMs vs. on Bare Metals); test case must have stability in passing or failing results.
  3. Clarity - strive to make Python cases simple to comprehend.
  4. Debugging - use logging capabilities liberally to catch all cases of exceptions, and to ensure test failures don't go silently.

In order to achieve these objectives, it is essential to have a good understanding of the Jenkins - TestON interactions and abstractions in running a test case. The following diagram illustrates the interaction and abstraction of TestON and Jenkins.


TestON Scripting General Guidelines: