summaryrefslogtreecommitdiffstats
path: root/tests/lapd
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2013-06-19 08:16:56 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2013-06-19 08:27:18 +0200
commitdd34ed5b904a715a6ed742b635ed44c2b9b0b564 (patch)
tree7c451e087ef75f2db6d218a35f69418a134928b8 /tests/lapd
parent087116aca771ae3cd2dcbcbd8cb63a91dfc75f20 (diff)
lapd: The two known LAPDm issues have been addressed, update the test
The issue about the wrong padding has been found when creating the testcase in commit 15f740caa3a1ef681b3a5564daf6dfccb7b1e489 but the patch to fix that was never proposed by inclusion by its author. The issue about about the establish confirm carrying data with a wrong size is still present.
Diffstat (limited to 'tests/lapd')
-rw-r--r--tests/lapd/lapd_test.c16
-rw-r--r--tests/lapd/lapd_test.ok4
2 files changed, 7 insertions, 13 deletions
diff --git a/tests/lapd/lapd_test.c b/tests/lapd/lapd_test.c
index 49b7eefa..4d91fee3 100644
--- a/tests/lapd/lapd_test.c
+++ b/tests/lapd/lapd_test.c
@@ -61,12 +61,6 @@ static const uint8_t cm[] = {
0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80,
};
-static const uint8_t cm_padded[] = {
- 0x05, 0x24, 0x31, 0x03, 0x50, 0x18, 0x93, 0x08,
- 0x29, 0x47, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x2b, 0x2b, 0x2b, 0x2b
-};
-
static const uint8_t ua[] = {
0x01, 0x73, 0x41, 0x05, 0x24, 0x31, 0x03, 0x50,
0x18, 0x93, 0x08, 0x29, 0x47, 0x80, 0x00, 0x00,
@@ -173,7 +167,7 @@ static int send_sabm(struct lapdm_channel *chan, int second_ms)
msg->l2h[0] = 0x01;
msg->l2h[1] = 0x3f;
msg->l2h[2] = 0x01 | (sizeof(cm) << 2);
- memcpy(msg->l2h + 3, cm_padded, sizeof(cm_padded));
+ memcpy(msg->l2h + 3, cm, sizeof(cm));
msg->l2h[3] += second_ms; /* alter message, for second mobile */
/* LAPDm requires those... */
@@ -198,9 +192,9 @@ static int bts_to_ms_tx_cb(struct msgb *in_msg, struct lapdm_entity *le, void *_
if (state->bts_read == 0) {
printf("BTS: Verifying CM request.\n");
- OSMO_ASSERT(msgb_l3len(in_msg) == ARRAY_SIZE(cm_padded));
- OSMO_ASSERT(memcmp(in_msg->l3h, cm_padded,
- ARRAY_SIZE(cm_padded)) == 0);
+ OSMO_ASSERT(msgb_l3len(in_msg) == ARRAY_SIZE(cm));
+ OSMO_ASSERT(memcmp(in_msg->l3h, cm,
+ ARRAY_SIZE(cm)) == 0);
} else if (state->bts_read == 1) {
printf("BTS: Verifying dummy message.\n");
OSMO_ASSERT(msgb_l3len(in_msg) == ARRAY_SIZE(dummy1));
@@ -249,7 +243,7 @@ static int ms_to_bts_tx_cb(struct msgb *msg, struct lapdm_entity *le, void *_ctx
/* Verify the added RSL_IE_L3_INFO but we have a bug here */
OSMO_ASSERT(msg->data[6] == RSL_IE_L3_INFO);
#warning "RSL_IE_L3_INFO 16 bit length is wrong"
- /* ASSERT(msg->data[7] == 0x0 && msg->data[8] == 0x9c); */
+ /* ASSERT(msg->data[7] == 0x0 && msg->data[8] == 0x0c); */
/* this should be 0x0 and 0x0... but we have a bug */
} else if (state->ms_read == 1) {
printf("MS: Verifying incoming MM message: %d\n", msgb_l3len(msg));
diff --git a/tests/lapd/lapd_test.ok b/tests/lapd/lapd_test.ok
index aa927088..27389bfd 100644
--- a/tests/lapd/lapd_test.ok
+++ b/tests/lapd/lapd_test.ok
@@ -1,7 +1,7 @@
I do some very simple LAPDm test.
Establishing link.
ms_to_bts_l1_cb: MS(us) -> BTS prim message
-bts_to_ms_tx_cb: MS->BTS(us) message 29
+bts_to_ms_tx_cb: MS->BTS(us) message 25
BTS: Verifying CM request.
Confirming
@@ -19,6 +19,6 @@ bts_to_ms_tx_cb: MS->BTS(us) message 14
BTS: Verifying dummy message.
I test RF channel release of an unestablished channel.
I test contention resultion by having two mobiles collide and first mobile repeating SABM.
-bts_to_ms_tx_cb: MS->BTS(us) message 29
+bts_to_ms_tx_cb: MS->BTS(us) message 25
BTS: Verifying CM request.
Success.