Skip to content

Commit

Permalink
FHSS unit tests: Test TX/RX slots
Browse files Browse the repository at this point in the history
  • Loading branch information
Jarkko Paso committed May 2, 2018
1 parent 4fdbc09 commit 490384f
Showing 1 changed file with 40 additions and 1 deletion.
41 changes: 40 additions & 1 deletion test/nanostack/unittest/service_libs/fhss_ws/test_fhss_ws.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ static fhss_api_t *test_generate_fhss_api(void)
fhss_common_stub.fhss_struct.number_of_channels = 50;
fhss_common_stub.fhss_struct.rx_channel = DEFAULT_CHANNEL;
fhss_common_stub.fhss_struct.fhss_state = FHSS_UNSYNCHRONIZED;
fhss_common_stub.fhss_struct.own_hop = 0xff;
fhss_common_stub.fhss_struct.ws->is_on_bc_channel = false;
fhss_common_stub.fhss_struct.callbacks.change_channel = &mac_set_channel;
fhss_common_stub.fhss_struct.callbacks.read_mac_address = &mac_read_64bit_mac_address;
Expand Down Expand Up @@ -320,7 +321,45 @@ bool test_fhss_ws_check_tx_conditions_callback()
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) != false) {
return false;
}

// Test TX allowed for 0 hop
fhss_common_stub.fhss_struct.ws->is_on_bc_channel = false;
fhss_common_stub.fhss_failed_tx.handle = DEFAULT_HANDLE+1;
fhss_common_stub.fhss_struct.own_hop = 0;
fhss_common_stub.fhss_struct.ws->fhss_configuration.fhss_broadcast_interval = 800;
fhss_common_stub.fhss_struct.ws->fhss_configuration.fhss_bc_dwell_interval = 200;
fhss_platform_stub.remaining_slots_value = 500000;
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) {
return false;
}
// Test TX not allowed for 0 hop
fhss_platform_stub.remaining_slots_value = 400000;
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) != false) {
return false;
}
// Test TX allowed for 1st hop
fhss_common_stub.fhss_struct.own_hop = 1;
fhss_platform_stub.remaining_slots_value = 100000;
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) {
return false;
}
// Test TX not allowed for 1st hop
fhss_platform_stub.remaining_slots_value = 200000;
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) != false) {
return false;
}
// Test TX allowed for 2nd hop with different broadcast configuration
fhss_common_stub.fhss_struct.own_hop = 2;
fhss_common_stub.fhss_struct.ws->fhss_configuration.fhss_broadcast_interval = 1000;
fhss_common_stub.fhss_struct.ws->fhss_configuration.fhss_bc_dwell_interval = 250;
fhss_platform_stub.remaining_slots_value = 700000;
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) {
return false;
}
// Test TX not allowed for 2nd hop
fhss_platform_stub.remaining_slots_value = 400000;
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) != false) {
return false;
}
return true;
}

Expand Down

0 comments on commit 490384f

Please sign in to comment.