Skip to main content

regression test scripting framework for embedded systems developers

Project description

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.

Release 0.1.10/0.1.11 (2014-05-05)

Enables devices to use current connections to find its IP addresses. Example usecase: You have a serial connection to your device that you know how to access. The Device itself uses DHCP to get an IP address and you want to send HTTP requests to it. Now you can use MONK to find its IP address via SerialConnection and then send your HTTP requests.

Release 0.1.9 (2014-04-14)

  • add option to set debug fixture file which overwrites differences between test environment and development environment while developing

Release 0.1.7/0.1.8 (2014-03-27)

  • workaround for slower password prompt return times

  • there was a problem in the publishing process which lead to changes not being added to the 0.1.7 release

Release 0.1.6 (2014-03-06)

  • again bugs got fixed

  • most important topic was stabilizing the connect->login->cmd process

  • error handling improved with more ifs and more userfriendly exceptions

  • it is now possible to completely move from Disconnected to Authenticated even when the target device is just booting.

Release 0.1.5 (2014-02-25)

  • fixed many bugs

  • most notably 0.1.4 was actually not able to be installed from PyPI without workaround

Release 0.1.4 (2014-01-24)

  • fixed some urgent bugs

  • renamed harness to fixture

  • updated docs

Release 0.1.3

  • complete reimplementation finished

  • documentation not up to date yet

  • Features are: * create independent connections with the connection layer * example implementation with SerialConnection * create complete device abstraction with the dev layer * basic device class in layer * separate test cases and connection data for reusage with harness layer * example parser for extendend INI implemented in harness layer

Release 0.1.2

  • added GPLv3+ (source) and CC-BY-SA 3.0 (docs) Licenses

  • updated coding standards

Release 0.1.1

  • rewrote documentation

  • style guide

  • configured for pip, setuptools, virtualenv

  • restarted unit test suite with nosetests

  • added development and test requirements

Release 0.1

The initial Release.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monk_tf-0.15.2.tar.gz (42.2 kB view details)

Uploaded Source

Built Distribution

monk_tf-0.15.2-py2.py3-none-any.whl (44.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file monk_tf-0.15.2.tar.gz.

File metadata

  • Download URL: monk_tf-0.15.2.tar.gz
  • Upload date:
  • Size: 42.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for monk_tf-0.15.2.tar.gz
Algorithm Hash digest
SHA256 8d6e70656d5ad05d2e83d513c0a1fac49449b5611d0f58014df0af57e98fa9fb
MD5 0ba90c1d84a534668fbddc0e8b2d1d28
BLAKE2b-256 4a6271bea4b624ffba3cc56a17279241d31f53b5effbc8faa58f54debdef7e58

See more details on using hashes here.

Provenance

File details

Details for the file monk_tf-0.15.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for monk_tf-0.15.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 df9e8571163808cfd4a5abe4d919ac89a5a06fcafeb95f2f2f9c80ba971cf5a1
MD5 12349f4b09b1c19e3eab7263cece8edc
BLAKE2b-256 94291ffd0f0c0cbb0dbdda9f6bc7622e60246706b1f27f027be48956d6ad1664

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page