robotframework-construct

This is a robot-framework keyword library which allows to easily parse and generate binary data in robot-framework.

Useful for digital hw register-maps, binary files, tcp/udp protocols and ram-blobs.


This is an attempt to do what rammbock did.

Rammbock is an awesome project, which was instrumental in motivating me to get into robotframework in 2014.

Scope and deliverable

A released pip installable open source keyword library

A set of examples which include
- a UDP based protocol (ntp/dns?)
- a TCP based protocol (dns?)
- a binary file based (bson?)
- bytes based (bson?)
- a "register map" example, using a software model of a register-set of a made up hardware

An included reflector tool to allow to test clients by having a forwarding instance (with optional logging) which allows both the dut and the test to not use listening sockets.

documentation of the keywords.

This is what I intend to do different to rammbock.:

  • no server implementation. (use an reflector instead)
  • no attempt to specify the binary data in robot-framework (its in python files instead)
  • support registermap use cases
  • support binary file use cases
  • leverage the parsing/generating power of construct
  • invest in acceptance testing (RF) and mutation testing
  • be very selective in what to unit test
  • cooperate with an existing (although small) community
  • provide a plan to reuse the binary parser/generator outside of robot-framework
  • provide a plan to reuse the binary parser outside of the python ecosystem (limitations apply)

Current developments are available here.:
https://github.com/construct/construct

See also: screenshot (726.4 KB)