Add a helper for comparing byte strings.
We compare pointer/length pairs constantly. To avoid needing to type it
everywhere and get GTest's output, add a StringPiece-alike for byte
slices which supports ==, !=, and std::ostream.
BUG=129
Change-Id: I108342cbd2c6a58fec0b9cb87ebdf50364bda099
Reviewed-on: https://boringssl-review.googlesource.com/13625
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/crypto/test/test_util.cc b/crypto/test/test_util.cc
index 928972a..493b124 100644
--- a/crypto/test/test_util.cc
+++ b/crypto/test/test_util.cc
@@ -12,11 +12,12 @@
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
-#include <stdint.h>
-#include <stdio.h>
-
#include "test_util.h"
+#include <ostream>
+
+#include "../internal.h"
+
void hexdump(FILE *fp, const char *msg, const void *in, size_t len) {
const uint8_t *data = reinterpret_cast<const uint8_t*>(in);
@@ -27,3 +28,13 @@
}
fputs("\n", fp);
}
+
+std::ostream &operator<<(std::ostream &os, const Bytes &in) {
+ // Print a byte slice as hex.
+ static const char hex[] = "0123456789abcdef";
+ for (size_t i = 0; i < in.len; i++) {
+ os << hex[in.data[i] >> 4];
+ os << hex[in.data[i] & 0xf];
+ }
+ return os;
+}