For years, designers of automated testing systems have used ad-hoc designs for the interfaces between a test, the test framework and board farm software, and the device under test. This has resulted in a situation where hardware tests cannot be reused from one lab to another.
This project exists to create standard APIs between automated tests and board farm management software. The idea is to allow a test to query the farm about available bus connections, attached hardware and measurement devices, and other test installation infrastructure. The test can then allocate and use that hardware, in a lab-independent fashion. The proposal calls for a dual REST/command-line API, with support for discovery, control and operation of hardware and network resources. It is hoped that establishing a standard in this area will allow for the creation of an ecosystem of shareable hardware tests and board farm software.
There are a few different ways to get involved with the "board farm REST API" project. If you are reading this, then you have found our main repository. We are setting up a mailing list, and will put the information about that list here when it is ready. In the mean time we intend to discuss the standard on the automated testing mailing list. You can find information about this list here: https://elinux.org/Automated_Testing#Mailing_list
Alternatively, you can contact two of the leaders of this project by emailing them directly at the following (spam-resistant) e-mail addresses:
Project coordination is currently being tracked on a page on the elinux wiki: https://elinux.org/Board_Farm_REST_API
We have produced a working demonstration of the concept. What we really need now are people who can:
If you develop tests or a test framework, or run a board farm, and are interested in this project, please contact us.