laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-e1d/+/31088 )
Change subject: Increasing max FIFO size for feature request 5875, adapting tests
......................................................................
Increasing max FIFO size for feature request 5875, adapting tests
Change-Id: Iae76d87cf436c80c005a2f8fce5a30f74f7e4545
---
M src/octoi/frame_fifo.h
M tests/rifo/rifo_test.c
M tests/rifo/rifo_test.ok
3 files changed, 130 insertions(+), 117 deletions(-)
Approvals:
Jenkins Builder: Verified
tnt: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/src/octoi/frame_fifo.h b/src/octoi/frame_fifo.h
index ee9f079..c601b07 100644
--- a/src/octoi/frame_fifo.h
+++ b/src/octoi/frame_fifo.h
@@ -4,7 +4,7 @@
#include <stddef.h>
#define BYTES_PER_FRAME 32
-#define FRAMES_PER_FIFO 800
+#define FRAMES_PER_FIFO 1792
struct frame_fifo {
uint8_t *next_in; /* where to write next input into FIFO */
diff --git a/tests/rifo/rifo_test.c b/tests/rifo/rifo_test.c
index 4e7ae45..ec90ce7 100644
--- a/tests/rifo/rifo_test.c
+++ b/tests/rifo/rifo_test.c
@@ -11,6 +11,16 @@
static void *g_e1d_ctx;
static uint32_t init_next_out_fn;
+#define FN_ABS_TO_REL(fn) ((int) (((int64_t) (fn)) - ((int64_t) init_next_out_fn)))
+#define ABS_DECISION(depth) (((long long int) ((depth))) <= \
+ ((long long int) (FRAMES_PER_FIFO / 2)))
+#define DEPTH_ABS_TO_REL(depth) ((ABS_DECISION((depth))) ? ((int) (depth)) : \
+ (((int) (depth)) - (FRAMES_PER_FIFO - 1)))
+#define ABS_DEPTH_STR(depth) ((ABS_DECISION((depth))) ? ("") : \
+ ("FRAMES_PER_FIFO - 1 + "))
+#define ABS_DEPTH_PRINT(depth) ABS_DEPTH_STR((depth)), DEPTH_ABS_TO_REL((depth))
+#define FN_PRINT(fn) ABS_DEPTH_PRINT(FN_ABS_TO_REL((fn)))
+
static void rifo_init(struct frame_rifo *rifo)
{
frame_rifo_init(rifo);
@@ -21,9 +31,10 @@
static void rifo_in(struct frame_rifo *rifo, uint8_t *frame, uint32_t fn)
{
int rc = frame_rifo_in(rifo, frame, fn);
- printf("RIFO_IN(%s, %u)=%d [depth=%u, frames=%u]\n",
- osmo_hexdump_nospc(frame, BYTES_PER_FRAME), fn, rc,
- frame_rifo_depth(rifo), frame_rifo_frames(rifo));
+ unsigned int depth = frame_rifo_depth(rifo);
+ printf("RIFO_IN(%s, start fn + %s%d)=%d [depth=%s%d, frames=%u]\n",
+ osmo_hexdump_nospc(frame, BYTES_PER_FRAME), FN_PRINT(fn), rc,
+ ABS_DEPTH_PRINT(depth), frame_rifo_frames(rifo));
}
static int rifo_out(struct frame_rifo *rifo, uint8_t *out)
@@ -108,17 +119,18 @@
printf("\nTEST: %s, starting at FN: %u\n", __func__, init_next_out_fn);
- // Put 10 frames at absolute frame numbers 850-860
- // (to get outside of the 800 frame buffer)
+ // Put 10 frames at absolute frame numbers FRAMES_PER_FIFO+50
+ // to FRAMES_PER_FIFO+60 (to get outside of the
+ // FRAMES_PER_FIFO frame buffer)
const uint8_t in[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 0; i < sizeof(in); i++) {
uint8_t frame[32];
memset(frame, in[i], sizeof(frame));
- rifo_in(&rifo, frame, init_next_out_fn + in[i] + 850);
+ rifo_in(&rifo, frame, init_next_out_fn + in[i] + FRAMES_PER_FIFO + 50);
}
- // Skip the first 850 frames
- for (int i = 0; i < 850; i++) {
+ // Skip the first FRAMES_PER_FIFO + 50 frames
+ for (int i = 0; i < FRAMES_PER_FIFO + 50; i++) {
uint8_t frame[32];
memset(frame, 0xff, sizeof(frame));
// Note: frame_rifo_out instead of rifo_out
@@ -147,19 +159,20 @@
frame_rifo_in(&rifo, frame, init_next_out_fn);
frame_rifo_out(&rifo, frame);
- // Put 11 frames at absolute frame numbers 791-801
+ // Put 11 frames at absolute frame numbers FRAMES_PER_FIFO -
+ // 10 + 1 to FRAMES_PER_FIFO + 1
const uint8_t in[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i = 0; i < sizeof(in); i++) {
memset(frame, in[i], sizeof(frame));
- rifo_in(&rifo, frame, init_next_out_fn + in[i] + 791);
+ rifo_in(&rifo, frame, init_next_out_fn + in[i] + FRAMES_PER_FIFO - 10 + 1);
}
// Add frame at start offset
memset(frame, 0xa5, sizeof(frame));
rifo_in(&rifo, frame, init_next_out_fn);
- // Skip the first 790 frames
- for (int i = 0; i < 790; i++) {
+ // Skip the first FRAMES_PER_FIFO - 10 frames
+ for (int i = 0; i < FRAMES_PER_FIFO - 10; i++) {
memset(frame, 0xff, sizeof(frame));
// Note: frame_rifo_out instead of rifo_out
// (just to ignore the output)
diff --git a/tests/rifo/rifo_test.ok b/tests/rifo/rifo_test.ok
index f705315..564acf3 100644
--- a/tests/rifo/rifo_test.ok
+++ b/tests/rifo/rifo_test.ok
@@ -1,10 +1,10 @@
TEST: missing_frames, starting at FN: 0
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 0)=0 [depth=1,
frames=1]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 2)=0 [depth=3,
frames=2]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4)=0 [depth=5,
frames=3]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 6)=0 [depth=7,
frames=4]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 8)=0 [depth=9,
frames=5]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0
[depth=1, frames=1]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0
[depth=3, frames=2]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0
[depth=5, frames=3]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0
[depth=7, frames=4]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0
[depth=9, frames=5]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=8,
frames=4]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7,
frames=4]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=6,
frames=3]
@@ -17,11 +17,11 @@
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
TEST: missing_frames, starting at FN: 0
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 1)=0 [depth=2,
frames=1]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 3)=0 [depth=4,
frames=2]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 5)=0 [depth=6,
frames=3]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 7)=0 [depth=8,
frames=4]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 9)=0 [depth=10,
frames=5]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0
[depth=2, frames=1]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0
[depth=4, frames=2]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0
[depth=6, frames=3]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0
[depth=8, frames=4]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0
[depth=10, frames=5]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=9,
frames=5]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=4]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7,
frames=4]
@@ -34,16 +34,16 @@
RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0,
frames=0]
TEST: reordered_in, starting at FN: 0
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 0)=0 [depth=1,
frames=1]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 1)=0 [depth=2,
frames=2]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4)=0 [depth=5,
frames=3]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 3)=0 [depth=4,
frames=4]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 5)=0 [depth=6,
frames=5]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 2)=0 [depth=3,
frames=6]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 6)=0 [depth=7,
frames=7]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 7)=0 [depth=8,
frames=8]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 8)=0 [depth=9,
frames=9]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 9)=0 [depth=10,
frames=10]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0
[depth=1, frames=1]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0
[depth=2, frames=2]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0
[depth=5, frames=3]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0
[depth=4, frames=4]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0
[depth=6, frames=5]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0
[depth=3, frames=6]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0
[depth=7, frames=7]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0
[depth=8, frames=8]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0
[depth=9, frames=9]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0
[depth=10, frames=10]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9,
frames=9]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=8]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7,
frames=7]
@@ -56,16 +56,16 @@
RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0,
frames=0]
TEST: correct_order, starting at FN: 0
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 0)=0 [depth=1,
frames=1]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 1)=0 [depth=2,
frames=2]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 2)=0 [depth=3,
frames=3]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 3)=0 [depth=4,
frames=4]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4)=0 [depth=5,
frames=5]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 5)=0 [depth=6,
frames=6]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 6)=0 [depth=7,
frames=7]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 7)=0 [depth=8,
frames=8]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 8)=0 [depth=9,
frames=9]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 9)=0 [depth=10,
frames=10]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0
[depth=1, frames=1]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0
[depth=2, frames=2]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0
[depth=3, frames=3]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0
[depth=4, frames=4]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0
[depth=5, frames=5]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0
[depth=6, frames=6]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0
[depth=7, frames=7]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0
[depth=8, frames=8]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0
[depth=9, frames=9]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0
[depth=10, frames=10]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9,
frames=9]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=8]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7,
frames=7]
@@ -78,16 +78,16 @@
RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0,
frames=0]
TEST: too_old_frames, starting at FN: 0
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 850)=-34
[depth=0, frames=0]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 851)=-34
[depth=0, frames=0]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 852)=-34
[depth=0, frames=0]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 853)=-34
[depth=0, frames=0]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 854)=-34
[depth=0, frames=0]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 855)=-34
[depth=0, frames=0]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 856)=-34
[depth=0, frames=0]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 857)=-34
[depth=0, frames=0]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 858)=-34
[depth=0, frames=0]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 859)=-34
[depth=0, frames=0]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn +
FRAMES_PER_FIFO - 1 + 51)=-34 [depth=0, frames=0]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn +
FRAMES_PER_FIFO - 1 + 52)=-34 [depth=0, frames=0]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn +
FRAMES_PER_FIFO - 1 + 53)=-34 [depth=0, frames=0]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn +
FRAMES_PER_FIFO - 1 + 54)=-34 [depth=0, frames=0]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn +
FRAMES_PER_FIFO - 1 + 55)=-34 [depth=0, frames=0]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn +
FRAMES_PER_FIFO - 1 + 56)=-34 [depth=0, frames=0]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn +
FRAMES_PER_FIFO - 1 + 57)=-34 [depth=0, frames=0]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn +
FRAMES_PER_FIFO - 1 + 58)=-34 [depth=0, frames=0]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn +
FRAMES_PER_FIFO - 1 + 59)=-34 [depth=0, frames=0]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn +
FRAMES_PER_FIFO - 1 + 60)=-34 [depth=0, frames=0]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
@@ -100,18 +100,18 @@
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
TEST: bound_check, starting at FN: 0
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 791)=0
[depth=791, frames=1]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 792)=0
[depth=792, frames=2]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 793)=0
[depth=793, frames=3]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 794)=0
[depth=794, frames=4]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 795)=0
[depth=795, frames=5]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 796)=0
[depth=796, frames=6]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 797)=0
[depth=797, frames=7]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 798)=0
[depth=798, frames=8]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 799)=0
[depth=799, frames=9]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 800)=0
[depth=800, frames=10]
-RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, 801)=-34
[depth=800, frames=10]
-RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, 0)=-34
[depth=800, frames=10]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn +
FRAMES_PER_FIFO - 1 + -8)=0 [depth=FRAMES_PER_FIFO - 1 + -8, frames=1]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn +
FRAMES_PER_FIFO - 1 + -7)=0 [depth=FRAMES_PER_FIFO - 1 + -7, frames=2]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn +
FRAMES_PER_FIFO - 1 + -6)=0 [depth=FRAMES_PER_FIFO - 1 + -6, frames=3]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn +
FRAMES_PER_FIFO - 1 + -5)=0 [depth=FRAMES_PER_FIFO - 1 + -5, frames=4]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn +
FRAMES_PER_FIFO - 1 + -4)=0 [depth=FRAMES_PER_FIFO - 1 + -4, frames=5]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn +
FRAMES_PER_FIFO - 1 + -3)=0 [depth=FRAMES_PER_FIFO - 1 + -3, frames=6]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn +
FRAMES_PER_FIFO - 1 + -2)=0 [depth=FRAMES_PER_FIFO - 1 + -2, frames=7]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn +
FRAMES_PER_FIFO - 1 + -1)=0 [depth=FRAMES_PER_FIFO - 1 + -1, frames=8]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn +
FRAMES_PER_FIFO - 1 + 0)=0 [depth=FRAMES_PER_FIFO - 1 + 0, frames=9]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn +
FRAMES_PER_FIFO - 1 + 1)=0 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10]
+RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, start fn +
FRAMES_PER_FIFO - 1 + 2)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10]
+RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, start fn +
0)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9,
frames=9]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=8]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7,
frames=7]
@@ -124,11 +124,11 @@
RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0,
frames=0]
TEST: missing_frames, starting at FN: 4294967290
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 4294967290)=0
[depth=1, frames=1]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 4294967292)=0
[depth=3, frames=2]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4294967294)=0
[depth=5, frames=3]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 0)=0 [depth=7,
frames=4]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 2)=0 [depth=9,
frames=5]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0
[depth=1, frames=1]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0
[depth=3, frames=2]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0
[depth=5, frames=3]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0
[depth=7, frames=4]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0
[depth=9, frames=5]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=8,
frames=4]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7,
frames=4]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=6,
frames=3]
@@ -141,11 +141,11 @@
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
TEST: missing_frames, starting at FN: 4294967290
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 4294967291)=0
[depth=2, frames=1]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 4294967293)=0
[depth=4, frames=2]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 4294967295)=0
[depth=6, frames=3]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 1)=0 [depth=8,
frames=4]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 3)=0 [depth=10,
frames=5]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0
[depth=2, frames=1]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0
[depth=4, frames=2]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0
[depth=6, frames=3]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0
[depth=8, frames=4]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0
[depth=10, frames=5]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=9,
frames=5]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=4]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-1 [depth=7,
frames=4]
@@ -158,16 +158,16 @@
RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0,
frames=0]
TEST: reordered_in, starting at FN: 4294967290
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 4294967290)=0
[depth=1, frames=1]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 4294967291)=0
[depth=2, frames=2]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4294967294)=0
[depth=5, frames=3]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 4294967293)=0
[depth=4, frames=4]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 4294967295)=0
[depth=6, frames=5]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 4294967292)=0
[depth=3, frames=6]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 0)=0 [depth=7,
frames=7]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 1)=0 [depth=8,
frames=8]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 2)=0 [depth=9,
frames=9]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 3)=0 [depth=10,
frames=10]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0
[depth=1, frames=1]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0
[depth=2, frames=2]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0
[depth=5, frames=3]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0
[depth=4, frames=4]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0
[depth=6, frames=5]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0
[depth=3, frames=6]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0
[depth=7, frames=7]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0
[depth=8, frames=8]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0
[depth=9, frames=9]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0
[depth=10, frames=10]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9,
frames=9]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=8]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7,
frames=7]
@@ -180,16 +180,16 @@
RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0,
frames=0]
TEST: correct_order, starting at FN: 4294967290
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 4294967290)=0
[depth=1, frames=1]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 4294967291)=0
[depth=2, frames=2]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 4294967292)=0
[depth=3, frames=3]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 4294967293)=0
[depth=4, frames=4]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 4294967294)=0
[depth=5, frames=5]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 4294967295)=0
[depth=6, frames=6]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 0)=0 [depth=7,
frames=7]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 1)=0 [depth=8,
frames=8]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 2)=0 [depth=9,
frames=9]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 3)=0 [depth=10,
frames=10]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn + 0)=0
[depth=1, frames=1]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn + 1)=0
[depth=2, frames=2]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn + 2)=0
[depth=3, frames=3]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn + 3)=0
[depth=4, frames=4]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn + 4)=0
[depth=5, frames=5]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn + 5)=0
[depth=6, frames=6]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn + 6)=0
[depth=7, frames=7]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn + 7)=0
[depth=8, frames=8]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn + 8)=0
[depth=9, frames=9]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn + 9)=0
[depth=10, frames=10]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9,
frames=9]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=8]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7,
frames=7]
@@ -202,16 +202,16 @@
RIFO_OUT(0909090909090909090909090909090909090909090909090909090909090909)=0 [depth=0,
frames=0]
TEST: too_old_frames, starting at FN: 4294967290
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 844)=-34
[depth=0, frames=0]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 845)=-34
[depth=0, frames=0]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 846)=-34
[depth=0, frames=0]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 847)=-34
[depth=0, frames=0]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 848)=-34
[depth=0, frames=0]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 849)=-34
[depth=0, frames=0]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 850)=-34
[depth=0, frames=0]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 851)=-34
[depth=0, frames=0]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 852)=-34
[depth=0, frames=0]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 853)=-34
[depth=0, frames=0]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn +
FRAMES_PER_FIFO - 1 + 51)=-34 [depth=0, frames=0]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn +
FRAMES_PER_FIFO - 1 + 52)=-34 [depth=0, frames=0]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn +
FRAMES_PER_FIFO - 1 + 53)=-34 [depth=0, frames=0]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn +
FRAMES_PER_FIFO - 1 + 54)=-34 [depth=0, frames=0]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn +
FRAMES_PER_FIFO - 1 + 55)=-34 [depth=0, frames=0]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn +
FRAMES_PER_FIFO - 1 + 56)=-34 [depth=0, frames=0]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn +
FRAMES_PER_FIFO - 1 + 57)=-34 [depth=0, frames=0]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn +
FRAMES_PER_FIFO - 1 + 58)=-34 [depth=0, frames=0]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn +
FRAMES_PER_FIFO - 1 + 59)=-34 [depth=0, frames=0]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn +
FRAMES_PER_FIFO - 1 + 60)=-34 [depth=0, frames=0]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
@@ -224,18 +224,18 @@
RIFO_OUT(ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)=-2 [depth=0,
frames=0]
TEST: bound_check, starting at FN: 4294967290
-RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, 785)=0
[depth=791, frames=1]
-RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, 786)=0
[depth=792, frames=2]
-RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, 787)=0
[depth=793, frames=3]
-RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, 788)=0
[depth=794, frames=4]
-RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, 789)=0
[depth=795, frames=5]
-RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, 790)=0
[depth=796, frames=6]
-RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, 791)=0
[depth=797, frames=7]
-RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, 792)=0
[depth=798, frames=8]
-RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, 793)=0
[depth=799, frames=9]
-RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, 794)=0
[depth=800, frames=10]
-RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, 795)=-34
[depth=800, frames=10]
-RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, 4294967290)=-34
[depth=800, frames=10]
+RIFO_IN(0000000000000000000000000000000000000000000000000000000000000000, start fn +
FRAMES_PER_FIFO - 1 + -8)=0 [depth=FRAMES_PER_FIFO - 1 + -8, frames=1]
+RIFO_IN(0101010101010101010101010101010101010101010101010101010101010101, start fn +
FRAMES_PER_FIFO - 1 + -7)=0 [depth=FRAMES_PER_FIFO - 1 + -7, frames=2]
+RIFO_IN(0202020202020202020202020202020202020202020202020202020202020202, start fn +
FRAMES_PER_FIFO - 1 + -6)=0 [depth=FRAMES_PER_FIFO - 1 + -6, frames=3]
+RIFO_IN(0303030303030303030303030303030303030303030303030303030303030303, start fn +
FRAMES_PER_FIFO - 1 + -5)=0 [depth=FRAMES_PER_FIFO - 1 + -5, frames=4]
+RIFO_IN(0404040404040404040404040404040404040404040404040404040404040404, start fn +
FRAMES_PER_FIFO - 1 + -4)=0 [depth=FRAMES_PER_FIFO - 1 + -4, frames=5]
+RIFO_IN(0505050505050505050505050505050505050505050505050505050505050505, start fn +
FRAMES_PER_FIFO - 1 + -3)=0 [depth=FRAMES_PER_FIFO - 1 + -3, frames=6]
+RIFO_IN(0606060606060606060606060606060606060606060606060606060606060606, start fn +
FRAMES_PER_FIFO - 1 + -2)=0 [depth=FRAMES_PER_FIFO - 1 + -2, frames=7]
+RIFO_IN(0707070707070707070707070707070707070707070707070707070707070707, start fn +
FRAMES_PER_FIFO - 1 + -1)=0 [depth=FRAMES_PER_FIFO - 1 + -1, frames=8]
+RIFO_IN(0808080808080808080808080808080808080808080808080808080808080808, start fn +
FRAMES_PER_FIFO - 1 + 0)=0 [depth=FRAMES_PER_FIFO - 1 + 0, frames=9]
+RIFO_IN(0909090909090909090909090909090909090909090909090909090909090909, start fn +
FRAMES_PER_FIFO - 1 + 1)=0 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10]
+RIFO_IN(0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a, start fn +
FRAMES_PER_FIFO - 1 + 2)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10]
+RIFO_IN(a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5, start fn +
0)=-34 [depth=FRAMES_PER_FIFO - 1 + 1, frames=10]
RIFO_OUT(0000000000000000000000000000000000000000000000000000000000000000)=0 [depth=9,
frames=9]
RIFO_OUT(0101010101010101010101010101010101010101010101010101010101010101)=0 [depth=8,
frames=8]
RIFO_OUT(0202020202020202020202020202020202020202020202020202020202020202)=0 [depth=7,
frames=7]
--
To view, visit
https://gerrit.osmocom.org/c/osmo-e1d/+/31088
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-e1d
Gerrit-Branch: master
Gerrit-Change-Id: Iae76d87cf436c80c005a2f8fce5a30f74f7e4545
Gerrit-Change-Number: 31088
Gerrit-PatchSet: 1
Gerrit-Owner: cquirin <christoph.lauter(a)christoph-lauter.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: cquirin <christoph.lauter(a)christoph-lauter.org>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: manawyrm <osmocom.account(a)tbspace.de>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-MessageType: merged