Test Gear

A lightweight hardware test automation framework

View on GitHub

What is Test Gear?

Test Gear is a modern lightweight hardware test automation framework which can be used for production line testing and prototype testing.

For now, Test Gear is to be considered work in progress, experimental, and a playground for testing design ideas to obtain best possible test creation and execution flow.


Test Gear includes the following four components:

• testgeard -     Server
• libtestgear - Client library
• testgearctl - Control application
• testgear-plugins - Test and interface plugins

The control application runs test scripts written in Lua and uses the client library to communicate with servers featuring various test and interface plugins. The end result is a test log listing passed and failed tests.

Test Gear overview
Test Gear system overview.

Available plugins:

• fb -     Framebuffer test
• audio - Audio I/O test (ALSA)
• shell - Shell interface
• dummy - Dummy test
• cpu - CPU stress test
• keyboard - Keyboard input test
• usb - USB I/O test (loopback)

Planned plugins (TODO):

• kmsdrm -     KMS/DRM performance test
• touch - Touch input test
• mouse - Mouse input test
• storage - Storage I/O performance test
• memory - Memory I/O performance test
• camera - Camera test
• wifi - Wifi 802.11 test
• network - Network test
• bluetooth - Bluetooth test
• gpio - GPIO interface
• i2c - I2C interface
• lxi - LXI class C interface
• gpib - GPIB interface

The plugins listed above are generic plugins for testing or interfacing various hardware (devices, instruments, peripherals, etc.) using popular GNU/Linux APIs. They are made to work on most modern GNU/Linux systems.

Custom plugins for testing or interfacing custom hardware using custom APIs can easily be added by writing plugins following the Test Gear plugin model. You decide which license you want to apply to your plugins and whether you will make them publicly available or not. However, it is strongly encouraged to make your plugins open source when possible so that everyone can benefit from common work and, most importantly, avoid or minimize duplicate work.

Platform Support

The Test Gear server (testgeard) currently supports GNU/Linux systems only. However, in the future it is planned to support microcontoller systems and even embedding into bootloaders such a u-boot (which is useful for complete memory testing in particular).

The Test Gear control client and control application is currently a very simple command line application for GNU/Linux systems only. In the future, the plan is to add a user friendly graphical control client with multi-platform support.


Test Gear is still in development - there are no official release tarballs available yet.

The latest development source code is available on github


All four Test Gear components are open source and released under the BSD-3 license, commonly known as the 3-clause (or "modified") BSD license.

Note: testgearctl is bundled with lua and luaprompt released under the MIT license.

Support or Contact

Submit bug reports and feature requests on github.

Github Commit History

Committer Repository Message Date