Marco Trevisan (Treviño)
2f7c78eb97
virtual-device: Make possible to use a script to perform enroll operations
2021-01-28 15:49:22 +01:00
Marco Trevisan (Treviño)
74f8a8ee27
virtual-device: Handle cancelled state gracefully in should_wait_to_sleep
2021-01-28 15:49:22 +01:00
Marco Trevisan (Treviño)
acd0a10e76
virtual-device: Add test that open fails with a busy error if is still ongoing
...
The idea of the test was just checking what happens when we're opening a
device multiple times while a first request is still going.
However, it actually ends up also checking the previous commit change
because without it we'd stop the close iteration before the device is
actually closed and stop the open iteration before the device is
actually opened, leading to an infinite loop.
2021-01-28 15:49:22 +01:00
Marco Trevisan (Treviño)
27c2466bda
fpi-device: Mark the device as open and notify it on idle callback
...
We're delaying any completed operation until we've completed an idle,
but the open/close state is changed and notified as soon as the device
completes the operation.
While this can be true, it means that we notify earlier than the finish
callback is actually called, while iterations are still needed to get
the actual state completed, and the current_task reset.
So if we'd open/close and iterate till fp_device_is_open() returns TRUE
we'd end up in a state in which the device is marked as ready, but it's
actually still busy since it's priv->current_task isn't unset yet.
The same if we'd try to do any action on notify::opened.
2021-01-28 15:49:22 +01:00
Marco Trevisan (Treviño)
33ba248c44
virtual-device: Add test checking for early errors during dev API calls
2021-01-28 15:49:22 +01:00
Marco Trevisan (Treviño)
43cf28b9da
fp-device: Do not try to deference potentially NULL task data
...
In case we do an early error return in verify and identify calls we
do not initialize the task data, but still in the finish functions we
still try to use it.
Avoid doing this, but just nullify the returned values.
2021-01-28 15:39:48 +01:00
Marco Trevisan (Treviño)
4da52f78f6
virtual-device: Check properties match the getters
2021-01-28 15:39:48 +01:00
Marco Trevisan (Treviño)
e4e0937848
tests/virtual-*: Check for enrolled prints properties
2021-01-28 15:39:48 +01:00
Marco Trevisan (Treviño)
25a6c916aa
fp-device: Fix property getters for enroll stages and driver ID
...
We were returning an invalid type for the enroll stages, while trying to
get the class from the private instance for the device driver
2021-01-28 15:39:48 +01:00
Marco Trevisan (Treviño)
51009b48a0
virtual-device: Process supported commands on device open
...
When opening the device we can process commands that we left for that
after the previous close, to do that we only have to inject an invalid
command that will be processed (and ignored) while closing, so that at
next device opening we will be able to proceed with the previously
sent commands.
Add tests to finally check this case!
2021-01-28 15:39:48 +01:00
Marco Trevisan (Treviño)
e1e3f6955e
virtual-device: Remove messages we can't process from queue when not scanning
...
Commands that are not valid for non-scan operations should be removed
from queue, or these may be re-proposed forever.
2021-01-28 15:38:57 +01:00
Marco Trevisan (Treviño)
c495b82000
virtual-device: Use python's with idiom to check GLib expected error messages
...
And we can properly provide a real traceback as well
2021-01-28 15:38:56 +01:00
Marco Trevisan (Treviño)
d90ee96df8
virtual-device: Return an duplicated data error if trying to re-enroll a print
2021-01-28 15:38:56 +01:00
Marco Trevisan (Treviño)
36304b736b
tests/virtual-device: Properly handle exceptions on enroll callback
...
We need to get them back to the caller function to be caught by the test
suite.
2021-01-28 15:38:29 +01:00
Marco Trevisan (Treviño)
31e34bd4bd
virtual-device: Emit data not found during verify/identify
...
If trying to identify a print not in the storage we emit data not found
error, this can be helpful to do further fprintd testing too
2021-01-28 15:38:29 +01:00
Marco Trevisan (Treviño)
ec4c7ca5a9
virtual-device-storage: Don't listed prints
2021-01-28 02:32:28 +01:00
Benjamin Berg
8d21a9c27c
ssm: Catch more errors in FpiSsm without crashing
2021-01-27 17:03:59 +00:00
Marco Trevisan (Treviño)
c4069065f9
virtual-device: Ensure we've an error before dereferencing it
2021-01-26 16:54:14 +01:00
Marco Trevisan (Treviño)
31541edc58
tests/virtual-device: Use a sleep multiplier when under valgrind
2021-01-26 16:54:14 +01:00
Marco Trevisan (Treviño)
549718753f
fpi-device: Fix argument name on report_finger_status() annotation
2021-01-26 16:54:14 +01:00
Marco Trevisan (Treviño)
cfde050220
virtual-device: Add ability to close a device with delay or with error
2021-01-26 16:54:14 +01:00
Marco Trevisan (Treviño)
88a38c38af
virtual-device: Add support for sleeping and sending errors on list and delete
2021-01-26 16:54:14 +01:00
Marco Trevisan (Treviño)
7ffcc2f9e7
virtual-device: Make possible to inject sleep events while verifying/identifying
...
Each command should be separated by SLEEP to be considered as something
we want to perform during the current operation, otherwise will be used
by next operation consuming it.
2021-01-26 16:53:24 +01:00
Marco Trevisan (Treviño)
1dae6796f7
virtual-device: Report finger presency when we receive a 'SCAN' event
2021-01-26 04:49:50 +01:00
Marco Trevisan (Treviño)
0bb0492025
virtual-device: Mark finger as needed only after we start scanning
...
In case we sent a sleep event to the device we may want to wait it to
emit the finger needed state before the timeout is completed.
So add a function to manage this for all the scan cases
2021-01-26 04:49:50 +01:00
Marco Trevisan (Treviño)
3db0858fb0
tests/virtual-device: Add a class function to wait for a timeout
2021-01-26 04:49:50 +01:00
Marco Trevisan (Treviño)
2382506491
virtual-device: Add checks for verify reports
2021-01-26 04:49:50 +01:00
Benjamin Berg
08f4be707c
uru4000: Call irq stop handler immediately if the transfer is cancelled
...
The irq handler may already be stopped if stop_irq_handler is called. In
that case, we should immediately call the handler rather than just never
calling it.
This fixes deactivation when the device is unexpectedly unplugged.
Closes : #355
2021-01-25 16:56:12 +00:00
Marco Trevisan (Treviño)
3693c39bc5
virtual-device: Make cancellation support toggable
...
We may want to have the device to sleep while releasing an operation,
this will allow to do it.
2021-01-25 17:40:49 +01:00
Marco Trevisan (Treviño)
993109a7f8
virtual-device: Implement cancel vfunc, to stop timeouts
2021-01-25 17:40:49 +01:00
Marco Trevisan (Treviño)
18db20d160
virtual-device: Add support for sleep command
...
It can be used to delay operations, simulating a busy device.
2021-01-25 17:40:48 +01:00
Marco Trevisan (Treviño)
89b4c4ee75
virtual-device: Test unplug operation while we're verifying
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
153b24a95a
virtual-device: Use identify function for verify tests when possible
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
8c45c0952e
virtual-device: Split verify check function in two parts to be reusable
...
We can so inject further operations in the middle, such as for the
finger status check
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
c3ece8621d
virtual-device: Implement UNPLUG operation
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
67cb61cc18
tests/virtual-device: Add identification tests
...
Reusing most of the logic of the `check_verify` utility function
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
33ffadf402
tests/virtual-device: Cleanup device storage on teardown
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
162a83e484
tests/virtual-device: Add ability to enroll with a retry step and test it
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
dfb27222eb
tests/virtual-device: Add function that figures out the command from type
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
81e53c422d
virtual-device: Add support for changing the device scan type
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
be0b4ae2bb
tests/virtual-device: Trigger new scans when we got progress callback
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
56bcf1ffdd
virtual-device: Add command to change the number of enroll stages
...
As per this don't use the class value anymore at enroll phase, as it may
differ.
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
665de7813b
fpi-device: Ensure we're receiving a valid number of enroll stages
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
a291d17f26
virtual-device: Properly cleanup the virtual devices data
...
Ensure we call the parent finalize function and cleanup local data
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
e8886dbc6b
virtual-device: Support all the configured enrolling stages
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
3d6fb15b5c
virtual-device: Add API to change current finger status
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
43d0dfdd8f
virtual-device-storage: Set needed finger state on enroll and verify
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
50f522583e
virtual-device: Set needed finger state on enroll and verify
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
f0443ba2f3
virtual-device: Add support for reporting device Retry "errors"
2021-01-25 17:40:15 +01:00
Marco Trevisan (Treviño)
546f35132c
tests/virtual-device: Use FPrint.DeviceError values to send errors
2021-01-25 17:40:15 +01:00