Commit Graph
100 Commits
Author SHA1 Message Date
Marco Trevisan (Treviño) 95c2ac7085 Upload to mantic 2023-08-17 21:53:59 +02:00
Marco Trevisan (Treviño) a362755b04 Update changelog 2023-08-17 21:53:03 +02:00
Marco Trevisan (Treviño) 7338440264 debian/patches: Use assets from correct paths 2023-08-17 21:47:02 +02:00
Marco Trevisan (Treviño) 7ba960911a debian/patches: Install current tod driver for installed tests 2023-08-17 21:06:32 +02:00
Marco Trevisan (Treviño) 2ddb480d42 debian/tests: Run installed tests as regression tests 2023-08-17 20:33:49 +02:00
Marco Trevisan (Treviño) 1b62b88dba debian/patches: Drop, applied upstream 2023-08-17 20:33:49 +02:00
Marco Trevisan (Treviño) 390dc89a5b debian: Add libfprint-2-tests package 2023-08-17 20:33:49 +02:00
Marco Trevisan (Treviño) e325b5b552 debian/libfprint-2-2.postinst: Devices triggers updated 2023-08-17 20:33:47 +02:00
Marco Trevisan (Treviño) 8941e79fea New upstream release 2023-08-17 20:33:00 +02:00
Marco Trevisan (Treviño) a57951458e Update upstream source from tag 'upstream/1.94.6+tod1'
Update to upstream version '1.94.6+tod1'
with Debian dir 28838af4e4
2023-08-17 19:53:13 +02:00
Marco Trevisan (Treviño) 2751494b8e New upstream version 1.94.6+tod1 2023-08-17 19:53:04 +02:00
Marco Trevisan (Treviño) c848abd272 tests: Add TOD installed tests 2023-08-17 19:45:37 +02:00
Marco Trevisan (Treviño) 3cc1e483fc tod: Adjust syntax as per new uncrustify 2023-08-17 05:31:28 +02:00
Marco Trevisan (Treviño) 8c6973aa26 Merge tag 'v1.94.6' into tod
v1.94.6

Git-EVTag-v0-SHA512: e1afaf08552dd3bc8e20229f4e8e141236a2133ce69cd3c68332e68483fb80a471ac0d7da1eedd6e4b0944b729433ac26e86ec12ef3accc78f86b1331150e185
2023-08-17 05:26:05 +02:00
Marco Trevisan (Treviño) 135a015b6a Release 1.94.6 2023-08-17 05:08:04 +02:00
Marco Trevisan (Treviño) 903ee43b2d ci: Do not force-rebuild if an image with such tag exists 2023-06-28 16:35:16 +02:00
Marco Trevisan (Treviño) 8562f8a964 ci: Use meson commands only to setup, compile and install
Old ones are semi-deprecated, so let's adjust to what upstream suggests
2023-06-28 16:35:16 +02:00
Marco Trevisan (Treviño) 5ff794c105 ci: Run installed tests 2023-06-28 16:35:16 +02:00
Marco Trevisan (Treviño) f68e0972c2 ci: Auto-Retry jobs on infrastructure failures 2023-06-28 16:35:16 +02:00
Marco Trevisan (Treviño) ba3cc04e84 tests: Add support for installed tests
They allow distrubtions to check whether libfprint continues working as
expected, in different contexts.
2023-06-28 16:35:16 +02:00
Marco Trevisan (Treviño) 3d4cf44f9b ci: Add gnome-desktop-testing to the image
It can be used to run the installed tests.
2023-06-28 16:23:45 +02:00
Marco Trevisan (Treviño) 8e702012fd ci: Use debuginfo-install to install debug symbols
dnf doesn't seem to handle the plugin well in rawhide:

  bash-5.2# dnf -y debuginfo-install glib2
    Unknown argument "debuginfo-install" for command "dnf5".
    Add "--help" for more information about the arguments.
