tests: Run custom.py from test creation helper when available

This allows creating tests both for image and non-image devices using
the same script.
This commit is contained in:
Benjamin Berg
2021-09-21 19:06:15 +02:00
parent f579a77bfd
commit 20e8355c01
2 changed files with 22 additions and 11 deletions

View File

@@ -3,20 +3,23 @@
`umockdev` tests use fingerprint devices mocked by [`umockdev`
toolchain][umockdev].
This document describes how to create a 'capture' test: a test that
captures a picture of a fingerprint from the device (mocked by
`umockdev`) and compares it with the standard one.
This document describes how to create test cases (for USB devices). Many of
these tests are tests for image devices, where a single image is captured
and stored.
Other kinds of `umockdev` tests can be created in a similar manner. For
match-on-chip devices you would instead create a test specific `custom.py`
script, capture it and store the capture to `custom.pcapng`.
'Capture' Test Creation
-----------------------
A new 'capture' test is created by means of `capture.py` script:
'capture' and 'custom' Test Creation
------------------------------------
For image devices the `capture.py` script will be used to capture one reference
image. If the driver is a non-image driver, then a `custom.py` script should be
created in advance, which will be run instead.
1. Make sure that libfprint is built with support for the device driver
that you want to capture a test case for.
that you want to create a test case for.
2. From the build directory, run tests/create-driver-test.py as root. Note
that if you're capturing data for a driver which already has a test case
@@ -33,8 +36,9 @@ $ sudo tests/create-driver-test.py driver [variant]
5. Check whether `meson test` passes with this new test.
**Note.** To avoid submitting a real fingerprint, the side of finger,
arm, or anything else producing an image with the device can be used.
**Note.** To avoid submitting a real fingerprint when creating a 'capture' test,
the side of finger, arm, or anything else producing an image with the device
can be used.
Possible Issues