}
TEST(TestFileJournal, Create) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
}
TEST(TestFileJournal, WriteSmall) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
}
TEST(TestFileJournal, WriteBig) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
}
TEST(TestFileJournal, WriteMany) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
}
TEST(TestFileJournal, WriteManyVecs) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
}
TEST(TestFileJournal, ReplaySmall) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
}
TEST(TestFileJournal, ReplayCorrupt) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "true");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
ASSERT_EQ(needle, v);
inbl.clear();
v.clear();
- ASSERT_TRUE(!j.read_entry(inbl, seq));
+ bool corrupt;
+ ASSERT_FALSE(j.read_entry(inbl, seq, &corrupt));
+ ASSERT_TRUE(corrupt);
j.make_writeable();
j.close();
}
TEST(TestFileJournal, WriteTrim) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();
}
TEST(TestFileJournal, WriteTrimSmall) {
+ g_ceph_context->_conf->set_val("journal_ignore_corruption", "false");
+ g_ceph_context->_conf->set_val("journal_write_header_frequency", "0");
+ g_ceph_context->_conf->apply_changes(NULL);
+
for (unsigned i = 0 ; i < 3; ++i) {
SCOPED_TRACE(subtests[i].description);
fsid.generate_random();