class TestLFNIndex : public TestWrapLFNIndex, public ::testing::Test {
public:
- TestLFNIndex() : TestWrapLFNIndex(coll_t("ABC"), "PATH", CollectionIndex::HASH_INDEX_TAG) {
+ TestLFNIndex() : TestWrapLFNIndex(coll_t("ABC"), "PATH", CollectionIndex::HOBJECT_WITH_POOL) {
}
virtual void SetUp() {
std::string pathname("PATH/" + mangled_name);
EXPECT_EQ(0, ::close(::creat(pathname.c_str(), 0600)));
EXPECT_EQ(0, created(hoid, pathname.c_str()));
- const string LFN_ATTR = "user.cephos.lfn";
+ string LFN_ATTR = "user.cephos.lfn";
+ if (index_version != HASH_INDEX_TAG) {
+ char buf[100];
+ snprintf(buf, sizeof(buf), "%d", index_version);
+ LFN_ATTR += string(buf);
+ }
const std::string object_name_1 = object_name + "SUFFIX";
EXPECT_EQ(object_name_1.size(), (unsigned)chain_setxattr(pathname.c_str(), LFN_ATTR.c_str(), object_name_1.c_str(), object_name_1.size()));
hobject_t hoid(sobject_t("ABC", CEPH_NOSNAP));
EXPECT_EQ(0, get_mangled_name(path, hoid, &mangled_name, &exists));
- EXPECT_NE(std::string::npos, mangled_name.find("ABC_head"));
+ EXPECT_NE(std::string::npos, mangled_name.find("ABC__head"));
EXPECT_EQ(std::string::npos, mangled_name.find("0_long"));
EXPECT_EQ(0, exists);
const std::string pathname("PATH/" + mangled_name);
EXPECT_EQ(0, ::close(::creat(pathname.c_str(), 0600)));
EXPECT_EQ(0, get_mangled_name(path, hoid, &mangled_name, &exists));
- EXPECT_NE(std::string::npos, mangled_name.find("ABC_head"));
+ EXPECT_NE(std::string::npos, mangled_name.find("ABC__head"));
EXPECT_EQ(1, exists);
EXPECT_EQ(0, ::unlink(pathname.c_str()));
}
// are not identical and it so happens that their SHA1 is
// identical : a collision number is used to differentiate them
//
- const string LFN_ATTR = "user.cephos.lfn";
+ string LFN_ATTR = "user.cephos.lfn";
+ if (index_version != HASH_INDEX_TAG) {
+ char buf[100];
+ snprintf(buf, sizeof(buf), "%d", index_version);
+ LFN_ATTR += string(buf);
+ }
const std::string object_name_same_prefix = object_name + "SUFFIX";
EXPECT_EQ(object_name_same_prefix.size(), (unsigned)chain_setxattr(pathname.c_str(), LFN_ATTR.c_str(), object_name_same_prefix.c_str(), object_name_same_prefix.size()));
std::string mangled_name_same_prefix;