Skip to content

6LBR Test Environment

Sébastien Dawans edited this page Oct 2, 2013 · 7 revisions

We are developing a Python framework for 6LBR functional tests. The tests can be run on a Linux or Mac Host, with a slip-radio mote. 6LBR will run natively on the test PC.

Configuration

The file test/config.py contains the configuration used by the test script to set up the test environment and communicate with the 6LBR and the test mote.

Platform

Parameter platform must be an instance of one of the supported platforms :

  • Linux
  • MacOSX
  • Windows (Not implemented yet)

6LBR

Parameter br must be an instance of one of the supported 6LBR setup :

  • LocalNativeBR
  • RemoteNativeBR (Not implemented yet)
  • EconotagBR (Not implemented yet)

Mote

Parameter mote must be an instance of one of the supported mote setup :

  • InteractiveMote
  • TelosMote (Not implemented yet)

Identification

The following parameters contains the identity of the 6LBR and mote used :

  • lladdr_6lbr : Last 4 words of the 6LBR IPv6 local address
  • lladdr_mote : Last 4 words of the mote IPv6 local address
  • radio_dev : Slip radio device to use in LocalNativeBR mode

Execution

Running COOJA-based 6LBR Non-Regression Tests

  1. Go to 6LBR source top directory
  2. Build 6LBR binaries and test tools
    make all_native
    make tools
  3. Go to test directory
    cd test
  4. Build COOJA and dependencies, as root
    sudo make build-cooja
  5. Use a preset configuration file, and edit it to choose your platform (Linux/MacOS):
    cp config.cooja.example config.py
  6. Run the Non-Regression Tests
    sudo make non-regression

Watcher

Import system information can be monitored during the test execution by running the watcher.sh script.
In a seperate console:

./watcher.sh

This show which processes are up (6lbr, COOJA, tcpdump…), the status of important interface, route entries and test PC resource utilization.

Documentation

for now, read the sources (test.py) :)

Clone this wiki locally