labgrid: Test Automation Framework Released

Robert Schwebel | | labgrid

At Pengutronix, one of the most important tasks in our industrial linux projects is testing of embedded systems. While testing is easy on the component level (there are many unit test frameworks around), it is increasingly difficult on system level. Tests do not only run code and compare results, they need to bring the device-under-test into different states (i.e. "bootloader", "linux console", "power off"). If you have many embedded Linux devices, remote-controlling power, serial consoles, network, switches, reset lines, SD cards in scalable, automatic labs is also on the wishlist.

After 6 months of hard work behind the scenes, a team around Jan Lübbe and Rouven Czerwinski at Pengutronix released labgrid today - our framework to abstract and automate embedded Linux devices-under-test: labgrid makes it possible to use pytest for the actual tests, while the whole complexity of distributed lab automation is hidden from the test developer. While labgrid is lightweight and runs on the developer PC without much infrastructure, it can also be integrated with Jenkins, LAVA and similar build&test services.

Please check our github page and the documentation!


Weiterführende Links

Lab-Automatisierung mit LXA IOBus

Etwas über dreieinhalb Jahre sind seit unserer letzten Produktankündigung vergangen, seitdem haben wir viele Normen gelesen, Dinge über Webshops und den Alltag der Elektronikfertigung gelernt und still und heimlich an neuen Produkten getüftelt. Heute möchte ich das LXA IOBus-System vorstellen, bestehend aus einem CAN-basierten Kommunikationsprotokoll, einem zugehörigen Gateway-Server und einer neuen Klasse an Linux Automation GmbH Produkten. Zwei dieser neuen Produkte sind der Ethernet-Mux und das 4DO-3DI-3AI Input/Output-Board.


Showcase: Remote Working

Zur Projektarbeit mit unseren Kunden gehört die Arbeit mit Prototypen-Hardware. Da wir grundsätzlich parallel für mehrere Kunden an vielen verschieden Projekten arbeiten, bedeutet das eine Flut von Prototypen auf den Schreibtischen unserer Entwickler. Spätestens wenn im Team an einem Prototypen gearbeitet werden soll oder längere Zeit nicht aktiv an einem Projekt gearbeitet wird, muss die Hardware regelmäßig umgezogen und am neuen Arbeitsplatz verkabelt werden. Erschwerend kommt hinzu, dass die Entfernung zwischen unseren Entwickler-Schreibtischen durch die aktuelle Homeoffice-Situation, nicht wie gewohnt in Metern, sondern in Kilometern gemessen wird.


Showcase: Continuous Testing

In den Linux-Kernel wandern jedes Jahr etwa 70.000 Patche, viele davon sind Bugfixes. Das Gleiche gilt für die meisten anderen Open-Source-Projekte, die Teil eines modernen Linux-Systems sind. Um von der Arbeit in der Community profitieren zu können, bleibt als sinnvolle Strategie, ständig auf dem neusten Softwarestand aufzusetzen und das System aktuell zu halten. Natürlich können bei dieser Menge an Änderungen auch neue Fehler hinzukommen oder Inkompatibilitäten entstehen.