-
Timothy Gu authored
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 0fb4f3b0 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.