Skip to content

Commit c0e8673

Browse files
author
Jarkko Paso
authored
Merge pull request ARMmbed#1647 from ARMmbed/IOTTHD-2405
FHSS unit tests: Test tx conditions and tx done callbacks
2 parents b7428e0 + 04449e8 commit c0e8673

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

test/nanostack/unittest/service_libs/fhss_ws/test_fhss_ws.c

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,21 @@ bool test_fhss_ws_check_tx_conditions_callback()
291291
if (fhss_common_stub.fhss_struct.fhss_api->check_tx_conditions(api, DEFAULT_IS_BC_DEST, DEFAULT_HANDLE, DEFAULT_FRAME_TYPE, DEFAULT_FRAME_LENGTH, DEFAULT_PHY_HEAD_LENGTH, DEFAULT_PHY_TAIL_LENGTH) != true) {
292292
return false;
293293
}
294+
// Test on fixed channel
295+
enable_fhss_struct();
296+
if (fhss_common_stub.fhss_struct.fhss_api->check_tx_conditions(api, DEFAULT_IS_BC_DEST, DEFAULT_HANDLE, DEFAULT_FRAME_TYPE, DEFAULT_FRAME_LENGTH, DEFAULT_PHY_HEAD_LENGTH, DEFAULT_PHY_TAIL_LENGTH) != true) {
297+
return false;
298+
}
299+
// Test broadcast destination on unicast channel
300+
fhss_common_stub.fhss_struct.ws->fhss_configuration.ws_channel_function = WS_TR51CF;
301+
if (fhss_common_stub.fhss_struct.fhss_api->check_tx_conditions(api, true, DEFAULT_HANDLE, DEFAULT_FRAME_TYPE, DEFAULT_FRAME_LENGTH, DEFAULT_PHY_HEAD_LENGTH, DEFAULT_PHY_TAIL_LENGTH) != false) {
302+
return false;
303+
}
304+
// Test broadcast destination on broadcast channel
305+
fhss_common_stub.fhss_struct.ws->is_on_bc_channel = true;
306+
if (fhss_common_stub.fhss_struct.fhss_api->check_tx_conditions(api, true, DEFAULT_HANDLE, DEFAULT_FRAME_TYPE, DEFAULT_FRAME_LENGTH, DEFAULT_PHY_HEAD_LENGTH, DEFAULT_PHY_TAIL_LENGTH) != true) {
307+
return false;
308+
}
294309

295310
return true;
296311
}
@@ -315,6 +330,8 @@ bool test_fhss_ws_data_tx_done_callback()
315330
fhss_common_stub.fhss_struct.fhss_api->data_tx_done(api, DEFAULT_WAITING_ACK, DEFAULT_TX_COMPLETED, DEFAULT_HANDLE);
316331
// Test when FHSS struct can be found
317332
enable_fhss_struct();
333+
fhss_common_stub.fhss_struct.fhss_state = FHSS_SYNCHRONIZED;
334+
fhss_common_stub.fhss_struct.ws->fhss_configuration.ws_channel_function = WS_TR51CF;
318335
fhss_common_stub.fhss_struct.fhss_api->data_tx_done(api, DEFAULT_WAITING_ACK, DEFAULT_TX_COMPLETED, DEFAULT_HANDLE);
319336

320337
return true;
@@ -525,15 +542,20 @@ bool test_fhss_ws_set_parent()
525542
broadcast_timing_info_t bc_timing_info;
526543
memset(&bc_timing_info, 0, sizeof(broadcast_timing_info_t));
527544
fhss_api_t *api = test_generate_fhss_api();
528-
fhss_common_stub.fhss_struct.ws->fhss_configuration.ws_channel_function = WS_TR51CF;
545+
529546

530547
// Test without WS enabled FHSS
531548
fhss_structure_t fake_fhss_structure;
532549
memset(&fake_fhss_structure, 0, sizeof(fhss_structure_t));
533550
if (-1 != fhss_ws_set_parent(&fake_fhss_structure, dest_address, &bc_timing_info)) {
534551
return false;
535552
}
553+
// Test on fixed channel
554+
if (0 != fhss_ws_set_parent(&fhss_common_stub.fhss_struct, dest_address, &bc_timing_info)) {
555+
return false;
556+
}
536557
// Test success
558+
fhss_common_stub.fhss_struct.ws->fhss_configuration.ws_channel_function = WS_TR51CF;
537559
bc_timing_info.broadcast_channel_function = WS_TR51CF;
538560
bc_timing_info.broadcast_dwell_interval = 250;
539561
bc_timing_info.broadcast_interval = 1000;

0 commit comments

Comments
 (0)