[PATCH] libosmocore[master]: bitrev_test: don't omit last byte from test result check

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Wed Sep 21 21:23:37 UTC 2016


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/865

to look at the new patch set (#2).

bitrev_test: don't omit last byte from test result check

The osmo_hexdump of the output in sh_chk() omitted the last byte of the
returned bytes from the osmo_nibble_shift_*() functions.

Determine the number of bytes from nibbles divided by two plus one for any odd
nibble number. Output this number of bytes of output data.

Memset the output buffer to get well-defined bytes for unwritten places.

Also assert that we have enough buffer length for all nibbles.

Change-Id: I011f42bca555caec0dfe8688ff1f28303fa04fad
---
M tests/bits/bitrev_test.c
M tests/bits/bitrev_test.ok
2 files changed, 28 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/65/865/2

diff --git a/tests/bits/bitrev_test.c b/tests/bits/bitrev_test.c
index b96241c..ed3939a 100644
--- a/tests/bits/bitrev_test.c
+++ b/tests/bits/bitrev_test.c
@@ -208,6 +208,9 @@
 static void sh_chk(const uint8_t *in, uint8_t len, unsigned int nib, bool r)
 {
 	uint8_t x[len];
+	int bytes = nib/2 + (nib & 1);
+	OSMO_ASSERT(len >= bytes);
+	memset(x, 0xcc, len);
 	if (r)
 		osmo_nibble_shift_right(x, in, nib);
 	else
@@ -217,7 +220,7 @@
 	       osmo_hexdump_nospc(in, len), nib);
 	/* do NOT combine those printfs: osmo_hexdump* use static buffer which
 	   WILL screw things up in that case */
-	printf("\n     OUT: %s\n", osmo_hexdump_nospc(x, nib/2));
+	printf("\n     OUT: %s\n", osmo_hexdump_nospc(x, bytes));
 }
 
 int main(int argc, char **argv)
diff --git a/tests/bits/bitrev_test.ok b/tests/bits/bitrev_test.ok
index e6f52af..d2fb12c 100644
--- a/tests/bits/bitrev_test.ok
+++ b/tests/bits/bitrev_test.ok
@@ -63,13 +63,13 @@
 [6] L IN: b00bbabeface, nibble 0:
      OUT: 
 [8] R IN: f00dcafedeadbeef, nibble 1:
-     OUT: 
+     OUT: cc
 [8] L IN: f00dcafedeadbeef, nibble 1:
-     OUT: 
+     OUT: cc
 [6] R IN: b00bbabeface, nibble 1:
-     OUT: 
+     OUT: cc
 [6] L IN: b00bbabeface, nibble 1:
-     OUT: 
+     OUT: cc
 [8] R IN: f00dcafedeadbeef, nibble 2:
      OUT: 0f
 [8] L IN: f00dcafedeadbeef, nibble 2:
@@ -79,13 +79,13 @@
 [6] L IN: b00bbabeface, nibble 2:
      OUT: 00
 [8] R IN: f00dcafedeadbeef, nibble 3:
-     OUT: 0f
+     OUT: 0f00
 [8] L IN: f00dcafedeadbeef, nibble 3:
-     OUT: 00
+     OUT: 00d0
 [6] R IN: b00bbabeface, nibble 3:
-     OUT: 0b
+     OUT: 0b00
 [6] L IN: b00bbabeface, nibble 3:
-     OUT: 00
+     OUT: 00b0
 [8] R IN: f00dcafedeadbeef, nibble 4:
      OUT: 0f00
 [8] L IN: f00dcafedeadbeef, nibble 4:
@@ -95,13 +95,13 @@
 [6] L IN: b00bbabeface, nibble 4:
      OUT: 00bb
 [8] R IN: f00dcafedeadbeef, nibble 5:
-     OUT: 0f00
+     OUT: 0f00dc
 [8] L IN: f00dcafedeadbeef, nibble 5:
-     OUT: 00dc
+     OUT: 00dca0
 [6] R IN: b00bbabeface, nibble 5:
-     OUT: 0b00
+     OUT: 0b00bb
 [6] L IN: b00bbabeface, nibble 5:
-     OUT: 00bb
+     OUT: 00bba0
 [8] R IN: f00dcafedeadbeef, nibble 6:
      OUT: 0f00dc
 [8] L IN: f00dcafedeadbeef, nibble 6:
@@ -111,13 +111,13 @@
 [6] L IN: b00bbabeface, nibble 6:
      OUT: 00bbab
 [8] R IN: f00dcafedeadbeef, nibble 7:
-     OUT: 0f00dc
+     OUT: 0f00dcaf
 [8] L IN: f00dcafedeadbeef, nibble 7:
-     OUT: 00dcaf
+     OUT: 00dcafe0
 [6] R IN: b00bbabeface, nibble 7:
-     OUT: 0b00bb
+     OUT: 0b00bbab
 [6] L IN: b00bbabeface, nibble 7:
-     OUT: 00bbab
+     OUT: 00bbabe0
 [8] R IN: f00dcafedeadbeef, nibble 8:
      OUT: 0f00dcaf
 [8] L IN: f00dcafedeadbeef, nibble 8:
@@ -127,13 +127,13 @@
 [6] L IN: b00bbabeface, nibble 8:
      OUT: 00bbabef
 [8] R IN: f00dcafedeadbeef, nibble 9:
-     OUT: 0f00dcaf
+     OUT: 0f00dcafed
 [8] L IN: f00dcafedeadbeef, nibble 9:
-     OUT: 00dcafed
+     OUT: 00dcafede0
 [6] R IN: b00bbabeface, nibble 9:
-     OUT: 0b00bbab
+     OUT: 0b00bbabef
 [6] L IN: b00bbabeface, nibble 9:
-     OUT: 00bbabef
+     OUT: 00bbabefa0
 [8] R IN: f00dcafedeadbeef, nibble 10:
      OUT: 0f00dcafed
 [8] L IN: f00dcafedeadbeef, nibble 10:
@@ -143,13 +143,13 @@
 [6] L IN: b00bbabeface, nibble 10:
      OUT: 00bbabefac
 [8] R IN: f00dcafedeadbeef, nibble 11:
-     OUT: 0f00dcafed
+     OUT: 0f00dcafedea
 [8] L IN: f00dcafedeadbeef, nibble 11:
-     OUT: 00dcafedea
+     OUT: 00dcafedead0
 [6] R IN: b00bbabeface, nibble 11:
-     OUT: 0b00bbabef
+     OUT: 0b00bbabefac
 [6] L IN: b00bbabeface, nibble 11:
-     OUT: 00bbabefac
+     OUT: 00bbabeface0
 [8] R IN: f00dcafedeadbeef, nibble 12:
      OUT: 0f00dcafedea
 [8] L IN: f00dcafedeadbeef, nibble 12:

-- 
To view, visit https://gerrit.osmocom.org/865
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I011f42bca555caec0dfe8688ff1f28303fa04fad
Gerrit-PatchSet: 2
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list