MONK is an automated integration and system test framework primarily designed for DFE's HydraIP devices.
Python
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
contrib
doc
monk_tf
test
tools
.gitignore
.travis.yml
CHANGES.rst
LICENSE.txt
MANIFEST.in
README.rst
requirements.txt
setup.cfg
setup.py

README.rst

Build Status Documentation Status Codacy Quality Coveralls Quality License Downloads Latest Version Supported Python Versions Current Devel Status Support Package Format

Intro

Using MONK you can write tests like you would write unit tests, just that they are able to interact with your embedded system.

Let's look at an example. In the following example we have an embedded system with a serial terminal and a network interface. We want to write a test, which checks whether the network interface receives correct information via dhcp.

The test case written with nosetests:

import nose.tools as nt

import monk_tf.conn as mc
import monk_tf.dev as md

def test_dhcp():
    """ check whether dhcp is implemented correctly
    """
    # setup
    device = md.Device(mc.SerialConn('/dev/ttyUSB1','root','sosecure'))
    # exercise
    device.cmd('dhcpc -i eth0')
    # verify
    ifconfig_out = device.cmd('ifconfig eth0')
    nt.ok_('192.168.2.100' in ifconfig_out)

Even for non python programmers it should be not hard to guess, that this test will connect to a serial interface on /dev/ttyUSB1, send the shell command dhcpc to get a new IP adress for the eth0 interface, and in the end it checks whether the received IP address that the tester would expect. No need to worry about connection handling, login and session handling.

For more information see the API Docs.