summaryrefslogtreecommitdiff
path: root/cesar/mac/sar
diff options
context:
space:
mode:
authorNélio Laranjeiro2012-07-11 10:24:13 +0200
committerNélio Laranjeiro2012-09-11 07:27:36 +0200
commit103739729c99abd548424e4ceed7d3fd8609ab0f (patch)
treea10fbe14dc670a2077c3ddc976fb12ffd6a91b04 /cesar/mac/sar
parent030c2be70633731d391b63cef0401981e76b97d6 (diff)
cesar: make test code compile with CONFIG_STATS = n, closes #3234
* VS_GET_STAT_REQ returns an MME with the result, failure or empty. * host unit tests of the SAR uses the override CE context to compute stats.
Diffstat (limited to 'cesar/mac/sar')
-rw-r--r--cesar/mac/sar/inc/context.h2
-rw-r--r--cesar/mac/sar/test/utest/host/override/ce/rx/src/rx.c8
-rw-r--r--cesar/mac/sar/test/utest/host/src/crc_error.c30
-rw-r--r--cesar/mac/sar/test/utest/host/src/reassembly_measurement.c3
-rw-r--r--cesar/mac/sar/test/utest/host/src/stats.c8
5 files changed, 36 insertions, 15 deletions
diff --git a/cesar/mac/sar/inc/context.h b/cesar/mac/sar/inc/context.h
index 5eeb8823c8..ced302977e 100644
--- a/cesar/mac/sar/inc/context.h
+++ b/cesar/mac/sar/inc/context.h
@@ -186,9 +186,7 @@ struct sar_t
/** SAR Trace */
trace_buffer_t trace;
#endif /* !CONFIG_TRACE */
-#if CONFIG_STATS
sar_stats_t stats;
-#endif
#if CONFIG_SEQ_CHECK
lib_seq_check_t seq;
#endif
diff --git a/cesar/mac/sar/test/utest/host/override/ce/rx/src/rx.c b/cesar/mac/sar/test/utest/host/override/ce/rx/src/rx.c
index b9bba3cdde..0fd649c84a 100644
--- a/cesar/mac/sar/test/utest/host/override/ce/rx/src/rx.c
+++ b/cesar/mac/sar/test/utest/host/override/ce/rx/src/rx.c
@@ -15,6 +15,7 @@
*/
#include "common/std.h"
#include "ce/rx/rx.h"
+#include <string.h>
static ce_rx_t ce_global;
@@ -22,6 +23,7 @@ ce_rx_t *
ce_rx_init (mac_store_t *mac_store, sar_t *sar, pbproc_t *pbproc,
mac_config_t *mac_config)
{
+ memset (&ce_global, 0, sizeof (ce_rx_t));
return &ce_global;
}
@@ -38,7 +40,7 @@ ce_measurements (void *data, pbproc_rx_params_t *rx_params,
ce_rx_t *ce = (ce_rx_t*) data;
if (chan_data)
blk_release_desc_range_nb ((blk_t*) chan_data, chan_data_count);
- ce->ber_sum = ber_sum;
- ce->total_pb_count = total_pb_count;
- ce->false_pb_count = false_pb_count;
+ ce->ber_sum += ber_sum;
+ ce->total_pb_count += total_pb_count;
+ ce->false_pb_count += false_pb_count;
}
diff --git a/cesar/mac/sar/test/utest/host/src/crc_error.c b/cesar/mac/sar/test/utest/host/src/crc_error.c
index f266c7c249..7fbb820a0d 100644
--- a/cesar/mac/sar/test/utest/host/src/crc_error.c
+++ b/cesar/mac/sar/test/utest/host/src/crc_error.c
@@ -43,14 +43,19 @@ test_case_crc_error (test_t test)
sar_test_create_mpdu (&rx, 3, 0, 1, 2, true);
for (pb = rx.rx.pb_first; pb; pb = pb->next)
pb->phy_pb.pb_rx.pb_measurement.ber = 10;
- t.sar->stats.rx_pb_count = 0;
- t.sar->stats.rx_pb_crc_error_count = 0;
sar_rx_mpdu_process (t.sar, &rx);
/* The MFS should not be created. */
test_fail_unless (rx.rx.mfs == NULL);
- test_fail_if (t.sar->stats.rx_pb_count != rx.rx.pb_nb);
- test_fail_if (t.sar->stats.rx_pb_crc_error_count != rx.rx.pb_nb);
- test_fail_if (t.sar->stats.ber_sum == 4 * 10);
+ test_fail_if (t.ce->total_pb_count != rx.rx.pb_nb);
+ test_fail_if (t.ce->false_pb_count != rx.rx.pb_nb);
+ test_fail_if (t.ce->ber_sum == 4 * 10);
+#if CONFIG_STATS
+ test_fail_unless (t.sar->stats.rx_pb_count
+ == t.ce->total_pb_count);
+ test_fail_unless (t.sar->stats.rx_pb_crc_error_count
+ == t.ce->false_pb_count);
+ test_fail_unless (t.sar->stats.ber_sum == t.ce->ber_sum);
+#endif
sar_test_uninit (&t);
}
test_end;
@@ -67,8 +72,6 @@ test_case_crc_error (test_t test)
sar_test_init (&ctx, INVALID_PTR, INVALID_PTR);
sar_test_mpdu_default_fill (&rx, 1, 1);
rx.rx.pb_nb = 3;
- ctx.sar->stats.rx_pb_count = 0;
- ctx.sar->stats.rx_pb_crc_error_count = 0;
sar_test_create_pb_list (&rx.rx.pb_first,
&rx.rx.pb_last,
rx.rx.pb_nb,
@@ -90,10 +93,17 @@ test_case_crc_error (test_t test)
first;
first = first->next, ssn ++)
test_fail_unless (first->header.ssn == ssn);
- test_fail_if (ctx.sar->stats.rx_pb_count != 6);
- test_fail_if (ctx.sar->stats.rx_pb_crc_error_count != 3);
- test_fail_unless (ctx.sar->stats.ber_sum == 3 * 20);
+ test_fail_if (ctx.ce->total_pb_count != 6);
+ test_fail_if (ctx.ce->false_pb_count != 3);
+ test_fail_unless (ctx.ce->ber_sum == 3 * 20);
+#if CONFIG_STATS
+ test_fail_unless (ctx.sar->stats.rx_pb_count
+ == ctx.ce->total_pb_count);
+ test_fail_unless (ctx.sar->stats.rx_pb_crc_error_count
+ == ctx.ce->false_pb_count);
+ test_fail_unless (ctx.sar->stats.ber_sum == ctx.ce->ber_sum);
+#endif
/* Release the MFS. */
blk_release (rx.rx.mfs);
sar_cleanup (ctx.sar);
diff --git a/cesar/mac/sar/test/utest/host/src/reassembly_measurement.c b/cesar/mac/sar/test/utest/host/src/reassembly_measurement.c
index 279366be97..8009e39f02 100644
--- a/cesar/mac/sar/test/utest/host/src/reassembly_measurement.c
+++ b/cesar/mac/sar/test/utest/host/src/reassembly_measurement.c
@@ -26,6 +26,9 @@ test_ce_measures (test_t test, sar_test_t *t, bool crc_error, bool encrypted)
test_within (test);
for (ssn = 0; ssn < 3*nb_eth_frames; ssn += 3)
{
+ t->ce->total_pb_count = 0;
+ t->ce->false_pb_count = 0;
+ t->ce->ber_sum = 0;
pbproc_rx_desc_t *desc = (pbproc_rx_desc_t *) blk_alloc_desc ();
sar_mpdu_t *mpdu = PARENT_OF (sar_mpdu_t, rx, desc->rx);
sar_test_mpdu_default_fill (mpdu, 1, 1);
diff --git a/cesar/mac/sar/test/utest/host/src/stats.c b/cesar/mac/sar/test/utest/host/src/stats.c
index 5ef73b43f8..ddae276031 100644
--- a/cesar/mac/sar/test/utest/host/src/stats.c
+++ b/cesar/mac/sar/test/utest/host/src/stats.c
@@ -475,10 +475,18 @@ test_sar_stats_rx_do (test_t test, bool bcast)
sar_stats_t sar_stats;
sar_test_sar_stats_compute (pb_final_first, &sar_stats);
test_fail_unless (sar_stats.rx_pb_count
+ == t.ce->total_pb_count);
+ test_fail_unless (sar_stats.rx_pb_crc_error_count
+ == t.ce->false_pb_count);
+ test_fail_unless (sar_stats.ber_sum == t.ce->ber_sum);
+
+#if CONFIG_STATS
+ test_fail_unless (sar_stats.rx_pb_count
== t.sar->stats.rx_pb_count);
test_fail_unless (sar_stats.rx_pb_crc_error_count
== t.sar->stats.rx_pb_crc_error_count);
test_fail_unless (sar_stats.ber_sum == t.sar->stats.ber_sum);
+#endif
}
test_end;
blk_release_desc_range ((blk_t*) pb_final_first,