diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-09-25 15:58:01 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-09-28 00:28:01 +0000 |
commit | e289a2a86a845759fe1ac75365a6dc54ee9671d3 (patch) | |
tree | 1650cc2f11d3c0de8814f942dcd81aaf1805d799 /openbsc/tests/channel | |
parent | 8d878e8a283a3bfa59d4a0fc39baec406c86cc1e (diff) |
channel_test: test nr of subslots for dyn pchan, with error
Add test_dyn_ts_subslots() and call from main(). Update channel_test.ok.
This includes erratic assert to show a bug for TCH/F_PDCH in PDCH mode: the nr
of subslots should be the same as for a normal PDCH, i.e. zero. This will be
adjusted along with the fix in an upcoming commit.
Change-Id: I09685be3fb3ed1ead4577b772a9fbc31967980d1
Diffstat (limited to 'openbsc/tests/channel')
-rw-r--r-- | openbsc/tests/channel/channel_test.c | 31 | ||||
-rw-r--r-- | openbsc/tests/channel/channel_test.ok | 1 |
2 files changed, 32 insertions, 0 deletions
diff --git a/openbsc/tests/channel/channel_test.c b/openbsc/tests/channel/channel_test.c index 20128325e..668644dd9 100644 --- a/openbsc/tests/channel/channel_test.c +++ b/openbsc/tests/channel/channel_test.c @@ -90,11 +90,42 @@ void test_request_chan(void) OSMO_ASSERT(s_end); } +void test_dyn_ts_subslots(void) +{ + struct gsm_bts_trx_ts ts; + + printf("Testing subslot numbers for pchan types\n"); + + ts.pchan = GSM_PCHAN_TCH_F; + OSMO_ASSERT(ts_subslots(&ts) == 1); + + ts.pchan = GSM_PCHAN_TCH_H; + OSMO_ASSERT(ts_subslots(&ts) == 2); + + ts.pchan = GSM_PCHAN_PDCH; + OSMO_ASSERT(ts_subslots(&ts) == 0); + + ts.pchan = GSM_PCHAN_TCH_F_PDCH; + ts.flags = 0; /* TCH_F mode */ + OSMO_ASSERT(ts_subslots(&ts) == 1); + ts.flags = TS_F_PDCH_ACTIVE; + OSMO_ASSERT(ts_subslots(&ts) == 1 /* SHOULD BE 0 */); + + ts.pchan = GSM_PCHAN_TCH_F_TCH_H_PDCH; + ts.dyn.pchan_is = GSM_PCHAN_TCH_F; + OSMO_ASSERT(ts_subslots(&ts) == 1); + ts.dyn.pchan_is = GSM_PCHAN_TCH_H; + OSMO_ASSERT(ts_subslots(&ts) == 2); + ts.dyn.pchan_is = GSM_PCHAN_PDCH; + OSMO_ASSERT(ts_subslots(&ts) == 0); +} + int main(int argc, char **argv) { osmo_init_logging(&log_info); test_request_chan(); + test_dyn_ts_subslots(); return EXIT_SUCCESS; } diff --git a/openbsc/tests/channel/channel_test.ok b/openbsc/tests/channel/channel_test.ok index 7976aee0f..33c819350 100644 --- a/openbsc/tests/channel/channel_test.ok +++ b/openbsc/tests/channel/channel_test.ok @@ -1,2 +1,3 @@ Testing the gsm_subscriber chan logic Reached, didn't crash, test passed +Testing subslot numbers for pchan types |