From 9e05793948a57f7797bf1ba6fcbf1319a9097b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 20 Feb 2024 08:28:59 +0100 Subject: [PATCH] debian/patches: Cherry-pick patches to ignore tests missing dependencies Closes: #1059027 --- .../patches/build-Look-for-sh-just-once.patch | 70 +++++++++++++++++++ ...st-if-the-test-requires-it-during-in.patch | 36 ++++++++++ debian/patches/series | 2 + 3 files changed, 108 insertions(+) create mode 100644 debian/patches/build-Look-for-sh-just-once.patch create mode 100644 debian/patches/build-tests-Skip-a-test-if-the-test-requires-it-during-in.patch create mode 100644 debian/patches/series diff --git a/debian/patches/build-Look-for-sh-just-once.patch b/debian/patches/build-Look-for-sh-just-once.patch new file mode 100644 index 00000000..2dadcd6f --- /dev/null +++ b/debian/patches/build-Look-for-sh-just-once.patch @@ -0,0 +1,70 @@ +From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= +Date: Tue, 20 Feb 2024 08:22:42 +0100 +Subject: build: Look for sh just once + +Origin: https://gitlab.freedesktop.org/libfprint/libfprint/commit/4b72f27d +Forwarded: yes +--- + meson.build | 1 + + tests/meson.build | 10 +++++----- + 2 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/meson.build b/meson.build +index 435827c..28ee27a 100644 +--- a/meson.build ++++ b/meson.build +@@ -91,6 +91,7 @@ gusb_dep = dependency('gusb', version: '>= 0.2.0') + mathlib_dep = cc.find_library('m', required: false) + + # The following dependencies are only used for tests ++sh = find_program('sh', required: true) + cairo_dep = dependency('cairo', required: false) + + # introspection scanning and Gio-2.0.gir +diff --git a/tests/meson.build b/tests/meson.build +index f68ed40..8c8f5d0 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -151,7 +151,7 @@ if get_option('introspection') + endif + else + test(vdtest, +- find_program('sh'), ++ sh, + args: ['-c', 'exit 77'] + ) + endif +@@ -205,7 +205,7 @@ if get_option('introspection') + endif + else + test(driver_test, +- find_program('sh'), ++ sh, + args: ['-c', 'exit 77'] + ) + endif +@@ -224,13 +224,13 @@ if get_option('introspection') + else + warning('Skipping all driver tests as introspection bindings are missing') + test('virtual-image', +- find_program('sh'), ++ sh, + args: ['-c', 'exit 77'] + ) + + foreach driver_test: drivers_tests + test(driver_test, +- find_program('sh'), ++ sh, + args: ['-c', 'exit 77'] + ) + endforeach +@@ -273,7 +273,7 @@ foreach test_name: unit_tests + # Create a dummy test that always skips instead + warning('Test @0@ cannot be compiled due to missing dependencies'.format(test_name)) + test(test_name, +- find_program('sh'), ++ sh, + suite: ['unit-tests'], + args: ['-c', 'exit 77'], + ) diff --git a/debian/patches/build-tests-Skip-a-test-if-the-test-requires-it-during-in.patch b/debian/patches/build-tests-Skip-a-test-if-the-test-requires-it-during-in.patch new file mode 100644 index 00000000..ad363060 --- /dev/null +++ b/debian/patches/build-tests-Skip-a-test-if-the-test-requires-it-during-in.patch @@ -0,0 +1,36 @@ +From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= +Date: Tue, 20 Feb 2024 08:24:12 +0100 +Subject: build/tests: Skip a test if the test requires it during inspection + +In case we don't have dependencies, we should skip the test, otherwise +we can just fail at test time + +Origin: https://gitlab.freedesktop.org/libfprint/libfprint/commit/7dbb21e7 +Forwarded: yes +--- + tests/meson.build | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/tests/meson.build b/tests/meson.build +index 8c8f5d0..dc3b70e 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -100,11 +100,17 @@ if get_option('introspection') + base_args = files(vdtest + '.py') + suite = ['virtual-driver'] + +- r = run_command(unittest_inspector, files(vdtest + '.py'), check: true) ++ r = run_command(unittest_inspector, files(vdtest + '.py'), check: false) + unit_tests = r.stdout().strip().split('\n') + + if r.returncode() == 0 and unit_tests.length() > 0 + suite += vdtest ++ elif r.returncode() == 77 ++ test(vdtest, ++ sh, ++ args: ['-c', 'exit 77'] ++ ) ++ continue + else + unit_tests = [vdtest] + endif diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000..00346adf --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +build-Look-for-sh-just-once.patch +build-tests-Skip-a-test-if-the-test-requires-it-during-in.patch