2023-06-28 15:58:48 +02:00
Marco Trevisan (Treviño) f49879b522 tests/virtual-image: Support passing specific FP_PRINTS_PATH env variable 2023-06-24 00:28:04 +02:00
Marco Trevisan (Treviño) 5e0bf2446b meson: Bump requirements to 0.56 and adapt deprecated functions 2023-06-24 00:28:04 +02:00
Marco Trevisan (Treviño) 4d96a3efaa tests/virtual-device: Check that removed devices are not in context anymore 2023-06-23 18:20:04 +02:00
Marco Trevisan (Treviño) c27d72e3a1 tests/virtual-device: Do not preserve context on unplug tests
The unplug tests assume that the device is removed from the context once
they run, however we may have left the device around in a removed state
causing other tests to fail.

So isolate them in a new class where we create context and device
instances every time we run a test case.
2023-06-22 06:59:00 +02:00
Marco Trevisan (Treviño) 0819df6988 virtual-device: Reset transient parameters on deinit
Tests may change some options so we need to reset these values, even
though some may need not to be reserved when not in keep-alive mode.
2023-06-22 06:55:44 +02:00
Marco Trevisan (Treviño) 28579239a6 tests/virtual-device: Reset keep alive status when test is done
We don't want this to be preserved across tests, since it's meant to be
used inside a single test case.
2023-06-22 06:55:44 +02:00
Marco Trevisan (Treviño) e48d2b467a tests/virtual-device: Restore default enroll steps on tearDown
When running the tests as a single script we may leave the device in an
inconsistent state, so reset the enroll steps when done.
2023-06-22 06:55:44 +02:00
Marco Trevisan (Treviño) 1c589336a2 meson: Remove duplicate gnome imports 2023-06-22 06:55:44 +02:00
Marco Trevisan (Treviño) 9fd2ccff29 virtual-device-listener: Always return task even if we got zero bytes
See: https://gitlab.gnome.org/GNOME/glib/-/issues/1346
2023-03-15 15:26:37 +00:00
Marco Trevisan (Treviño) b6223a9d0a test-fpi-device: Only push pragma -wdanging-pointer in newer GCC versions
It may not be supported and warn otherwise
2023-03-15 15:23:17 +00:00
Marco Trevisan (Treviño) 5e98f10011 ci: Do not require coverage to always happen
meson coverage could be broken in some cases, so let's ignore the error
for now if it happens.
2023-03-15 16:18:17 +01:00
Marco Trevisan (Treviño) e7ca05e1bf ci: Use proper name for valgrind junit file 2023-03-15 16:18:17 +01:00
Marco Trevisan (Treviño) 677c50fc51 fprint-list-supported-devices: Do not double-free usb_list
We were leaking the spi_list instead.
2023-03-15 14:50:41 +01:00
Marco Trevisan (Treviño) b0380415c0 debian/source: Remove include-binaries file, we've none now 2022-10-14 00:18:33 +02:00
Marco Trevisan (Treviño) 6395dda012 fp-image: Remove config.h inclusion in fpi-header
And also avoid defining a function we expose depending on it's presency.
2022-10-13 20:35:52 +00:00
Marco Trevisan (Treviño) 54bb0c12e6 fpi-image: Check for PIXMAN presency using #ifdef
That's a defined variable that may be there or not, and currently we
warn with:
 - fpi-image.c:29:5: warning: "HAVE_PIXMAN" is not defined, evaluates to 0
