[PATCH BlueZ v2 3/3] tool/mgmt-tester: Add fail_tolerant exception
From: Brian Gix <hidden>
Date: 2021-07-16 19:39:43
Subsystem:
the rest · Maintainer:
Linus Torvalds
Race conditions with the cmd-sync changes can cause fail status codes to be different than originally expected. New test parameter fail_tolerant allows a trivial fail-code mismatches to "Pass" while also warning that the status wasn't exactly as expected. --- tools/mgmt-tester.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/mgmt-tester.c b/tools/mgmt-tester.c
index bd581874e..e369d7488 100644
--- a/tools/mgmt-tester.c
+++ b/tools/mgmt-tester.c@@ -302,6 +302,7 @@ struct generic_data { bool expect_sc_key; bool force_power_off; bool addr_type_avail; + bool fail_tolerant; uint8_t addr_type; bool set_adv; const uint8_t *adv_data;
@@ -4063,6 +4064,7 @@ static const struct generic_data get_conn_info_power_off_test = { .force_power_off = true, .expect_status = MGMT_STATUS_NOT_POWERED, .expect_func = get_conn_info_expect_param_power_off_func, + .fail_tolerant = true, }; static const uint8_t load_conn_param_nval_1[16] = { 0x12, 0x11 };
@@ -7038,8 +7040,13 @@ static void command_generic_callback(uint8_t status, uint16_t length, test->send_opcode, mgmt_errstr(status), status); if (status != test->expect_status) { - tester_test_abort(); - return; + if (!test->fail_tolerant || !!status != !!test->expect_status) { + tester_test_abort(); + return; + } + + tester_warn("Unexpected status got %d expected %d", + status, test->expect_status); } if (!test->expect_ignore_param) {
--
2.31.1