I’ve noticed that after doing a couple of fresh installs of the 9.1.0 SDK there’s an opmode called “Testbed Runner”. I’m curious what this is and how it might work…?
Pm
I’ve noticed that after doing a couple of fresh installs of the 9.1.0 SDK there’s an opmode called “Testbed Runner”. I’m curious what this is and how it might work…?
Pm
The “Testbed Runner” is a tool we use for our internal testbed to run unit tests on the SDK. Normally that OpMode is not allowed to propagate to the published default APKs, but it accidentally made its way into the patch release for 9.1.0. We apologize for that, and we’ll make sure we have necessary checks to ensure it doesn’t show up in the published APKs in the future.
-Danny
I’ve been wishing for a ControlHub / ExpansionHub “testbed” that teams could use to verify that things (motor, servo, sensor ports) are operating correctly on a CH or EH. Was hoping this might be something like that…
Thanks for the quick answer!
Pm
Yeah, an all-in-one validation test might be nice. I usually use the REV Hub Interface software tool if I am questioning a piece of hardware (Control / Expansion hub) in order to ensure specific elements work (Move motors, move servos, read sensors, etc) without writing any code. Especially when my programmers tell me “it doesn’t work!” and I want a quick way to verify that a servo doesn’t work vs they just didn’t program it correctly.
-Danny
TestbedRunner itself is just a linear opmode that runs a bunch of component tests, each returning a success/failure result. It is designed to be extensible so you can add component tests, that themselves look like opmodes.
The real magic, that’s not packaged in the public SDK is an android unit test that uses Espresso to automatically invoke the opmode on a device, combined with GitHub actions that build and deploy the RC and DS apks and kick off Espresso.