Linux bluetooth development
 help / color / mirror / Atom feed
From: Pauli Virtanen <noreply@github.com>
To: linux-bluetooth@vger.kernel.org
Subject: [bluez/bluez] 080b15: doc: add functional/integration testing documentation
Date: Sun, 06 Sep 2026 10:40:51 -0700	[thread overview]
Message-ID: <bluez/bluez/push/refs/heads/1159124/000000-bb3619@github.com> (raw)

  Branch: refs/heads/1159124
  Home:   https://github.com/bluez/bluez
  Commit: 080b158a91ec7fe4a151028045554f0c3483f956
      https://github.com/bluez/bluez/commit/080b158a91ec7fe4a151028045554f0c3483f956
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    A doc/test-functional.rst

  Log Message:
  -----------
  doc: add functional/integration testing documentation

Add documentation for functional/integration test suite.


  Commit: 5a38bde90745101e446620ecbf9d77235d0a50eb
      https://github.com/bluez/bluez/commit/5a38bde90745101e446620ecbf9d77235d0a50eb
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    A test/functional/__init__.py
    A test/functional/conftest.py
    A test/functional/requirements.txt
    A test/functional/test_bluetoothctl.py
    A test/functional/test_btmgmt.py
    A test/pytest.ini
    A test/test-functional
    A test/test-functional-attach

  Log Message:
  -----------
  test: add functional/integration testing framework

Add framework for writing tests simulating "real" environments where
BlueZ and other parts of the stack run on different virtual machine
hosts that communicate with each other.

Add some smoke tests for bluetoothctl and btmgmt.

The implementation for the VM setup is maintained separately in the
pytest-bluezenv plugin, https://pypi.org/project/pytest-bluezenv

Implements:

- RPC communication with tester instances running each of the VM hosts,
  so that tests can be written on the parent host which coordinates the
  execution.

- Extensible way to add stateful test-specific code inside the VM
  instances

- Logging control: output from different processes running inside the VM
  are separated and can be filtered.

- Test runner framework with Pytest, factored into a pytest plugin

- Grouping tests to minimize VM reboots

- Redirecting USB controllers to use for testing

There is no requirement that the tests spawn VM instances.


  Commit: 41486cf21e7f0b8237e4217d197be18eb34e6c41
      https://github.com/bluez/bluez/commit/41486cf21e7f0b8237e4217d197be18eb34e6c41
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M Makefile.am
    M configure.ac

  Log Message:
  -----------
  build: add functional testing target

This adds check-functional: target that runs the functional test suite.

Also add a --enable-functional-testing=<kernel-image> argument for
configure that can be used to include it in the check: make target,
possibly with a predefined kernel image.


  Commit: 792f6821e352c6225a8fde458bcba7025b8e070d
      https://github.com/bluez/bluez/commit/792f6821e352c6225a8fde458bcba7025b8e070d
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M test/functional/requirements.txt
    A test/functional/test_tests.py

  Log Message:
  -----------
  test: functional: impose Python code formatting

Check Python code formatting of the functional test suite.


  Commit: 9fe6efaa31a1a4d6dc2d5e101d32a42437461bab
      https://github.com/bluez/bluez/commit/9fe6efaa31a1a4d6dc2d5e101d32a42437461bab
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    A test/functional/test_agent.py

  Log Message:
  -----------
  test: functional: add some Agent1 interface tests

Add test

test/functional/test_agent.py::test_agent_pair_bredr


  Commit: 9b003551aadf51d4a17c1df56e39226d75e58009
      https://github.com/bluez/bluez/commit/9b003551aadf51d4a17c1df56e39226d75e58009
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    A test/functional/test_obex.py

  Log Message:
  -----------
  test: functional: add basic obex file transfer tests

Add tests for Obex DBus API and obexctl

test/functional/test_obex.py::test_obex_ftp_get
test/functional/test_obex.py::test_obex_ftp_list
test/functional/test_obex.py::test_obexctl_list


  Commit: a6e4a90cfc9af51c28447641ca324d0d375402e1
      https://github.com/bluez/bluez/commit/a6e4a90cfc9af51c28447641ca324d0d375402e1
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    A test/functional/test_kernel_testers.py
    M test/pytest.ini

  Log Message:
  -----------
  test: functional: add tests running the various kernel testers

It's more convenient to have simple local test runner for these.


  Commit: 44d984fbcbb2b9318dcd3ebc550d9a7f1224f6e4
      https://github.com/bluez/bluez/commit/44d984fbcbb2b9318dcd3ebc550d9a7f1224f6e4
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M test/functional/conftest.py
    A test/functional/test_adv_monitor.py
    M test/pytest.ini

  Log Message:
  -----------
  test: functional: add test for adv_monitor crash

Add test checking adv_monitor overflow crash.
From PoC provided by Alexandro Calo' (Nozomi Networks Labs)


  Commit: bb3619f0e8cd67d61b362134b38856d74eb210b9
      https://github.com/bluez/bluez/commit/bb3619f0e8cd67d61b362134b38856d74eb210b9
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M test/functional/conftest.py
    A test/functional/test_avrcp.py
    M test/functional/test_obex.py

  Log Message:
  -----------
  test: functional: add test for AVRCP crash

Add test checking AVRCP ListPlayerAttributes crash.
From PoC provided by Alexandro Calo' (Nozomi Networks Labs)

Refactor test_obex.paired_hosts fixture to global fixture.


Compare: https://github.com/bluez/bluez/compare/080b158a91ec%5E...bb3619f0e8cd

To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications

                 reply	other threads:[~2026-09-06 17:40 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=bluez/bluez/push/refs/heads/1159124/000000-bb3619@github.com \
    --to=noreply@github.com \
    --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