From 9525567d7725b4808421dc7dda26e550111214f3 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sat, 23 Nov 2013 16:18:18 +0100 Subject: [PATCH] rlc: Create a basic test that mark/is is talking about the same --- src/rlc.h | 8 +++++++- tests/types/TypesTest.cpp | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/rlc.h b/src/rlc.h index 5d0cd22e..e75a0781 100644 --- a/src/rlc.h +++ b/src/rlc.h @@ -44,10 +44,11 @@ struct gprs_rlc { }; struct gprs_rlc_v_b { + bool is_unacked(int index) const; bool is_nacked(int index) const; bool is_acked(int index) const; - bool is_unacked(int index) const; bool is_resend(int index) const; + bool is_invalid(int index) const; char state(int index) const; @@ -136,6 +137,11 @@ inline bool gprs_rlc_v_b::is_resend(int index) const return is_state(index, 'X'); } +inline bool gprs_rlc_v_b::is_invalid(int index) const +{ + return is_state(index, 'I'); +} + inline void gprs_rlc_v_b::mark_resend(int index) { return mark(index, 'X'); diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 727f148c..517f8ea3 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -89,11 +89,38 @@ static void test_rlc() } } +static void test_rlc_v_b() +{ + { + gprs_rlc_v_b vb; + vb.reset(); + + for (size_t i = 0; i < RLC_MAX_SNS/2; ++i) + OSMO_ASSERT(vb.is_invalid(i)); + + vb.mark_unacked(23); + OSMO_ASSERT(vb.is_unacked(23)); + + vb.mark_nacked(23); + OSMO_ASSERT(vb.is_nacked(23)); + + vb.mark_acked(23); + OSMO_ASSERT(vb.is_acked(23)); + + vb.mark_resend(23); + OSMO_ASSERT(vb.is_resend(23)); + + vb.mark_invalid(23); + OSMO_ASSERT(vb.is_invalid(23)); + } +} + int main(int argc, char **argv) { printf("Making some basic type testing.\n"); test_llc(); test_rlc(); + test_rlc_v_b(); return EXIT_SUCCESS; }