Marco Trevisan (Treviño)
9f235e2121
tests: Use native GTest utils to generate assets names
2023-08-17 21:46:30 +02:00
Marco Trevisan (Treviño)
eac5c1a9d4
tests: Install current TOD driver in installed tests and use it
2023-08-17 21:03:06 +02:00
Marco Trevisan (Treviño)
61f93ce92e
ci: Move build dir during installed tests so we check that we don't use built artifacts
2023-08-17 20:38:26 +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)
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)
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)
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)
fbffb62ecb
fpi-device: Avoid using device action strings
...
It may cause initializing a type twice in some cases, and thus some
hard-locking, let's just avoid it since we don't care about full debug
strings here.
2022-07-17 17:34:23 +02:00
Marco Trevisan (Treviño)
0d5c897b3d
tod: Add wrapper for goodix-tod not handling identification with no prints
...
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.
2022-07-17 17:34:23 +02:00
Marco Trevisan (Treviño)
15bee898b8
ci: Use junit test reports
...
They can be used to show test failure logs directly in the MR's
pipelines page.
2022-07-14 22:13:49 +02:00
Marco Trevisan (Treviño)
fb9e054637
test-fp-device: Add few tests to check identification init errors
2022-07-14 21:35:30 +02:00
Marco Trevisan (Treviño)
7f6ab61292
fp-device: Return an error if prints are invalid
...
We'd crash later otherwise, while it's better to return an error.
2022-07-14 21:14:29 +02:00
Marco Trevisan (Treviño)
f03d9361e3
fpi-device: Improve documentation for identify/verify report and complete
...
We still mentioned variables that are not accepted anymore since we
switched to match reporting API.
2022-07-14 21:13:35 +02:00
Marco Trevisan (Treviño)
8c5a4e3b41
libfprint-tod.ver: Use explicit versioning for old symbols
...
Given that we won't go in the past, it's better to be explicit in
using versions for symbols so that all new symbols will be added to the
latest listed release, while others won't be moved from where they are.
2022-02-15 13:07:35 +01:00
Marco Trevisan (Treviño)
31f8d8c067
libfprint-tod.ver: Add new APIs to 1.94 symbols
2022-02-15 13:07:35 +01:00
Marco Trevisan (Treviño)
a1340485b6
tests/tod-drivers: Add tests for 1.94.3-built tod drivers
2022-02-15 13:07:31 +01:00
Marco Trevisan (Treviño)
f3187ad9f4
tod: Ensure we install tod-macros.h header
2022-02-15 13:06:35 +01:00
Marco Trevisan (Treviño)
a328dfe1d9
tests/tod-drivers: Add tests for FpDeviceFeature on 1.94.3
2022-02-14 18:50:47 +01:00
Marco Trevisan (Treviño)
b6ef314434
tests/tod-drivers: Move FpDeviceFeature definitions to base-fp-device
...
They're public enums, so put there in the expected file.
2022-02-14 18:50:11 +01:00
Marco Trevisan (Treviño)
600e6f2107
tests/meson: Remove unsupported sources_dir from gnome mkenums
2022-02-14 18:49:40 +01:00
Marco Trevisan (Treviño)
6b894dbd5c
Merge tag 'v1.94.3' into tod
...
2021-11-02: v1.94.3 release
Highlights:
* Ensure idle mainloop before completing enumeration (fprintd#119)
* It is now possible to extend already enrolled prints
* elanspi: Fix timeout error with some hardware (#438 )
* elanspi: Fix cancellation issues
* goodixmoc: Return matching device print; fixes duplicate checking (#444 )
* goodixmoc: Support clearing the storage (usually unused)
Git-EVTag-v0-SHA512: 779b560b97bc7da5972d9a4854be5b74f8d310a22ac782fde50fa02c869cf93cc11254d75519076ac8ee59f81c8a9fc0466030eb249519827343ab84eb45e640
2022-02-14 17:03:21 +01:00
Marco Trevisan (Treviño)
d46c34b21c
Merge tag 'v1.94.2' into tod
...
Tag 1.94.2
Git-EVTag-v0-SHA512: 3eed67186b9533300d5ba70ce9abc36055068c3eafa663a48c655ef0e8c7a6928bb7cd875a7ae1860a65324fb806da79d83ca3c97a0640b10dc92dc497f04f11
2021-12-14 19:32:04 +01:00
Marco Trevisan (Treviño)
a36a4f20ff
tod-inspector: Add support for 1.94 device class members
2021-10-31 23:44:37 +01:00
Marco Trevisan (Treviño)
8ae5522201
tod-inspector: Support udev devices
2021-10-31 23:44:05 +01:00
Marco Trevisan (Treviño)
fef4120ae1
test-fpi-todv1-types: Check missing device class members for 1.94
...
Not a problem now, as we're still on 1.94, but will be needed to ensure
that future versions will be checked.
2021-10-31 23:28:21 +01:00
Marco Trevisan (Treviño)
608a9f10df
libfprint: Use a macro to easily compute TOD padding
2021-10-31 23:09:30 +01:00
Marco Trevisan (Treviño)
ec8a9ba0fd
fpi-device: Adjust padding based on actual gpointer size
...
In some architectures pointer size is different. So let's adapt it to it
2021-10-31 22:31:01 +01:00
Marco Trevisan (Treviño)
77ff30e19d
tod: Mark symbols that were added in 1.90 series as part of TOD 1.0.0
...
Otherwise we'd cause the symbols to disappear on such versions
2021-10-28 19:22:21 +02:00
Marco Trevisan (Treviño)
378fae0ea2
doc: Add missing Drivers API SSM functions
2021-10-28 16:56:11 +02:00
Marco Trevisan (Treviño)
01b0f7aba0
doc: Include missing types (SPI) and functions to the Drivers API
2021-10-28 16:39:35 +02:00
Marco Trevisan (Treviño)
1153fc85a5
Merge with libfprint 1.94.1 and followup fixup commits
2021-10-28 15:46:02 +02:00