-
Notifications
You must be signed in to change notification settings - Fork 122
Integration tests
Integration tests in OpenRoberta use exported blockly-XML (the blocks of the program) and generate native programs from that. Then either
- a crosscompiler compiles the generated program (ev3-lejos*, nxt, calliope*, arduino*)
- linting of the generated program should be done (ev3dev, nao, microbit, simulation). This part is missing. Are you interested in doing this?
We hope, that this detects many errors in our code generators (but also errors in the crosscompilers. For example, NXC has some, documented in the issue tracker). To detect as much errors as possible, the blockly-XML should cover as many blocks and as many variants of the blocks as possible.
The blockly-XML of all tests is stored in project OpenRobertaServer
in directory src/test/resources/crossCompilerTests
. The tests run every night in a docker container for branch develop
. We support two types of integration tests: robot specific tests and common tests.
In order to run the tests you need to specify the path to the ora-cc-rsc
repository in the environment variable robot_crosscompiler_resourcebase
.
- These tests are related to the sensors and actuators of this robot.
- All tests are in robot specific directories (
ev3
orardu
for example). - Tests can be extended or new tests can be added at any time.
- The tests are run from Java class
CompilerWorkflowIT
.
- These tests are related to features, that are common to all robots. This includes flow of control (if, while), variables of all types, built-in functions (like
max
orsin
), user-defined functions. - The tests are run from Java class
CompilerWorkflowCommonIT
. - Actually lists are a problem, as
nxt
andbob3
don't support them, so lists are not common to all robots. The test class has to be extended to handle that particular case, too.
Home | Community | Installation | Team
Installation Tutorials
- Instructions to run a openroberta lab server using DOCKER
- Instructions to run the Open Roberta Lab Server natively on ubuntu ‐ not recommended
- Raspberry Pi 2/3/4 and the Open Roberta Lab
- EV3 and leJOS
- EV3 and ev3dev
- Creating the OR leJOS image
- Arduino Create Agent
- Mbed DAL: Generation and automation
Development
-
Workflows
-
Architecture
-
Blockly
-
Software engineering issues
-
Misc
-
Notes on robots
Textual Representation
Contribution
Discussions on future development