2022-10-13 20:35:52 +00:00
Marco Trevisan (Treviño) 1f1ed80dbf test-device-fake: Add more logging showing the current device action 2022-10-13 20:31:28 +00:00
Marco Trevisan (Treviño) 36bcb24b3a fp-device: Move FpDevice private functions to public library
This these functions are not really needed by anything else than
FpDevice, so move them back to the cpp file, so that we don't expose
them in the private library, given that we don't need them
2022-10-13 20:31:28 +00:00
Marco Trevisan (Treviño) ddacf07e3b meson: Actually bump the version to 1.94.5 2022-10-13 20:31:28 +00:00
Marco Trevisan (Treviño) 819a16842b Update changelog 2022-10-13 21:07:46 +02:00
Marco Trevisan (Treviño) 3d6814d48d debian/libfprint-2-tod1.symbols: Add new drivers symbols 2022-10-13 20:52:50 +02:00
Marco Trevisan (Treviño) 6e00b172be debian/patches: Drop all (applied upstream) 2022-10-13 20:52:49 +02:00
Marco Trevisan (Treviño) 87a9171d28 debian/libfprint-2-2.postinst: Devices triggers updated 2022-10-13 20:52:48 +02:00
Marco Trevisan (Treviño) 66337f7008 New upstream release 2022-10-13 20:52:27 +02:00
Marco Trevisan (Treviño) e41df1a318 Update upstream source from tag 'upstream/1.94.5+tod1'
Update to upstream version '1.94.5+tod1'
with Debian dir 4e0429ec4f
2022-10-13 20:52:27 +02:00
Marco Trevisan (Treviño) ac36b213ad New upstream version 1.94.5+tod1 2022-10-13 20:52:19 +02:00
Marco Trevisan (Treviño) 3ea2ee8a76 tod: Change namespace of internal functions to tod_*
In this way we don't have the risk of them being exported because
starting with `fpi_*`.
2022-10-13 20:42:31 +02:00
Marco Trevisan (Treviño) 17818cffe6 ci: allow failure on valgrind job
We have tests depending on external libraries that must not be updated
just to fix such issues
2022-10-13 20:21:15 +02:00
Marco Trevisan (Treviño) 18ca916c4d tod: Add fpi_device_suspend and fpi_device_resume to 1.94 version 2022-10-13 20:12:14 +02:00
Marco Trevisan (Treviño) 082b335300 Merge tag 'v1.94.5' into tod
v1.94.5

 * New driver: fpcmoc, supporting various FPC MOC Fingerprint Sensors
 * goodixmoc: New PIDs 0x6014, 0x6094, 0x631C, 0x634C, 0x6384, 0x659A.
 * goodixmoc: Support resetting device on firmware failure due to corrupted DB.
 * elanmoc: New PIDs 0x0c88, 0x0c8c, 0x0c8d.
 * synaptics: New PID 0x0104.
 * upektc: New PID 0x2017.
 * Fixed various memory leaks
 * More tests

Git-EVTag-v0-SHA512: a36e4b627ffc830a78932266119b73e53921965990bd1b6cae6fd8d166b1b8e62f5a538151a74b82a2a2d83a4ab7399ed17cb2bef39441f881a38a24252e4efa
2022-10-13 20:08:10 +02:00
Marco Trevisan (Treviño) 2e79e6f353 tod-goodix-wrapper: Fix syntax as per uncrustify 2022-10-13 20:06:13 +02:00
Marco Trevisan (Treviño) e96669208b test-fp-context-tod: Try to open/close a device from the public library
We need to skip this for devices with no close vfunc (like the SSM one)
2022-10-13 20:06:13 +02:00
Marco Trevisan (Treviño) f2816024e0 test-device-fake: Add more logging showing the current device action 2022-10-13 20:06:13 +02:00
Marco Trevisan (Treviño) 2f3d9240b7 tod-symbols: Define other macros that could be useful in future 2022-10-13 19:46:26 +02:00
Marco Trevisan (Treviño) c36310fed1 tod: Force libfprint-tod to be a shared library and link whole with private
Also unset the private library if set and make libfprint to only link
with the tod one.

This fixes the issue we had with wrong symbols shared by multiple
libraries
2022-10-13 19:45:17 +02:00
Marco Trevisan (Treviño) c04d15bbf1 fp-device: Move FpDevice private functions to public library
This these functions are not really needed by anything else than
FpDevice, so move them back to the cpp file, so that we don't expose
them in the private library, given that we don't need them
2022-10-13 19:42:50 +02:00
Marco Trevisan (Treviño) 8e7e5bf710 tests: Add tests to ensure that we don't duplicate symbols in libraries
We have an issue where some symbols are exposed by both the tod library
and the public one, and this may lead to big issues like GType's being
defined multiple times.

So add a test checking whether this is working

