aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2018-02-21 16:58:08 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-22 07:58:26 +0000
commita4bca115557feb0268e6cfda30238ded16328ae6 (patch)
tree48fa63300f099eab9ce11263558de5ecef876165 /tests
parentb93748a1707fa4e20c3a8c3a241dd9e3fb03ea87 (diff)
bts: use feature list instead of speech codec table
osmo-bts has a table of pchan/channel mode combinations for every bts. This table models the codec capabilitys of the BTS hardware. However, having the speech codec apabilities modeled inside the BTS feature list would be much more comfortable and since the feature list is communicated back to the BSC we would get the codec capabilities inside the BSC domain as well. - remove the pchan/channel mode tables - set speech codec variants for each BTS type - fix bts_supports_cm so that it queries the feature list Change-Id: I977dc729ba856631245aedf76afd48eac92166f7
Diffstat (limited to 'tests')
-rw-r--r--tests/misc/misc_test.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/tests/misc/misc_test.c b/tests/misc/misc_test.c
index 00744a6b..e4542354 100644
--- a/tests/misc/misc_test.c
+++ b/tests/misc/misc_test.c
@@ -157,29 +157,29 @@ static void test_sacch_get(void)
}
}
-static const struct bts_cm bts_model_supported_cm[] = {
- {GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_V1},
- {GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_V1},
- {GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_AMR},
- {GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_AMR},
- {_GSM_PCHAN_MAX, 0}
-};
-
static void test_bts_supports_cm(void)
{
- struct gsm_bts_role_bts bts;
- bts.support.cm = bts_model_supported_cm;
+ struct gsm_bts *bts;
+
+ bts = gsm_bts_alloc(NULL, 0);
+
+ gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_V1);
+ gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_V1);
+ gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_F_AMR);
+ gsm_bts_set_feature(bts, BTS_FEAT_SPEECH_H_AMR);
OSMO_ASSERT(bts_supports_cm
- (&bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_V1) == 1);
+ (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_V1) == 1);
OSMO_ASSERT(bts_supports_cm
- (&bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_V1) == 1);
+ (bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_V1) == 1);
OSMO_ASSERT(bts_supports_cm
- (&bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_EFR) == 0);
+ (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_EFR) == 0);
OSMO_ASSERT(bts_supports_cm
- (&bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_AMR) == 1);
+ (bts, GSM_PCHAN_TCH_F, GSM48_CMODE_SPEECH_AMR) == 1);
OSMO_ASSERT(bts_supports_cm
- (&bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_AMR) == 1);
+ (bts, GSM_PCHAN_TCH_H, GSM48_CMODE_SPEECH_AMR) == 1);
+
+ talloc_free(bts);
}
int main(int argc, char **argv)