Linux bluetooth development
 help / color / mirror / Atom feed
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


  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