mirror of
https://gitlab.freedesktop.org/libfprint/fprintd.git
synced 2025-12-26 08:50:08 +01:00
tests/fprintd: Allow tests to run even when virtual device is not available
The test file calls self.daemon_start() in order to start fprintd and
locate the virtual image device that's needed for the test to run.
However, since the virtual image driver is not available on all
libfprint installations, the test should be skipped if the driver is not
available.
The skipping mechanism used to work, by checking if self.device is None.
This is based on the assumption that self.device would be set to None in
cases where the driver is not available. However, even in the past
self.device is only set to None in the tearDown method and not in setUp,
so presumably in edge cases it didn't entirely work.
However, since 0fb4f3b021 which
consistently removes the self.device attribute rather than setting it to
None, the "self.device is None" check no longer works. In particular,
the following error message is shown:
test_manager_get_default_device (__main__.FPrintdManagerTests) ...
Did not find virtual device! Probably libfprint was build without
the corresponding driver!
ERROR
After this patch, the following is shown:
test_manager_get_default_device (__main__.FPrintdManagerTests) ...
Did not find virtual device! Probably libfprint was build without
the corresponding driver!
skipped 'Need virtual_image device to run the test'
We fix this bug by consistently setting self.device to None, in both the
setUp method before daemon_start gets called, and in tearDown. We also
make the same change to self.manager for consistency.
The issue was not caught on CI, as the CI configuration always installs
a libfprint version that has the virtual_image device explicitly enabled
in the preparation phase.
This commit is contained in:
parent
e828ea3b2d
commit
4a3ae5ccaf
1 changed files with 4 additions and 3 deletions
|
|
@ -315,6 +315,8 @@ class FPrintdVirtualDeviceBaseTest(FPrintdTest):
|
|||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
self.manager = None
|
||||
self.device = None
|
||||
self.polkitd_start()
|
||||
self.daemon_start()
|
||||
|
||||
|
|
@ -354,9 +356,8 @@ class FPrintdVirtualDeviceBaseTest(FPrintdTest):
|
|||
|
||||
def tearDown(self):
|
||||
self.device.disconnect(self.g_signal_id)
|
||||
|
||||
del self.manager
|
||||
del self.device
|
||||
self.device = None
|
||||
self.manager = None
|
||||
|
||||
super().tearDown()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue