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