echo_assert_test_suceeded (echo_main_t * em)
{
if (em->rx_results_diff)
- CHECK_DIFF (ECHO_FAIL_TEST_ASSERT_RX_TOTAL,
- em->n_clients * em->bytes_to_receive, em->stats.rx_total,
- "Invalid amount of data received");
+ CHECK_DIFF (ECHO_FAIL_TEST_ASSERT_RX_TOTAL, em->stats.rx_expected,
+ em->stats.rx_total, "Invalid amount of data received");
else
- CHECK_SAME (ECHO_FAIL_TEST_ASSERT_RX_TOTAL,
- em->n_clients * em->bytes_to_receive, em->stats.rx_total,
- "Invalid amount of data received");
+ CHECK_SAME (ECHO_FAIL_TEST_ASSERT_RX_TOTAL, em->stats.rx_expected,
+ em->stats.rx_total, "Invalid amount of data received");
if (em->tx_results_diff)
- CHECK_DIFF (ECHO_FAIL_TEST_ASSERT_TX_TOTAL,
- em->n_clients * em->bytes_to_send, em->stats.tx_total,
- "Invalid amount of data sent");
+ CHECK_DIFF (ECHO_FAIL_TEST_ASSERT_TX_TOTAL, em->stats.tx_expected,
+ em->stats.tx_total, "Invalid amount of data sent");
else
- CHECK_SAME (ECHO_FAIL_TEST_ASSERT_TX_TOTAL,
- em->n_clients * em->bytes_to_send, em->stats.tx_total,
- "Invalid amount of data sent");
+ CHECK_SAME (ECHO_FAIL_TEST_ASSERT_TX_TOTAL, em->stats.tx_expected,
+ em->stats.tx_total, "Invalid amount of data sent");
clib_spinlock_lock (&em->sid_vpp_handles_lock);
CHECK_SAME (ECHO_FAIL_TEST_ASSERT_ALL_SESSIONS_CLOSED,
clib_atomic_fetch_add (&em->stats.tx_total, s->bytes_sent);
clib_atomic_fetch_add (&em->stats.rx_total, s->bytes_received);
- if (PREDICT_FALSE (em->stats.rx_total ==
- em->n_clients * em->bytes_to_receive))
+ if (PREDICT_FALSE (em->stats.rx_total == em->stats.rx_expected))
echo_notify_event (em, ECHO_EVT_LAST_BYTE);
}
if (em->proto_cb_vft->set_defaults_after_opts_cb)
em->proto_cb_vft->set_defaults_after_opts_cb ();
+ em->stats.rx_expected = em->bytes_to_receive * em->n_clients;
+ em->stats.tx_expected = em->bytes_to_send * em->n_clients;
+
vec_validate (em->data_thread_handles, em->n_rx_threads);
vec_validate (em->data_thread_args, em->n_clients);
for (i = 0; i < em->n_clients; i++)
#define CHECK_SAME(fail, expected, result, _fmt, _args...) \
do { \
if ((expected) != (result)) \
- ECHO_FAIL ((fail), "expected same (%d, got %d) : "_fmt, \
- (expected), (result), ##_args); \
+ ECHO_FAIL ((fail), "expected same (%lld, got %lld) : "_fmt, \
+ (u64)(expected), (u64)(result), ##_args); \
} while (0)
#define CHECK_DIFF(fail, expected, result, _fmt, _args...) \
do { \
if ((expected) == (result)) \
- ECHO_FAIL ((fail), "expected different (both %d) : "_fmt, \
- (expected), ##_args); \
+ ECHO_FAIL ((fail), "expected different (both %lld) : "_fmt, \
+ (u64)(expected), ##_args); \
} while (0)
#define ECHO_FAIL(fail, _fmt, _args...) \
echo_main_t *em = &echo_main; \
em->has_failed = (fail); \
if (vec_len(em->fail_descr)) \
- em->fail_descr = format(em->fail_descr, " | %s (%d): "_fmt, \
+ em->fail_descr = format(em->fail_descr, " | %s (%u): "_fmt, \
echo_fail_code_str[fail], fail, ##_args); \
else \
- em->fail_descr = format(0, "%s (%d): "_fmt, \
+ em->fail_descr = format(0, "%s (%u): "_fmt, \
echo_fail_code_str[fail], fail, ##_args); \
em->time_to_stop = 1; \
if (em->log_lvl > 0) \
{
u64 tx_total;
u64 rx_total;
+ u64 tx_expected;
+ u64 rx_expected;
teardown_stat_t reset_count; /* received reset from vpp */
teardown_stat_t close_count; /* received close from vpp */
teardown_stat_t active_count; /* sent close to vpp */