|
|
@ -37,6 +37,16 @@ namespace mindrecord {
|
|
|
|
class TestShardReader : public UT::Common {
|
|
|
|
class TestShardReader : public UT::Common {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
TestShardReader() {}
|
|
|
|
TestShardReader() {}
|
|
|
|
|
|
|
|
void SetUp() override { ShardWriterImageNet(); }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void TearDown() override {
|
|
|
|
|
|
|
|
for (int i = 1; i <= 4; i++) {
|
|
|
|
|
|
|
|
string filename = std::string("./imagenet.shard0") + std::to_string(i);
|
|
|
|
|
|
|
|
string db_name = std::string("./imagenet.shard0") + std::to_string(i) + ".db";
|
|
|
|
|
|
|
|
remove(common::SafeCStr(filename));
|
|
|
|
|
|
|
|
remove(common::SafeCStr(db_name));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
TEST_F(TestShardReader, TestShardReaderGeneral) {
|
|
|
|
TEST_F(TestShardReader, TestShardReaderGeneral) {
|
|
|
@ -51,8 +61,8 @@ TEST_F(TestShardReader, TestShardReaderGeneral) {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
if (x.empty()) break;
|
|
|
|
if (x.empty()) break;
|
|
|
|
for (auto& j : x) {
|
|
|
|
for (auto &j : x) {
|
|
|
|
for (auto& item : std::get<1>(j).items()) {
|
|
|
|
for (auto &item : std::get<1>(j).items()) {
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -74,8 +84,8 @@ TEST_F(TestShardReader, TestShardReaderSample) {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
if (x.empty()) break;
|
|
|
|
if (x.empty()) break;
|
|
|
|
for (auto& j : x) {
|
|
|
|
for (auto &j : x) {
|
|
|
|
for (auto& item : std::get<1>(j).items()) {
|
|
|
|
for (auto &item : std::get<1>(j).items()) {
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -99,8 +109,8 @@ TEST_F(TestShardReader, TestShardReaderBlock) {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
auto x = dataset.GetBlockNext();
|
|
|
|
auto x = dataset.GetBlockNext();
|
|
|
|
if (x.empty()) break;
|
|
|
|
if (x.empty()) break;
|
|
|
|
for (auto& j : x) {
|
|
|
|
for (auto &j : x) {
|
|
|
|
for (auto& item : std::get<1>(j).items()) {
|
|
|
|
for (auto &item : std::get<1>(j).items()) {
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -119,8 +129,8 @@ TEST_F(TestShardReader, TestShardReaderEasy) {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
if (x.empty()) break;
|
|
|
|
if (x.empty()) break;
|
|
|
|
for (auto& j : x) {
|
|
|
|
for (auto &j : x) {
|
|
|
|
for (auto& item : std::get<1>(j).items()) {
|
|
|
|
for (auto &item : std::get<1>(j).items()) {
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -140,8 +150,8 @@ TEST_F(TestShardReader, TestShardReaderColumnNotInIndex) {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
if (x.empty()) break;
|
|
|
|
if (x.empty()) break;
|
|
|
|
for (auto& j : x) {
|
|
|
|
for (auto &j : x) {
|
|
|
|
for (auto& item : std::get<1>(j).items()) {
|
|
|
|
for (auto &item : std::get<1>(j).items()) {
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
MS_LOG(INFO) << "key: " << item.key() << ", value: " << item.value().dump();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -169,9 +179,9 @@ TEST_F(TestShardReader, TestShardVersion) {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
if (x.empty()) break;
|
|
|
|
if (x.empty()) break;
|
|
|
|
for (auto& j : x) {
|
|
|
|
for (auto &j : x) {
|
|
|
|
MS_LOG(INFO) << "result size: " << std::get<0>(j).size();
|
|
|
|
MS_LOG(INFO) << "result size: " << std::get<0>(j).size();
|
|
|
|
for (auto& item : std::get<1>(j).items()) {
|
|
|
|
for (auto &item : std::get<1>(j).items()) {
|
|
|
|
MS_LOG(INFO) << "key: " << common::SafeCStr(item.key()) << ", value: " << common::SafeCStr(item.value().dump());
|
|
|
|
MS_LOG(INFO) << "key: " << common::SafeCStr(item.key()) << ", value: " << common::SafeCStr(item.value().dump());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -201,8 +211,8 @@ TEST_F(TestShardReader, TestShardReaderConsumer) {
|
|
|
|
while (true) {
|
|
|
|
while (true) {
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
auto x = dataset.GetNext();
|
|
|
|
if (x.empty()) break;
|
|
|
|
if (x.empty()) break;
|
|
|
|
for (auto& j : x) {
|
|
|
|
for (auto &j : x) {
|
|
|
|
for (auto& item : std::get<1>(j).items()) {
|
|
|
|
for (auto &item : std::get<1>(j).items()) {
|
|
|
|
MS_LOG(INFO) << "key: " << common::SafeCStr(item.key()) << ", value: " << common::SafeCStr(item.value().dump());
|
|
|
|
MS_LOG(INFO) << "key: " << common::SafeCStr(item.key()) << ", value: " << common::SafeCStr(item.value().dump());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|