Revert "fpi-print: Add function to check if two prints match"

This reverts commit b4d78e7c0f.
This commit is contained in:
Marco Trevisan (Treviño)
2026-07-13 12:10:21 +02:00
parent 323d8c3f85
commit 6df065c399
3 changed files with 0 additions and 244 deletions
-65
View File
@@ -379,68 +379,3 @@ fpi_print_fill_from_user_id (FpPrint *print, const char *user_id)
return FALSE;
}
/**
* fpi_print_match:
* @self: First #FpPrint
* @other: Second #FpPrint
*
* Tests whether the prints are matching.
* This is like fp_print_equal() for %FPI_PRINT_RAW prints,
* while for %FPI_PRINT_NBIS prints ensures that at least one
* sub-print minutiae matches.
*
* Returns: %TRUE if the prints are matching
*/
gboolean
fpi_print_match (FpPrint *self, FpPrint *other)
{
g_return_val_if_fail (FP_IS_PRINT (self), FALSE);
g_return_val_if_fail (FP_IS_PRINT (other), FALSE);
g_return_val_if_fail (self->type != FPI_PRINT_UNDEFINED, FALSE);
g_return_val_if_fail (other->type != FPI_PRINT_UNDEFINED, FALSE);
if (self == other)
return TRUE;
switch (self->type)
{
case FPI_PRINT_RAW:
return fp_print_equal (self, other);
case FPI_PRINT_NBIS:
{
if (other->type != FPI_PRINT_NBIS)
return FALSE;
if (g_strcmp0 (self->driver, other->driver) != 0)
return FALSE;
if (g_strcmp0 (self->device_id, other->device_id) != 0)
return FALSE;
if (self->prints->len == 0 || other->prints->len == 0)
return self->prints->len == other->prints->len;
for (guint i = 0; i < self->prints->len; i++)
{
struct xyt_struct *a = g_ptr_array_index (self->prints, i);
for (guint j = 0; j < other->prints->len; j++)
{
struct xyt_struct *b = g_ptr_array_index (other->prints, j);
if (memcmp (a, b, sizeof (struct xyt_struct)) == 0)
return TRUE;
}
}
return FALSE;
}
case FPI_PRINT_UNDEFINED:
g_assert_not_reached ();
}
g_return_val_if_reached (FALSE);
}
-3
View File
@@ -38,9 +38,6 @@ void fpi_print_set_type (FpPrint *print,
FpiPrintType fpi_print_get_type (FpPrint *print);
gboolean fpi_print_match (FpPrint *self,
FpPrint *other);
void fpi_print_set_device_stored (FpPrint *print,
gboolean device_stored);
-176
View File
@@ -4062,170 +4062,6 @@ test_fp_print_equal_different_types (void)
g_assert_false (fp_print_equal (print_b, print_a));
}
static void
test_fpi_print_match_same (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
g_autoptr(FpPrint) print_a = NULL;
g_autoptr(FpPrint) print_b = NULL;
print_a = make_fake_print (device, g_variant_new_string ("test"));
print_b = make_fake_print (device, g_variant_new_string ("test"));
g_assert_true (fpi_print_match (print_a, print_b));
g_assert_true (fpi_print_match (print_a, print_a));
g_assert_true (fpi_print_match (print_b, print_b));
}
static void
test_fpi_print_match_different (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
g_autoptr(FpPrint) print_a = NULL;
g_autoptr(FpPrint) print_b = NULL;
print_a = make_fake_print (device, g_variant_new_string ("test"));
print_b = make_fake_print (device, g_variant_new_string ("other"));
g_assert_false (fpi_print_match (print_a, print_b));
}
static void
test_fpi_print_match_nbis_empty (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
g_autoptr(FpPrint) print_a = NULL;
g_autoptr(FpPrint) print_b = NULL;
print_a = make_fake_nbis_print (device);
print_b = make_fake_nbis_print (device);
g_assert_true (fpi_print_match (print_a, print_b));
g_assert_true (fpi_print_match (print_a, print_a));
g_assert_true (fpi_print_match (print_b, print_b));
}
static void
test_fpi_print_match_nbis_one_empty (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
g_autoptr(FpPrint) print_a = NULL;
g_autoptr(FpPrint) print_b = NULL;
gint xvals[] = { 10, 20 };
gint yvals[] = { 30, 40 };
gint tvals[] = { 50, 60 };
print_a = make_fake_nbis_print_filled (device, xvals, yvals, tvals, 2, 1);
print_b = make_fake_nbis_print (device);
g_assert_false (fpi_print_match (print_a, print_b));
g_assert_false (fpi_print_match (print_b, print_a));
}
static void
test_fpi_print_match_nbis_equal (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
g_autoptr(FpPrint) print_a = NULL;
g_autoptr(FpPrint) print_b = NULL;
gint xvals[] = { 10, 20 };
gint yvals[] = { 30, 40 };
gint tvals[] = { 50, 60 };
print_a = make_fake_nbis_print_filled (device, xvals, yvals, tvals, 2, 1);
print_b = make_fake_nbis_print_filled (device, xvals, yvals, tvals, 2, 1);
g_assert_true (fpi_print_match (print_a, print_b));
}
static void
test_fpi_print_match_nbis_different (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
g_autoptr(FpPrint) print_a = NULL;
g_autoptr(FpPrint) print_b = NULL;
gint xvals_a[] = { 10, 20 };
gint yvals_a[] = { 30, 40 };
gint tvals_a[] = { 50, 60 };
gint xvals_b[] = { 99, 88 };
gint yvals_b[] = { 77, 66 };
gint tvals_b[] = { 55, 44 };
print_a = make_fake_nbis_print_filled (device, xvals_a, yvals_a, tvals_a, 2, 1);
print_b = make_fake_nbis_print_filled (device, xvals_b, yvals_b, tvals_b, 2, 1);
g_assert_false (fpi_print_match (print_a, print_b));
}
static void
test_fpi_print_match_nbis_template_scanned (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
gint xvals[] = { 10, 20 };
gint yvals[] = { 30, 40 };
gint tvals[] = { 50, 60 };
g_autoptr(FpPrint) template = NULL;
g_autoptr(FpPrint) scanned = NULL;
template = make_fake_nbis_print_filled (device, xvals, yvals, tvals, 2, 5);
scanned = make_fake_nbis_print_filled (device, xvals, yvals, tvals, 2, 1);
g_assert_true (fpi_print_match (template, scanned));
g_assert_true (fpi_print_match (scanned, template));
}
static void
test_fpi_print_match_nbis_template_scanned_no_match (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
gint xvals_t[] = { 10, 20 };
gint yvals_t[] = { 30, 40 };
gint tvals_t[] = { 50, 60 };
gint xvals_s[] = { 99, 88 };
gint yvals_s[] = { 77, 66 };
gint tvals_s[] = { 55, 44 };
g_autoptr(FpPrint) template = NULL;
g_autoptr(FpPrint) scanned = NULL;
template = make_fake_nbis_print_filled (device, xvals_t, yvals_t, tvals_t, 2, 5);
scanned = make_fake_nbis_print_filled (device, xvals_s, yvals_s, tvals_s, 2, 1);
g_assert_false (fpi_print_match (template, scanned));
g_assert_false (fpi_print_match (scanned, template));
}
static void
test_fpi_print_match_nbis_match_any_position (void)
{
g_autoptr(FpDevice) device = g_object_new (FPI_TYPE_DEVICE_FAKE, NULL);
g_autoptr(FpPrint) print_a = NULL;
g_autoptr(FpPrint) print_b = NULL;
gint xvals_a[] = { 10, 20 };
gint yvals_a[] = { 30, 40 };
gint tvals_a[] = { 50, 60 };
gint xvals_b[] = { 99, 88 };
gint yvals_b[] = { 77, 66 };
gint tvals_b[] = { 55, 44 };
gint xvals_match[] = { 10, 20 };
gint yvals_match[] = { 30, 40 };
gint tvals_match[] = { 50, 60 };
struct xyt_struct *xyt_match = g_new0 (struct xyt_struct, 1);
print_a = make_fake_nbis_print_filled (device, xvals_a, yvals_a, tvals_a, 2, 1);
print_b = make_fake_nbis_print_filled (device, xvals_b, yvals_b, tvals_b, 2, 1);
xyt_match->nrows = 2;
xyt_match->xcol[0] = xvals_match[0];
xyt_match->ycol[0] = yvals_match[0];
xyt_match->thetacol[0] = tvals_match[0];
xyt_match->xcol[1] = xvals_match[1];
xyt_match->ycol[1] = yvals_match[1];
xyt_match->thetacol[1] = tvals_match[1];
g_ptr_array_add (print_b->prints, xyt_match);
g_assert_true (fpi_print_match (print_a, print_b));
}
int
main (int argc, char *argv[])
{
@@ -4367,17 +4203,5 @@ main (int argc, char *argv[])
g_test_add_func ("/print/equal/different_types",
test_fp_print_equal_different_types);
g_test_add_func ("/print/match/same", test_fpi_print_match_same);
g_test_add_func ("/print/match/different", test_fpi_print_match_different);
g_test_add_func ("/print/match/nbis_empty", test_fpi_print_match_nbis_empty);
g_test_add_func ("/print/match/nbis_one_empty", test_fpi_print_match_nbis_one_empty);
g_test_add_func ("/print/match/nbis_equal", test_fpi_print_match_nbis_equal);
g_test_add_func ("/print/match/nbis_different", test_fpi_print_match_nbis_different);
g_test_add_func ("/print/match/nbis_template_scanned", test_fpi_print_match_nbis_template_scanned);
g_test_add_func ("/print/match/nbis_template_scanned_no_match",
test_fpi_print_match_nbis_template_scanned_no_match);
g_test_add_func ("/print/match/nbis_match_any_position",
test_fpi_print_match_nbis_match_any_position);
return g_test_run ();
}