mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-06-11 02:28:05 +00:00
tests: Repeat tests for TOD drivers compiled for each supported version
This commit is contained in:
+7
-6
@@ -248,13 +248,11 @@ if get_option('tod')
|
||||
tod_envs.prepend('LD_LIBRARY_PATH',
|
||||
meson.build_root() / 'libfprint',
|
||||
meson.build_root() / 'libfprint' / 'tod')
|
||||
tod_subversion = meson.project_version().split('+tod')[0]
|
||||
tod_c_args = [
|
||||
'-DTEST_TOD_DRIVER=1',
|
||||
'-DTOD_CURRENT_VERSION=@0@'.format(tod_soversion),
|
||||
'-DTOD_CURRENT_SUBVERSION="@0@.@1@"'.format(
|
||||
meson.project_version().split('.')[0],
|
||||
meson.project_version().split('.')[1],
|
||||
),
|
||||
'-DTOD_CURRENT_SUBVERSION="@0@"'.format(tod_subversion),
|
||||
]
|
||||
|
||||
fake_driver = shared_module('device-fake-tod-driver',
|
||||
@@ -314,8 +312,11 @@ if get_option('tod')
|
||||
|
||||
if host_machine.cpu_family() == 'x86_64'
|
||||
tod_test_versions = [
|
||||
'v1+1.90',
|
||||
'v1+1.94',
|
||||
'v1+1.90.1',
|
||||
'v1+1.90.2',
|
||||
'v1+1.90.3',
|
||||
'v1+1.90.5',
|
||||
'v1+1.94.0',
|
||||
]
|
||||
|
||||
foreach tod_version: tod_test_versions
|
||||
|
||||
+42
-43
@@ -116,19 +116,18 @@ tod_check_version (FpDeviceClass *device_class,
|
||||
return TRUE;
|
||||
|
||||
versions = g_strsplit (sub_version, ".", -1);
|
||||
g_assert_cmpuint (g_strv_length (versions), ==, 2);
|
||||
g_assert_cmpuint (g_strv_length (versions), ==, 3);
|
||||
|
||||
wanted_versions = g_strsplit (tod_subversion, ".", -1);
|
||||
g_assert_cmpuint (g_strv_length (wanted_versions), ==, 2);
|
||||
g_assert_cmpuint (g_strv_length (wanted_versions), ==, 3);
|
||||
|
||||
if (atoi (wanted_versions[0]) > atoi (versions[0]))
|
||||
return FALSE;
|
||||
|
||||
if (atoi (wanted_versions[1]) > atoi (versions[1]))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
if (atoi (versions[0]) >= atoi (wanted_versions[0]) &&
|
||||
atoi (versions[1]) > atoi (wanted_versions[1]))
|
||||
return TRUE;
|
||||
|
||||
return atoi (versions[0]) == atoi (wanted_versions[0]) &&
|
||||
atoi (versions[1]) == atoi (wanted_versions[1]) &&
|
||||
atoi (versions[2]) >= atoi (wanted_versions[2]);
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
@@ -634,9 +633,9 @@ test_driver_features_probe_updates (void)
|
||||
FpDeviceClass *dev_class = FP_DEVICE_GET_CLASS (device);
|
||||
FpiDeviceFake *fake_dev;
|
||||
|
||||
if (!tod_check_device_version (device, 1, "1.92"))
|
||||
if (!tod_check_device_version (device, 1, "1.92.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.92");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.92.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -693,7 +692,7 @@ test_driver_initial_features (void)
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_LIST);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_DELETE);
|
||||
if (tod_check_device_version (device, 1, "1.92"))
|
||||
if (tod_check_device_version (device, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -710,7 +709,7 @@ test_driver_initial_features (void)
|
||||
g_assert_true (fp_device_has_feature (device, FP_DEVICE_FEATURE_STORAGE));
|
||||
g_assert_true (fp_device_has_feature (device, FP_DEVICE_FEATURE_STORAGE_LIST));
|
||||
g_assert_true (fp_device_has_feature (device, FP_DEVICE_FEATURE_STORAGE_DELETE));
|
||||
if (tod_check_device_version (device, 1, "1.92"))
|
||||
if (tod_check_device_version (device, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -723,7 +722,7 @@ test_driver_initial_features (void)
|
||||
FP_DEVICE_FEATURE_STORAGE |
|
||||
FP_DEVICE_FEATURE_STORAGE_LIST |
|
||||
FP_DEVICE_FEATURE_STORAGE_DELETE |
|
||||
(tod_check_device_version (device, 1, "1.92") ?
|
||||
(tod_check_device_version (device, 1, "1.92.0") ?
|
||||
FP_DEVICE_FEATURE_STORAGE_CLEAR : 0));
|
||||
}
|
||||
|
||||
@@ -771,7 +770,7 @@ test_driver_initial_features_no_capture (void)
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_LIST);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_DELETE);
|
||||
if (tod_check_version (dev_class, 1, "1.92"))
|
||||
if (tod_check_version (dev_class, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -795,7 +794,7 @@ test_driver_initial_features_no_verify (void)
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_LIST);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_DELETE);
|
||||
if (tod_check_version (dev_class, 1, "1.92"))
|
||||
if (tod_check_version (dev_class, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -819,7 +818,7 @@ test_driver_initial_features_no_identify (void)
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_LIST);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_DELETE);
|
||||
if (tod_check_version (dev_class, 1, "1.92"))
|
||||
if (tod_check_version (dev_class, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -843,7 +842,7 @@ test_driver_initial_features_no_storage (void)
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_LIST);
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_DELETE);
|
||||
if (tod_check_version (dev_class, 1, "1.92"))
|
||||
if (tod_check_version (dev_class, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -864,13 +863,13 @@ test_driver_initial_features_no_list (void)
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_IDENTIFY);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_VERIFY);
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_DUPLICATES_CHECK);
|
||||
if (tod_check_version (dev_class, 1, "1.92"))
|
||||
if (tod_check_version (dev_class, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_LIST);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_DELETE);
|
||||
if (tod_check_version (dev_class, 1, "1.92"))
|
||||
if (tod_check_version (dev_class, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -894,7 +893,7 @@ test_driver_initial_features_no_delete (void)
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE);
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_LIST);
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_DELETE);
|
||||
if (tod_check_version (dev_class, 1, "1.92"))
|
||||
if (tod_check_version (dev_class, 1, "1.92.0"))
|
||||
g_assert_true (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
else
|
||||
g_assert_false (dev_class->features & FP_DEVICE_FEATURE_STORAGE_CLEAR);
|
||||
@@ -2134,9 +2133,9 @@ test_driver_identify_suspend_continues (void)
|
||||
FpiDeviceFake *fake_dev;
|
||||
FpPrint *expected_matched;
|
||||
|
||||
if (!tod_check_version (dev_class, 1, "1.94"))
|
||||
if (!tod_check_version (dev_class, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2206,9 +2205,9 @@ test_driver_identify_suspend_succeeds (void)
|
||||
FpiDeviceFake *fake_dev;
|
||||
FpPrint *expected_matched;
|
||||
|
||||
if (!tod_check_version (dev_class, 1, "1.94"))
|
||||
if (!tod_check_version (dev_class, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2274,9 +2273,9 @@ test_driver_identify_suspend_busy_error (void)
|
||||
FpiDeviceFake *fake_dev;
|
||||
FpPrint *expected_matched;
|
||||
|
||||
if (!tod_check_version (dev_class, 1, "1.94"))
|
||||
if (!tod_check_version (dev_class, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2337,9 +2336,9 @@ test_driver_identify_suspend_while_idle (void)
|
||||
g_autoptr(GError) error = NULL;
|
||||
FpiDeviceFake *fake_dev;
|
||||
|
||||
if (!tod_check_version (dev_class, 1, "1.94"))
|
||||
if (!tod_check_version (dev_class, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2387,9 +2386,9 @@ test_driver_identify_warmup_cooldown (void)
|
||||
FpiDeviceFake *fake_dev;
|
||||
gint64 start_time;
|
||||
|
||||
if (!tod_check_version (dev_class, 1, "1.94"))
|
||||
if (!tod_check_version (dev_class, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2691,9 +2690,9 @@ test_driver_clear_storage (void)
|
||||
FpiDeviceFake *fake_dev = FPI_DEVICE_FAKE (device);
|
||||
gboolean ret;
|
||||
|
||||
if (!tod_check_device_version (device, 1, "1.92"))
|
||||
if (!tod_check_device_version (device, 1, "1.92.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.92");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.92.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2712,9 +2711,9 @@ test_driver_clear_storage_error (void)
|
||||
FpiDeviceFake *fake_dev = FPI_DEVICE_FAKE (device);
|
||||
gboolean ret;
|
||||
|
||||
if (!tod_check_device_version (device, 1, "1.92"))
|
||||
if (!tod_check_device_version (device, 1, "1.92.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.92");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.92.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2824,9 +2823,9 @@ test_driver_critical (void)
|
||||
void (*orig_verify) (FpDevice *device) = dev_class->verify;
|
||||
FpiDeviceFake *fake_dev = FPI_DEVICE_FAKE (device);
|
||||
|
||||
if (!tod_check_device_version (device, 1, "1.94"))
|
||||
if (!tod_check_device_version (device, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3038,9 +3037,9 @@ test_driver_action_is_cancelled_open (void)
|
||||
g_autoptr(GError) error = NULL;
|
||||
FpiDeviceFake *fake_dev;
|
||||
|
||||
if (!tod_check_version (dev_class, 1, "1.94"))
|
||||
if (!tod_check_version (dev_class, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3064,9 +3063,9 @@ test_driver_action_internally_cancelled_open (void)
|
||||
g_autoptr(GError) error = NULL;
|
||||
FpiDeviceFake *fake_dev;
|
||||
|
||||
if (!tod_check_version (dev_class, 1, "1.94"))
|
||||
if (!tod_check_version (dev_class, 1, "1.94.0"))
|
||||
{
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94");
|
||||
g_test_skip ("Feature not supported by TODv1 versions before 1.94.0");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3219,7 +3218,7 @@ test_driver_action_error_all (void)
|
||||
g_assert_error (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_DATA_INVALID);
|
||||
g_clear_error (&error);
|
||||
|
||||
if (tod_check_device_version (device, 1, "1.92"))
|
||||
if (tod_check_device_version (device, 1, "1.92.0"))
|
||||
{
|
||||
fake_dev->ret_error = fpi_device_error_new (FP_DEVICE_ERROR_DATA_INVALID);
|
||||
g_assert_false (fp_device_clear_storage_sync (device, NULL, &error));
|
||||
@@ -3333,7 +3332,7 @@ test_driver_action_error_fallback_all (void)
|
||||
g_assert_error (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_GENERAL);
|
||||
g_clear_error (&error);
|
||||
|
||||
if (tod_check_device_version (device, 1, "1.92"))
|
||||
if (tod_check_device_version (device, 1, "1.92.0"))
|
||||
{
|
||||
g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
|
||||
"*Device failed to pass an error to generic action "
|
||||
|
||||
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Executable
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user