See: 3v1n0/libfprint#1
2022-10-13 19:41:39 +02:00
Marco Trevisan (Treviño) 4824380f79 Revert "fpi-device: Avoid using device action strings"
This reverts commit fbffb62ecb.
2022-10-13 14:09:25 +02:00
Marco Trevisan (Treviño) 994dfaf51f Upload to kinetic 2022-10-13 13:55:39 +02:00
Marco Trevisan (Treviño) 932d320670 Update changelog 2022-10-13 13:54:52 +02:00
Marco Trevisan (Treviño) 62a048ea6f debian/patches: Improve testing for various drivers 2022-10-13 13:50:55 +02:00
Marco Trevisan (Treviño) bacb72183d debian/patches: Add support for more device PIDs supported upstream 2022-10-13 13:50:55 +02:00
Marco Trevisan (Treviño) 3dd06634d5 elanmoc: Add support for more supported PIDs
And include more tests for specific cases.

LP: #1989314
2022-10-13 13:50:55 +02:00
Marco Trevisan (Treviño) 86961a9429 Release 1.94.5 2022-10-13 05:57:04 +02:00
Marco Trevisan (Treviño) 3ca20a8e70 ci: Do not run two image rebuild pipelines on schedules 2022-10-13 05:37:12 +02:00
Marco Trevisan (Treviño) 3100404419 ci: Install more debug symbols 2022-10-13 05:27:44 +02:00
Marco Trevisan (Treviño) 892c9767a2 tests: Be stricter on valgrind leak checks
We used to ignore leaks, and we are ending up in having various of them,
so let's make valgrind to exit with error when using the valgrind test
setup (so in CI) to catch them better.
2022-10-13 05:20:28 +02:00
Marco Trevisan (Treviño) 2718dc02e0 vfs0050: Initialize the usb transfer buffer when allocating it
Ensure that the memory that we're going to populate via USB transfer is
initialized, otherwise valgrind may complain about (even if that's not
really an issue).
2022-10-13 05:04:03 +02:00
Marco Trevisan (Treviño) abd7c66833 fp-device: Do not setup current action before updating temperature
At every action we update the device temperature, and this can
potentially lead to a failure, if the temperature is too hot.

However in such case we were failing a task that we had just stolen,
causing an error, tasks never returning and the device was left in an
undefined state.

So, just return early in case temperature is too hot, as we don't really
need to have the current task or action set at this point because
there's no active action to cancel yet.

This was causing random errors when running tests under valgrind
2022-10-13 05:04:03 +02:00
Marco Trevisan (Treviño) 8716ddb07a fp-print: Fix a typo in documentation 2022-10-13 05:04:03 +02:00
Marco Trevisan (Treviño) fd7d93e619 fpi-device: Do not leak suspend/resume tasks
We kept suspend/resume GTask's around but at the moment of completing
them we didn't unref them, leading to leaks.
2022-10-13 05:04:02 +02:00
Marco Trevisan (Treviño) 0592c0e5ad uru4000: Cleanup cancelled error before early return 2022-10-13 05:04:02 +02:00
Marco Trevisan (Treviño) 684e3c460a uru4000: Shutdown NSS on device close
We were allocating NSS during device opening but never closing it,
causing many leaks.
2022-10-13 05:04:02 +02:00
Marco Trevisan (Treviño) 4278668c8f egis0570: Cleanup the received image that is going to be resized
It's just temporary for us as we're providing the resized one instead.
2022-10-13 05:04:02 +02:00
Marco Trevisan (Treviño) a86ab6c854 test-fpi-device: Cleanup the device ID / driver before overriding it
Otherwise we'd leak the one that was initially set.
2022-10-13 05:04:02 +02:00
Marco Trevisan (Treviño) b04eed0aea test-device-fake: Consume the identify print if we're returning with error 2022-10-13 05:04:02 +02:00
Marco Trevisan (Treviño) 669e091b03 virtual-device: Use an autoptr to handle the new scan print
We may not use this print, so let's use an autoptr to handle its life
cycle to clean it up when not used.
2022-10-13 05:04:02 +02:00
Marco Trevisan (Treviño) 0b6a92150c tests/fpcmoc: Ensure python tests exit with error on every exception
We ignored assertions happening on callbacks as they only raise
exceptions that does not stop the execution.

So ensure that this is happening in all the tests as synaptics was
doing already

Same as commit: be8888431
2022-10-13 04:26:58 +02:00
Marco Trevisan (Treviño) b718f4d567 tests/meson: Avoid searching for programs multiple times 2022-09-28 01:23:58 +02:00
Marco Trevisan (Treviño) be88884315 tests: Ensure python tests exit with error on every exception
We ignored assertions happening on callbacks as they only raise
exceptions that does not stop the execution.

