From: Bastien Nocera <hadess@hadess.net>
To: linux-bluetooth@vger.kernel.org
Subject: [BlueZ v10 09/16] unit: Run test-bap tests concurrently
Date: Tue, 5 May 2026 10:45:15 +0200 [thread overview]
Message-ID: <20260505085741.2497401-10-hadess@hadess.net> (raw)
In-Reply-To: <20260505085741.2497401-1-hadess@hadess.net>
---
meson.build | 2 +-
unit/meson.build | 25 ++++++++++++++++++++++---
unit/unittest_list.sh | 15 +++++++++++++++
3 files changed, 38 insertions(+), 4 deletions(-)
create mode 100644 unit/unittest_list.sh
diff --git a/meson.build b/meson.build
index c26dd5740488..391cba6962bb 100644
--- a/meson.build
+++ b/meson.build
@@ -291,6 +291,7 @@ endif
if rst2man.found()
subdir('doc')
endif
+sh = find_program('sh', required: true)
if get_option('tests').allowed()
subdir('test')
subdir('unit')
@@ -298,7 +299,6 @@ endif
# Fix permissions on install
install = find_program('install')
-sh = find_program('sh')
if get_option('daemon').enabled()
meson.add_install_script(sh, '-c', 'install -dm755 ${DESTDIR}/' + configdir)
endif
diff --git a/unit/meson.build b/unit/meson.build
index c8198574147d..1bd3b7a85992 100644
--- a/unit/meson.build
+++ b/unit/meson.build
@@ -7,7 +7,6 @@ tests1 = [
[ 'test-avrcp.c', '../src/log.c', 'avctp.c', 'avrcp-lib.c' ],
[ 'test-lib.c' ],
[ 'test-gatt.c' ],
- [ 'test-bap.c' ],
[ 'test-micp.c' ],
[ 'test-bass.c' ],
[ 'test-vcp.c' ],
@@ -39,6 +38,26 @@ foreach t: tests1
endforeach
tests2 = [
+ [ 'test-bap.c' ],
+]
+
+unittest_list = find_program('unittest_list.sh')
+
+foreach t: tests2
+ test_name = t[0].substring(0, -2)
+ exe = executable(test_name,
+ sources: t,
+ dependencies: [ libshared_glib_dep, libbluetooth_internal_dep ],
+ )
+
+ r = run_command(sh, unittest_list, t, check: true)
+ unit_tests = r.stdout().strip().split(' ')
+ foreach ut: unit_tests
+ test(ut, exe, args: [ '-p', ut ])
+ endforeach
+endforeach
+
+tests3 = [
[ 'test-textfile.c', '../src/textfile.c' ],
[ 'test-crc.c', '../monitor/crc.c' ],
[ 'test-crypto.c' ],
@@ -54,7 +73,7 @@ tests2 = [
]
if ical_dep.found()
- tests2 += [
+ tests3 += [
[ 'test-gobex.c', 'util.c', gobex_sources ],
[ 'test-gobex-packet.c', 'util.c', gobex_sources ],
[ 'test-gobex-header.c', 'util.c', gobex_sources ],
@@ -63,7 +82,7 @@ if ical_dep.found()
]
endif
-foreach t: tests2
+foreach t: tests3
test_name = t[0].substring(0, -2)
exe = executable(test_name,
sources: t,
diff --git a/unit/unittest_list.sh b/unit/unittest_list.sh
new file mode 100644
index 000000000000..c478edc9d3e4
--- /dev/null
+++ b/unit/unittest_list.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+if [ $# -lt 1 ] ; then
+ echo "Usage: $0 FILE..."
+ exit 1
+fi
+
+TESTS=$(grep '^[[:space:]]*define_test[_a-z]*("' $* | cut -d \" -f 2 | cut -d " " -f 1)
+if [ -z "$TESTS" ] ; then
+ TESTS=$(grep '^[[:space:]]*tester_add("' $* | cut -d \" -f 2 | cut -d " " -f 1)
+fi
+if [ -z "$TESTS" ] ; then
+ TESTS=$(grep '^[[:space:]]*g_test_add_*func("' $* | cut -d \" -f 2 | cut -d " " -f 1)
+fi
+echo $TESTS
--
2.54.0
next prev parent reply other threads:[~2026-05-05 8:57 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-05 8:45 [BlueZ v10 00/16] Add meson build system and HTML docs Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 01/16] build: Add meson wrap for libell Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 02/16] build: Add meson build system Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 03/16] build: Add support for building with libical 4.x Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 04/16] build: Separate systemd and libsystemd dependencies Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 05/16] tools: Install gatttool if deprecated tools are enabled Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 06/16] tools: Install avinfo tool by default Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 07/16] emulator: Install the emulator if built Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 08/16] build: Add option to allow disabling bluetoothd Bastien Nocera
2026-05-05 8:45 ` Bastien Nocera [this message]
2026-05-05 8:45 ` [BlueZ v10 10/16] unit: Make gobex-transfer tests run concurrently Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 11/16] build: Only build profiles if the daemon is built Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 12/16] build: Only build gdbus library if there is a user Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 13/16] unit: Add integration tests Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 14/16] doc: Add HTML documentation Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 15/16] github: Add docs deployment Bastien Nocera
2026-05-05 8:45 ` [BlueZ v10 16/16] doc: Add introduction to GATT Bastien Nocera
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260505085741.2497401-10-hadess@hadess.net \
--to=hadess@hadess.net \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox