Skip to content

Generating test programs for our CI system Bamboo

Reinhard Budde edited this page Apr 16, 2019 · 1 revision

preconditions: Java; some experience with XML and JSON; experiences with DSL's and/or frameworks for parse/unparse of these languages helps;

context: OpenRoberta is a learning platform. It uses a graphical programming language (based on blockly) and has code generators/loader for many robots and embedded systems used in education. Browse through https:lab.open-roberta.org . Use the simulator and write some simple programs

problem: we write lots of test programs as blockly-XML, which are used to verify, that the lab handles user programs right. When we change the lab, we have very often to adapt these tests, which is extremely time-consuming. This limits our ability to have a good test coverage.

idea: generate the blockly-XML from a minimal JSON (or YAML) representation (other source format usable by DSL's are fine). Scala, Java or Python are potential candidates.

task: design a DSL to represent the blockly-XML, write a generator to generate the blockly-XML. The DSL must be able to represent expected test results. This is used with the WeDo robot (and should be extended to more robots). The representation of the expected test results can be extended in a Mockito-like manner to express the stuffing of sensors to have more realistic robot behavior.

note: the blockly-XML is complex.

contact: reinhard.budde AT iais.fraunhofer.de

Clone this wiki locally