summaryrefslogtreecommitdiff
path: root/cesar/interface/sniffer/test/src/test-sniffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/interface/sniffer/test/src/test-sniffer.c')
-rw-r--r--cesar/interface/sniffer/test/src/test-sniffer.c38
1 files changed, 32 insertions, 6 deletions
diff --git a/cesar/interface/sniffer/test/src/test-sniffer.c b/cesar/interface/sniffer/test/src/test-sniffer.c
index d83d5c3267..6c1f5ac015 100644
--- a/cesar/interface/sniffer/test/src/test-sniffer.c
+++ b/cesar/interface/sniffer/test/src/test-sniffer.c
@@ -372,9 +372,9 @@ test_sniffer_mme (test_t test)
/* Prepare the MME to be sniffed. */
bitstream_write_init (&stream, request, 1518);
- bitstream_write_large (&stream, STA_MAC_ADDR, 48);
+ bitstream_write_large (&stream, OSA2, 48);
bitstream_write_large (&stream, OSA1, 48);
- bitstream_write (&stream, HPAV_MTYPE_MME, 16);
+ bitstream_write (&stream, swap16(HPAV_MTYPE_MME), 16);
bitstream_write (&stream, HPAV_MMV, 8);
/* WHO are you request. */
bitstream_write (&stream, 0x2c, 16);
@@ -385,13 +385,39 @@ test_sniffer_mme (test_t test)
memset (answer, 0, 1518);
interface_sniffer_copy_mme_tx (sniffer, request, 60, answer, false);
- test_fail_unless (bitstream_direct_read_large (answer, 0, 48) == sniffer->da);
- test_fail_unless (memcmp (request + 6, answer + 6, length - 6) == 0);
+
+ bitstream_read_init (&stream, answer, ETH_PACKET_MAX_SIZE);
+ test_fail_unless (bitstream_read_large (&stream, 48) == sniffer->da);
+ test_fail_unless (bitstream_read_large (&stream, 48) == STA_MAC_ADDR);
+ test_fail_unless (bitstream_read (&stream, 16) ==
+ swap16(HPAV_MTYPE_MME));
+ test_fail_unless (bitstream_read (&stream, 8) == HPAV_MMV);
+ test_fail_unless (bitstream_read (&stream, 16) == VS_SNIFFER_IND);
+ test_fail_unless (bitstream_read (&stream, 16) == 0);
+ test_fail_unless (bitstream_read (&stream, OUI_SIZE_BITS) == SPC_OUI);
+ test_fail_unless (bitstream_read (&stream, 8) ==
+ INTERFACE_SNIFFER_TYPE_MME);
+ test_fail_unless (bitstream_read (&stream, 8) == 0);
+ bitstream_finalise (&stream);
+ test_fail_unless (memcmp (request, answer + 24, length) == 0);
memset (answer, 0, 1518);
interface_sniffer_copy_mme_rx (sniffer, request, 60, answer, false);
- test_fail_unless (bitstream_direct_read_large (answer, 0, 48) == sniffer->da);
- test_fail_unless (memcmp (request + 6, answer + 6, length - 6) == 0);
+
+ bitstream_read_init (&stream, answer, ETH_PACKET_MAX_SIZE);
+ test_fail_unless (bitstream_read_large (&stream, 48) == sniffer->da);
+ test_fail_unless (bitstream_read_large (&stream, 48) == STA_MAC_ADDR);
+ test_fail_unless (bitstream_read (&stream, 16) ==
+ swap16(HPAV_MTYPE_MME));
+ test_fail_unless (bitstream_read (&stream, 8) == HPAV_MMV);
+ test_fail_unless (bitstream_read (&stream, 16) == VS_SNIFFER_IND);
+ test_fail_unless (bitstream_read (&stream, 16) == 0);
+ test_fail_unless (bitstream_read (&stream, OUI_SIZE_BITS) == SPC_OUI);
+ test_fail_unless (bitstream_read (&stream, 8) ==
+ INTERFACE_SNIFFER_TYPE_MME);
+ test_fail_unless (bitstream_read (&stream, 8) == 1);
+ bitstream_finalise (&stream);
+ test_fail_unless (memcmp (request, answer + 24, length) == 0);
}
test_end;
}