So ensure that this is happening in all the tests as synaptics was
doing already
2022-09-28 01:22:15 +02:00
Marco Trevisan (Treviño) d2a0eda56c synaptics, goodix: Properly check for finger status during enroll progress
It may contain other values, but for sure we finger must be neeeded
2022-09-28 01:21:31 +02:00
Marco Trevisan (Treviño) 5d9fc8b3c8 fpi-device: Do not leak USB devices while iterating
To compute the device ports we walked up through the devices using
g_usb_device_get_parent(), but this is supposed to return a device with
transfer full, so we need to unref it when done with it.

To handle this nicely, use a mixture of autopointer's and g_set_object
to ensure we're doing the right thing when passing the ownership around.
2022-09-27 18:21:20 +02:00
Marco Trevisan (Treviño) 62f2f34655 fpi-device: Fix a small leak when configuring the wakeup 2022-09-27 17:38:51 +02:00
Marco Trevisan (Treviño) 171e65f73f libfprint: Use g_memdup2 everywhere
It's just safer when available.
2022-09-27 17:10:33 +02:00
Marco Trevisan (Treviño) 446cedbcfc fpi-compat: Add definition for g_memdup2 when not available or deprecated
It's suggested to use g_memdup2 everywhere, but since we've a max-glib
version set we'd get a "deprecation" warning.

Avoid it this by re-defininig it through a macro in both cases.
2022-09-27 17:10:33 +02:00
Marco Trevisan (Treviño) 4012a4fe6f fpi-device: Clarify identify prints gallery usage in drivers docs 2022-09-27 16:43:33 +02:00
Marco Trevisan (Treviño) 70dc61d647 libfprint: Add top-level sync-udev-hwdb target for updating DB 2022-09-27 16:32:09 +02:00
Marco Trevisan (Treviño) ca481cce50 fprint-list-udev-hwdb: Update devices from wiki 2022-09-27 16:32:09 +02:00
Marco Trevisan (Treviño) 4d74838c50 ci: Generate Cobertura XML and use it to feed gitlab for MR integration
gitlab has coverage integration in MRs, but we need a cobertura
formatted XML files (each must be less than 10 MB) to show it, since
meson generates it already via gcovr, we can just inform gitlab about it

See https://docs.gitlab.com/ee/ci/testing/test_coverage_visualization.html
2022-09-27 13:05:01 +02:00
Marco Trevisan (Treviño) c429052e5e tests: Do not use deprecated declarations in virtual device tests 2022-09-27 12:52:38 +02:00
Marco Trevisan (Treviño) 7ea2e55793 ci: Check for uncrustify changes in a safer way 2022-09-27 01:38:26 +02:00
Marco Trevisan (Treviño) 34e8655a08 ci: Use versioned image tags 2022-09-27 01:06:35 +02:00
Marco Trevisan (Treviño) c512a47e8a ci: Install debuginfo packages for better valgrind debugging
Related-to: https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/507
2022-09-27 00:21:05 +02:00
Marco Trevisan (Treviño) 012d77ac41 libfprint-templates: Include exec commands 2022-09-27 00:15:16 +02:00
Marco Trevisan (Treviño) 2acd3ca571 ci: Rebuild the image in case deps changed 2022-09-27 00:15:16 +02:00
Marco Trevisan (Treviño) 00a59af0dc Upload to kinetic 2022-07-17 17:37:33 +02:00
Marco Trevisan (Treviño) cbe9d5db69 Update changelog 2022-07-17 17:36:16 +02:00
Marco Trevisan (Treviño) ef6433c8be debian/patches: Ensure that identify works with old goodix driver
Newer fprintd supports duplicate-detection, this implies sending to the
device an empty prints gallery, expecting the device to give us a
matched print against its storage.

In case the device has no storage we're doing this anyway, but goodix
doesn't handle this properly, so let's just ignore the case if no prints
are passed.

Also, once returned the value we might initialize a type multiple times,
and let's avoid this not to have a dead-lock after the first action.

LP: #1966911
2022-07-17 17:35:31 +02:00