Re: [PATCH BlueZ v2] tools/mgmt-tester: Fix expected HCI command accounting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Inga,

On Fri, 2021-06-04 at 10:59 -0700, Inga Stotland wrote:
> This fixes test condition count in the expected HCI command
> callback.
> 
> When the expected HCI opcode is detected, mark the condition
> as done. Any subsequent HCI commands are ignored.
> 
> Without this fix, in couple of test cases where the expected HCI
> command is detected more than once, the test may be erroneously
> reported as a failure or prematurely declared as a success before
> waiting on an expected MGMT event condition.
> 
> The test cases where this behavior is fixed:
> Remove Ext Advertising - Success 1
> Remove Ext Advertising - Success 2

Reviewed-by: Tedd Ho-Jeong An <tedd.an@xxxxxxxxx>

> ---
>  tools/mgmt-tester.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
> index c5073fe2b..6109883ad 100644
> --- a/tools/mgmt-tester.c
> +++ b/tools/mgmt-tester.c
> @@ -52,6 +52,7 @@ struct test_data {
>  	uint16_t mgmt_index;
>  	struct hciemu *hciemu;
>  	enum hciemu_type hciemu_type;
> +	bool expect_hci_command_done;
>  	int unmet_conditions;
>  	int unmet_setup_conditions;
>  	int sk;
> @@ -7021,9 +7022,11 @@ static void command_hci_callback(uint16_t opcode, const void *param,
>  
>  	tester_print("HCI Command 0x%04x length %u", opcode, length);
>  
> -	if (opcode != test->expect_hci_command || data->unmet_conditions <= 0)
> +	if (opcode != test->expect_hci_command || data->expect_hci_command_done)
>  		return;
>  
> +	data->expect_hci_command_done = true;
> +
>  	if (test->expect_hci_func)
>  		expect_hci_param = test->expect_hci_func(&expect_hci_len);
>  

Regards,
Tedd




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux