TEST_P(BigReadWriteTest, bigReadsOnFull) { auto ns_ptr = make_random_namespace(); SharedVolumePtr v = newVolume(VolumeId("volume1"), ns_ptr->ns()); SCOPED_BLOCK_BACKEND(*v); size_t csz = v->getClusterSize(); size_t lba_size = v->getLBASize(); const std::string pattern(csz,'a'); size_t scoMul = v->getSCOMultiplier(); for(size_t i = 0;i < 50*scoMul; ++i) { writeToVolume(*v, i* csz / lba_size, csz, pattern); } // Stop here to manually delete sco's to check error handling for(size_t i = 0; i < scoMul; ++i) { checkVolume(*v,0, csz*scoMul, pattern); } }
TEST_P(BigReadWriteTest, bigReadsOnEmpty) { auto ns_ptr = make_random_namespace(); SharedVolumePtr v = newVolume(VolumeId("volume1"), ns_ptr->ns()); size_t csz = v->getClusterSize(); const std::string pattern(csz,'\0'); size_t scoMul = v->getSCOMultiplier(); for(size_t i = 0; i < scoMul; ++i) { checkVolume(*v,0, csz*scoMul, pattern); } }
TEST_P(BigReadWriteTest, OneBigWriteOneBigRead) { auto ns_ptr = make_random_namespace(); SharedVolumePtr v = newVolume(VolumeId("volume1"), ns_ptr->ns()); SCOPED_BLOCK_BACKEND(*v); size_t csz = v->getClusterSize(); const std::string pattern(csz,'a'); size_t scoMul = v->getSCOMultiplier(); writeToVolume(*v, 0, csz * scoMul, pattern); // Stop here to manually delete sco's to check error handling checkVolume(*v,0, csz*scoMul, pattern); }