summaryrefslogtreecommitdiff
path: root/mac/sar/test/unit_test/ecos
diff options
context:
space:
mode:
authorlaranjeiro2007-11-28 08:29:22 +0000
committerlaranjeiro2007-11-28 08:29:22 +0000
commit28d0ac7d322c5c9ed7e7f2ab774fececfbd86544 (patch)
tree4d690cc682620f30423c77a5066425a36b9a3cfb /mac/sar/test/unit_test/ecos
parent48d9e05efbb32d64e4614ff9c094e6e48cf53698 (diff)
Fix the bug #50
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1058 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'mac/sar/test/unit_test/ecos')
-rw-r--r--mac/sar/test/unit_test/ecos/src/reassembly_measurement.c52
1 files changed, 35 insertions, 17 deletions
diff --git a/mac/sar/test/unit_test/ecos/src/reassembly_measurement.c b/mac/sar/test/unit_test/ecos/src/reassembly_measurement.c
index f472c00426..2e65135c31 100644
--- a/mac/sar/test/unit_test/ecos/src/reassembly_measurement.c
+++ b/mac/sar/test/unit_test/ecos/src/reassembly_measurement.c
@@ -12,6 +12,7 @@
*/
#include "common/std.h"
+#include "lib/blk.h"
#include "lib/test.h"
#include "mac/sar/sar.h"
#include "mac/common/store.h"
@@ -20,16 +21,20 @@
#include "mac/sar/test/inc/reassembly_unit_test_functions.h"
#include "mac/sar/test/inc/ce.h"
+#define NB_PB 200
+
int main (void)
{
test_t test;
- uint i;
- pb_t *pb;
+ uint i, ber;
+ pb_t *pb, *pb_last, *pb_curr;
pbproc_rx_params_t rx_params;
sar_t *sar_ctx;
mac_store_t *mac_store;
- mfs_rx_t *mfs;
+
+ blk_t *blk_curr;
+ uint blk_offset;
test_init (test, 0, NULL);
@@ -39,34 +44,47 @@ int main (void)
sar_init_measure_context (sar_ctx, sar_ctx);
sar_init_measurement_cb (sar_ctx, ce_measurements);
- pb = (pb_t *) blk_alloc_desc ();
- pb->header.vpbf = true;
- pb->header.mfbf = false;
+ pb = (pb_t *) blk_alloc_desc_range (NB_PB, (blk_t **) &pb_last);
- i = 0x12345678;
- memcpy (&pb->phy_pb.pb_rx.pb_measurement, &i, 4);
+ pb_last->next = NULL;
+ pb_curr = pb;
+ for (i = 0; i < NB_PB; i++)
+ {
+ ber = 0x12345 + i;
+ pb_curr->header.vpbf = false;
+ memcpy (&pb_curr->phy_pb.pb_rx.pb_measurement, &ber, 4);
+ pb_curr = pb_curr->next;
+ }
rx_params.lid = 0x1;
rx_params.tei = 0x1;
rx_params.bdf = false;
- sar_mpdu_add (sar_ctx, NULL, NULL, &rx_params, pb, pb, 1, NULL);
+ sar_mpdu_add (sar_ctx, NULL, NULL, &rx_params, pb, pb_last, NB_PB, NULL);
sar_launch (sar_ctx);
test_begin(test, "measurement")
{
- test_fail_if(*((u32 *)((pb_measurement_t *)ce_ctx.measurement_head->data
- )) != 0x12345678, "Error");
+ blk_curr = ce_ctx.measurement_head;
+ blk_offset = 0;
+ ber = 0x12345;
+
+ for (i = 0; i < NB_PB; i++)
+ {
+ if (blk_offset == (BLK_SIZE >> 2))
+ {
+ blk_curr = blk_curr->next;
+ blk_offset = 0;
+ }
+
+ test_fail_if(*((u32 *)((pb_measurement_t *)blk_curr->data
+ + blk_offset)) != ber + i, "Error");
+ blk_offset ++;
+ }
}
test_end;
- mfs = mac_store_mfs_get_rx (mac_store, false, false, 1, 1);
-
- blk_release (mfs);
- mac_store_mfs_remove (mac_store, (mfs_t *) mfs);
-
- dbg_check (mac_store_sta_remove (mac_store, 1));
mac_store_uninit (mac_store);
sar_uninit (sar_ctx);