regression test scripting framework for embedded systems developers
Project description
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
Built Distribution
File details
Details for the file monk_tf-0.8.9.tar.gz
.
File metadata
- Download URL: monk_tf-0.8.9.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcc34851a63479580b7e07e186e8f6b6eaab5d053c496ebdb30c4925f65c0dac |
|
MD5 | 63967bdde07d39f4bdbb19f7b93932b3 |
|
BLAKE2b-256 | 7eedf6f2257bc02430af4a77f1d4638ee9cb8ea7eda4825a57bd6c38151b968a |
Provenance
File details
Details for the file monk_tf-0.8.9-py2.py3-none-any.whl
.
File metadata
- Download URL: monk_tf-0.8.9-py2.py3-none-any.whl
- Upload date:
- Size: 42.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cccfea3622efc836e79e92a8283cec50a09a1c6aee5ecac870bee704ca10924 |
|
MD5 | 97d5505b7dde1b54115534fe20add92c |
|
BLAKE2b-256 | 1a7a030c0f7b0c8d5e3cc31a8d2af19b6a229cbe0dfe008894cd49494acd4a06 |