From: Adam Kupczyk Date: Tue, 30 Jan 2018 14:37:46 +0000 (+0100) Subject: Common, log: Added functionality test for recovery after silenced (#20174) X-Git-Tag: v14.1.0~908^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4cd6cf88254e4550b01853dff2979bb62888ea40;p=ceph.git Common, log: Added functionality test for recovery after silenced (#20174) Signed-off-by: Adam Kupczyk --- diff --git a/src/log/test.cc b/src/log/test.cc index 73f037191bab..18f3fbdbeda2 100644 --- a/src/log/test.cc +++ b/src/log/test.cc @@ -370,6 +370,30 @@ TEST(Log, Speed_nogather) } } +TEST(Log, GarbleRecovery) +{ + static const char* test_file="/tmp/log_for_moment"; + + Log* saved = g_ceph_context->_log; + Log log(&g_ceph_context->_conf->subsys); + log.start(); + unlink(test_file); + log.set_log_file(test_file); + log.reopen_log_file(); + g_ceph_context->_log = &log; + + std::string long_message(1000,'c'); + ldout(g_ceph_context, 0) << long_message << dendl; + ldout(g_ceph_context, 0) << "Prologue" << (char*)nullptr << long_message << dendl; + ldout(g_ceph_context, 0) << "Epitaph" << long_message << dendl; + + g_ceph_context->_log = saved; + log.flush(); + log.stop(); + struct stat file_status; + ASSERT_EQ(lstat(test_file, &file_status), 0); + ASSERT_GT(file_status.st_size, 2000); +} int main(int argc, char **argv) {