]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-replay: Add unit test for Ser
authorAdam Crume <adamcrume@gmail.com>
Tue, 19 Aug 2014 20:45:09 +0000 (13:45 -0700)
committerSage Weil <sage@redhat.com>
Thu, 21 Aug 2014 17:57:35 +0000 (10:57 -0700)
Signed-off-by: Adam Crume <adamcrume@gmail.com>
src/test/test_rbd_replay.cc

index 4d1fe727c5f7451aabe02bbd0a57097b378687e3..d05074af231b34c5f5c1df90f5f73868648163a7 100644 (file)
@@ -19,6 +19,7 @@
 #include "rbd_replay/Deser.hpp"
 #include "rbd_replay/ImageNameMap.hpp"
 #include "rbd_replay/rbd_loc.hpp"
+#include "rbd_replay/Ser.hpp"
 
 
 using rbd_replay::ImageNameMap;
@@ -36,6 +37,23 @@ static void add_mapping(ImageNameMap *map, std::string mapping_string) {
   map->add_mapping(mapping);
 }
 
+TEST(RBDReplay, Ser) {
+  std::ostringstream oss;
+  rbd_replay::Ser ser(oss);
+  ser.write_uint32_t(0x01020304u);
+  ser.write_string("hello");
+  ser.write_bool(true);
+  ser.write_bool(false);
+  std::string s(oss.str());
+  const char* data = s.data();
+  size_t size = s.size();
+  ASSERT_EQ(15, size);
+  const char expected_data[] = {1, 2, 3, 4, 0, 0, 0, 5, 'h', 'e', 'l', 'l', 'o', 1, 0};
+  for (size_t i = 0; i < size; i++) {
+    EXPECT_EQ(expected_data[i], data[i]);
+  }
+}
+
 TEST(RBDReplay, Deser) {
   const char data[] = {1, 2, 3, 4, 0, 0, 0, 5, 'h', 'e', 'l', 'l', 'o', 1, 0};
   const std::string s(data, sizeof(data));