From 17c29957409f365a327c3b34e08c0e5de7d4e16a Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 11 Jul 2013 19:06:47 -0700 Subject: [PATCH] mon: add encoding tests for MonitorDBStore data types Signed-off-by: Sage Weil --- src/mon/MonitorDBStore.h | 24 ++++++++++++++++++++++++ src/test/encoding/types.h | 4 ++++ 2 files changed, 28 insertions(+) diff --git a/src/mon/MonitorDBStore.h b/src/mon/MonitorDBStore.h index 60a648de19b1b..276620f75164d 100644 --- a/src/mon/MonitorDBStore.h +++ b/src/mon/MonitorDBStore.h @@ -69,6 +69,19 @@ class MonitorDBStore ::decode(endkey, decode_bl); DECODE_FINISH(decode_bl); } + + void dump(Formatter *f) const { + f->dump_int("type", type); + f->dump_string("prefix", prefix); + f->dump_string("key", key); + if (endkey.length()) + f->dump_string("endkey", endkey); + } + + static void generate_test_instances(list& ls) { + ls.push_back(new Op); + // we get coverage here from the Transaction instances + } }; struct Transaction { @@ -126,6 +139,17 @@ class MonitorDBStore DECODE_FINISH(bl); } + static void generate_test_instances(list& ls) { + ls.push_back(new Transaction); + ls.push_back(new Transaction); + bufferlist bl; + bl.append("value"); + ls.back()->put("prefix", "key", bl); + ls.back()->erase("prefix2", "key2"); + ls.back()->compact_prefix("prefix3"); + ls.back()->compact_range("prefix4", "from", "to"); + } + void append(Transaction& other) { ops.splice(ops.end(), other.ops); } diff --git a/src/test/encoding/types.h b/src/test/encoding/types.h index 142f732ab1641..7c927dc9734c9 100644 --- a/src/test/encoding/types.h +++ b/src/test/encoding/types.h @@ -79,6 +79,10 @@ TYPE(AuthMonitor::Incremental) TYPE(PGMap::Incremental) TYPE(PGMap) +#include "mon/MonitorDBStore.h" +TYPE(MonitorDBStore::Transaction) +TYPE(MonitorDBStore::Op) + #include "mon/MonMap.h" TYPE_FEATUREFUL(MonMap) -- 2.39.5