X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Flog%2Ftest.cc;fp=src%2Fceph%2Fsrc%2Flog%2Ftest.cc;h=e11505af4561158d7c91d11dd65b0deb2bef888e;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/log/test.cc b/src/ceph/src/log/test.cc new file mode 100644 index 0000000..e11505a --- /dev/null +++ b/src/ceph/src/log/test.cc @@ -0,0 +1,235 @@ +#include + +#include "log/Log.h" +#include "common/Clock.h" +#include "common/PrebufferedStreambuf.h" +#include "include/coredumpctl.h" +#include "SubsystemMap.h" + +using namespace ceph::logging; + +TEST(Log, Simple) +{ + SubsystemMap subs; + subs.add(0, "none", 10, 10); + subs.add(1, "foosys", 20, 1); + subs.add(2, "bar", 20, 2); + subs.add(3, "baz", 10, 3); + + Log log(&subs); + log.start(); + + log.set_log_file("/tmp/foo"); + log.reopen_log_file(); + + log.set_stderr_level(5, -1); + + + for (int i=0; i<100; i++) { + int sys = i % 4; + int l = 5 + (i%4); + if (subs.should_gather(sys, l)) { + Entry *e = new Entry(ceph_clock_now(), + pthread_self(), + l, + sys, + "hello world"); + log.submit_entry(e); + } + } + + log.flush(); + + log.dump_recent(); + + log.stop(); +} + +int many = 10000; + +TEST(Log, ManyNoGather) +{ + SubsystemMap subs; + subs.add(1, "foo", 1, 1); + Log log(&subs); + log.start(); + log.set_log_file("/tmp/big"); + log.reopen_log_file(); + for (int i=0; iset_str(oss.str()); + log.submit_entry(e); + } + } + log.flush(); + log.stop(); +} +TEST(Log, ManyGatherLogStringAssignWithReserve) +{ + SubsystemMap subs; + subs.add(1, "foo", 20, 10); + Log log(&subs); + log.start(); + log.set_log_file("/tmp/big"); + log.reopen_log_file(); + for (int i=0; iset_str(oss.str()); + log.submit_entry(e); + } + } + log.flush(); + log.stop(); +} + +TEST(Log, ManyGatherLogPrebuf) +{ + SubsystemMap subs; + subs.add(1, "foo", 20, 10); + Log log(&subs); + log.start(); + log.set_log_file("/tmp/big"); + log.reopen_log_file(); + for (int i=0; im_static_buf, sizeof(e->m_static_buf)); + ostream oss(&psb); + oss << "this i a long stream asdf asdf asdf asdf asdf asdf asdf asdf asdf as fd"; + //e->m_str = oss.str(); + log.submit_entry(e); + } + } + log.flush(); + log.stop(); +} + +TEST(Log, ManyGatherLogPrebufOverflow) +{ + SubsystemMap subs; + subs.add(1, "foo", 20, 10); + Log log(&subs); + log.start(); + log.set_log_file("/tmp/big"); + log.reopen_log_file(); + for (int i=0; im_static_buf, sizeof(e->m_static_buf)); + ostream oss(&psb); + oss << "this i a long stream asdf asdf asdf asdf asdf asdf asdf asdf asdf as fd" + << std::string(sizeof(e->m_static_buf) * 2, '-') ; + //e->m_str = oss.str(); + log.submit_entry(e); + } + } + log.flush(); + log.stop(); +} + +TEST(Log, ManyGather) +{ + SubsystemMap subs; + subs.add(1, "foo", 20, 1); + Log log(&subs); + log.start(); + log.set_log_file("/tmp/big"); + log.reopen_log_file(); + for (int i=0; iset_str(msg); + log.submit_entry(e); + log.flush(); + log.stop(); +}