Skip to content

RFC: twister: pytest: multiple boards with multiple zephyr apps for one testΒ #83643

@JingsaiLu

Description

@JingsaiLu

Problem description

for some samples / tests, especially for the wireless, one test requires >=2 boards for one test,
such as:

  • samples\bluetooth\central_ht could be tested against with samples\bluetooth\peripheral_ht on another harness board
  • tests\bluetooth\shell could be tested against with the same app on another board for BLE/ BT Classic / LE audio features, and also for WiFi.
  • for the BLE mesh / zigbee and open-thread, which may require 3 boards with 3 different apps for the different roles, such as router/coordinator/end device.

currently, twister pytest framework seems to only consider one DuT device for test.
need some improvement to cover above test scenarios in twister framework,
so that we could catch more issues on real board in CI/CV, like this issue on specific HW, #83551

Proposed change

  • add harness apps for different harness devices configurations in sample.yml
  • add harness devices info config file
  • build and flash different harness apps into multi harness boards
  • init all harness devices as resources in fixture, like dut for tests.
  • write pytest test cases for samples/tests

Concerns and Unresolved Questions

the initial implementation in #83641, only allows the harness_device_map.yml for one device in dut_map.yml,
need more changes in twister to merge or mapping the device_map configuration file.

Metadata

Metadata

Assignees

Labels

RFCRequest For Comments: want input from the communityarea: TwisterTwister

Type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions