From f29b4d994b3569efff78054aa97de0695e19cee3 Mon Sep 17 00:00:00 2001 From: yiwenxiu Date: Fri, 17 Jul 2026 16:28:18 +0800 Subject: [PATCH] feat: add thread ssed ci testcase scenario --- examples/openthread/ot_ci_function.py | 14 ++++++++++++-- examples/openthread/pytest_otbr.py | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/examples/openthread/ot_ci_function.py b/examples/openthread/ot_ci_function.py index 96075a1adce..ace3b686994 100644 --- a/examples/openthread/ot_ci_function.py +++ b/examples/openthread/ot_ci_function.py @@ -4,6 +4,7 @@ # this file defines some functions for testing cli and br under pytest framework import ipaddress import os +import random import re import socket import struct @@ -263,11 +264,20 @@ def ot_ping( return tx_count, rx_count -def ping_and_check(dut: IdfDut, target: str, tx_total: int = 10, timeout: int = 6, pass_rate: float = 0.8) -> None: +def ping_and_check( + dut: IdfDut, + target: str, + tx_total: int = 10, + timeout: int = 6, + pass_rate: float = 0.8, + size: int = 10, + size_range: Optional[Tuple[int, int]] = None, +) -> None: tx_count = 0 rx_count = 0 for _ in range(tx_total): - tx, rx = ot_ping(dut, target, timeout=timeout, count=1, size=10, interval=6) + ping_size = random.randint(*size_range) if size_range else size + tx, rx = ot_ping(dut, target, timeout=timeout, count=1, size=ping_size, interval=6) tx_count += tx rx_count += rx diff --git a/examples/openthread/pytest_otbr.py b/examples/openthread/pytest_otbr.py index 4121f30acce..8011c1d6b21 100644 --- a/examples/openthread/pytest_otbr.py +++ b/examples/openthread/pytest_otbr.py @@ -1077,9 +1077,9 @@ def test_ot_ssed_device(dut: Tuple[IdfDut, IdfDut]) -> None: cli_rloc_addr = ':'.join(ocf.get_rloc_addr(leader).split(':')[:-1]) ssed_address = f'{cli_rloc_addr}:{rloc16_decode_from_leader}' - ocf.ping_and_check(dut=leader, target=ssed_address, tx_total=10, timeout=6) + ocf.ping_and_check(dut=leader, target=ssed_address, tx_total=10, timeout=6, size_range=(10, 200)) time.sleep(random.randint(5, 20)) - ocf.ping_and_check(dut=leader, target=ssed_address, tx_total=10, timeout=6) + ocf.ping_and_check(dut=leader, target=ssed_address, tx_total=10, timeout=6, size_range=(10, 200)) finally: ocf.execute_command(leader, 'factoryreset') ocf.hardreset_dut(ssed_device)