Marco Trevisan (Treviño)
b97efa6fed
egismoc: Assert that task ssm is unset when setting it
...
We need to ensure that we are not overwriting the instance SSM, so that
we can be sure that we are only doing one operation at time.
Also we need to ensure that the task unsetting it, is the owner of it.
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
6767cd1a4f
egismoc: Ensure that the command callback is after SSM is completed
...
We need to make sure that we won't trigger a callback when a SSM is
already in progress or we may end up overwriting it
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
226b6abfab
egismoc: Use an autopointer to cleanup error on command done callback
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
9e2c14d64e
egismoc: Clarify delete print ownership in delete callback
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
92aeb53ee8
egismoc: Simplify egismoc identification stage handling
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
87f68e3ac1
egismoc: Avoid gotos in init code, just handle the errors immediately
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
8073a5dc34
egismoc: Remove unused increments
...
This is also to please static analyzer
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
eb09156244
egismoc: Clear enrolled IDs using nicer GLib api
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
b8cfb95b49
egismoc: Ensure we've enough null bytes at the end of strings
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
a7843add0f
egismoc: Do not initialize to zero twice
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
b0f0322726
egismoc: Indentation and syntax fixes
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
7476faba68
data, libfprint: Update list of unsupported drivers
2024-02-19 16:16:02 +01:00
Marco Trevisan (Treviño)
e05fbaa8ab
realtek: Do not initialize variables in switch cases
...
Handles scan-build warning
2024-02-13 14:54:42 +00:00
Marco Trevisan (Treviño)
61f9346aaf
realtek: Do not leak an error
...
Found by scan-build.
2024-02-13 14:54:42 +00:00
Marco Trevisan (Treviño)
d878148b5e
ci: Expose scan build artifacts on failures
...
That's the only case we care about
2024-02-13 14:54:42 +00:00
Marco Trevisan (Treviño)
ee509c7ee6
libfprint/fprint-list-udev-hwdb: Update unsupported list from wiki
2024-02-13 15:28:53 +01:00
Marco Trevisan (Treviño)
2fa0975dec
cleanup: Address some newer uncrustify syntax cleanups
2024-02-13 15:25:15 +01:00
Marco Trevisan (Treviño)
f3ab1f996f
fp-context: use g_strv_contains instead of manual labor
2024-02-13 15:25:15 +01:00
Marco Trevisan (Treviño)
92c5fc4643
cleanup: Use allow/deny lists instead of color based ones
...
There was nothing racist on those names here (what? Do human races even
exist?!), but let's avoid any confusion.
2024-02-13 15:19:47 +01:00
Marco Trevisan (Treviño)
85ec9ec5b2
ci: Allow flatpak failure
...
It's not a critical thing, so if it fails (as it does currently) we
should not block on that.
2024-02-13 14:42:18 +01:00
Marco Trevisan (Treviño)
b8933d8f81
fp-print: Do not check compile-time macros at runtime
2024-02-13 14:36:46 +01:00
Marco Trevisan (Treviño)
5a1253e37c
fp-image: Do not start thread detection task thread if already running
2023-11-24 21:02:50 +01:00
Marco Trevisan (Treviño)
2b008b52d7
fp-image: Simplify minutiae detection tasks
...
We can just use a GTask to handle the detection while using the
finish function to process the results to the image, so that it
is more predictable when this happens and it does not depend on
a thread returning.
Also remove data duplication when possible, this class wasn't
fully safe anyway to be used concurrently, so there's no point
to copy data when not needed. Also added the hard constraint to
not proceed with minutiae detection if something else is already
doing this.
At the same time we can mark the task to finish early on
cancellation.
2023-11-21 16:43:04 +00:00
Marco Trevisan (Treviño)
83939abe10
fp-image: Add FP_IMAGE_NONE flags definition
2023-11-21 16:43:04 +00:00
Marco Trevisan (Treviño)
16d02b3ed5
fp-image: Remove unused ref_count flag
...
It's an object so we already ref-count it.
2023-11-21 16:43:04 +00:00
Marco Trevisan (Treviño)
2414dbdbd4
libfprint/fprint-list-udev-hwdb: Update unsupported devices from wiki
2023-09-27 19:44:37 +02:00
Marco Trevisan (Treviño)
efba965b0c
ci: Build flatpak using gnome master
...
Also bump dependencies versions
2023-09-27 17:47:38 +02:00
Marco Trevisan (Treviño)
26d2c77c3d
ci: Allow manual flatpak build in any fork and MR
2023-09-27 17:29:24 +02:00
Marco Trevisan (Treviño)
eb01d7c97d
ci: Fix building flatpak using GNOME 42 runtime
...
Use versioned ci template so we are sure what we're using
2023-09-27 17:10:31 +02:00
Marco Trevisan (Treviño)
af3dca9003
tests/egis0570/capture.pcapng: Remove execution permission
2023-08-22 23:08:55 +00:00
Marco Trevisan (Treviño)
b924d715c9
ci: Move build dir during installed tests so we check that we don't use built artifacts
2023-08-21 14:19:27 +00:00
Marco Trevisan (Treviño)
1372d6f081
tests: Use native GTest utils to generate assets names
2023-08-21 14:19:27 +00: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)
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)
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)
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)
de46e1e4b8
tests: Add missing trailing new lines on devices attributes
...
This as per the same reasons of commit 63bfaf4 , and without trailing new
lines such attributes aren't picked by umockdev in ubuntu and debian.
2021-10-27 02:01:50 +02:00
Marco Trevisan (Treviño)
88cb452e05
fpi-device: Do not include config.h in headers
...
It should be included in files requiring it only.
2021-09-03 18:49:45 +02:00
Marco Trevisan (Treviño)
9aa3060d32
ci: Expose valgrind test logs
2021-04-13 19:39:50 +02:00
Marco Trevisan (Treviño)
9a1dcaa801
tests: Use native meson exec wrapper in test setups instead of our script
...
No need to provide a script that will break usage of `meson test --gdb`
when we can use a native and cleaner alternative.
We can then ignore LIBFPRINT_TEST_WRAPPER in basic tests, while it is
still needed by umockdev tests.
2021-04-13 19:38:58 +02:00