From fb9e054637c4fd136b959349454ce581e39f083f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Thu, 14 Jul 2022 21:35:30 +0200 Subject: [PATCH] test-fp-device: Add few tests to check identification init errors --- tests/test-fp-device.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/test-fp-device.c b/tests/test-fp-device.c index a633eb91..dbaec9b2 100644 --- a/tests/test-fp-device.c +++ b/tests/test-fp-device.c @@ -232,6 +232,36 @@ test_device_has_storage (void) G_GNUC_END_IGNORE_DEPRECATIONS } +static void +test_device_identify_cancelled (void) +{ + g_autoptr(GCancellable) cancellable = NULL; + g_autoptr(GPtrArray) prints = NULL; + g_autoptr(GError) error = NULL; + g_autoptr(FptContext) tctx = fpt_context_new_with_virtual_device (FPT_VIRTUAL_DEVICE_IMAGE); + + fp_device_open_sync (tctx->device, NULL, NULL); + + prints = g_ptr_array_new (); + cancellable = g_cancellable_new (); + g_cancellable_cancel (cancellable); + g_assert_false (fp_device_identify_sync (tctx->device, prints, cancellable, + NULL, NULL, NULL, NULL, &error)); + g_assert_error (error, G_IO_ERROR, G_IO_ERROR_CANCELLED); +} + +static void +test_device_identify_null_prints (void) +{ + g_autoptr(GError) error = NULL; + g_autoptr(FptContext) tctx = fpt_context_new_with_virtual_device (FPT_VIRTUAL_DEVICE_IMAGE); + + fp_device_open_sync (tctx->device, NULL, NULL); + g_assert_false (fp_device_identify_sync (tctx->device, NULL, NULL, NULL, + NULL, NULL, NULL, &error)); + g_assert_error (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_DATA_INVALID); +} + int main (int argc, char *argv[]) { @@ -252,6 +282,8 @@ main (int argc, char *argv[]) g_test_add_func ("/device/sync/supports_identify", test_device_supports_identify); g_test_add_func ("/device/sync/supports_capture", test_device_supports_capture); g_test_add_func ("/device/sync/has_storage", test_device_has_storage); + g_test_add_func ("/device/sync/identify/cancelled", test_device_identify_cancelled); + g_test_add_func ("/device/sync/identify/null-prints", test_device_identify_null_prints); return g_test_run (); }