This document is intended to help partners (sensor vendors, MCU vendors, etc) run the ChromeOS fingerprint team's firmware tests, as part of the AVL process. The document assumes that you‘re using Linux to do the development; preferably a recent version of Ubuntu or Debian. It may be possible to use a virtual machine, but that is not a configuration we test.
You will need a Chromebook with the fingerprint sensor and fingerprint MCU (FPMCU), and a servo debugger.
The Chromebook needs to be in developer mode and running a test image so that the test can ssh into it. The fingerprint firmware tests will run a series of bash commands, including flashing the FPMCU firmware and rebooting the Chromebook. You do not need CCD because servo will handle the firmware write protection for you.
Servo is a general purpose debug board used in many automated tests in Chromium OS. Among other things, servo enables the tests to toggle hardware write protect.
While there are multiple versions of servo, for firmware tests we strongly recommend Servo V4 as that's the simplest and most often used in autotests. This document will assume you are using Servo V4.
# from a terminal on your machine (outside chroot) $ cd ~/chromiumos/src # enter the chroot (outside chroot) $ cros_sdk
Follow servod outside chroot instructions.
(outside) $ start-servod --channel=release --board=$BOARD -p 9999
At this point the servod daemon should be running and listening to port 9999. If it isn't, check the hardware connection.
Use another terminal and enter the chroot like before:
(outside chroot) $ cd ~/chromiumos/src (outside chroot) $ cros_sdk
To run a single test, use this command in your chroot:
test_that --board=<BOARD> <IP> <test name>
For example:
tast run <IP> firmware.FpReadFlash
To run the entire suite, use this command in your chroot:
tast run <IP> '("group:fingerprint-cq")'