fix: don't generate zero size files in makemeta-test.cc (#8199)

* fix: don't generate zero size files in makemeta-test.cc

* chore: housekeeping
This commit is contained in:
Yat Ho
2026-01-24 11:48:56 +08:00
committed by GitHub
parent b617dea8ad
commit 56f3578ec9

View File

@@ -39,26 +39,15 @@ protected:
static auto makeRandomFiles(
std::string_view top,
size_t n_files = std::max(size_t{ 1U }, static_cast<size_t>(tr_rand_int(DefaultMaxFileCount))),
size_t n_files = std::max(size_t{ 1U }, tr_rand_int(DefaultMaxFileCount)),
size_t max_size = DefaultMaxFileSize)
{
auto files = std::vector<std::pair<std::string, std::vector<std::byte>>>{};
auto file_sizes = std::vector<size_t>(n_files);
EXPECT_EQ(std::size(file_sizes), n_files);
while (
std::all_of(std::begin(file_sizes), std::end(file_sizes), [](size_t const file_size) { return file_size == 0U; }))
{
for (auto& file_size : file_sizes)
{
file_size = tr_rand_int(max_size);
}
}
for (size_t i = 0U; i < n_files; ++i)
{
auto payload = std::vector<std::byte>{};
payload.resize(file_sizes[i]);
payload.resize(tr_rand_int(max_size) + 1U);
tr_rand_buffer(std::data(payload), std::size(payload));
auto filename = tr_pathbuf{ top, '/', "test.XXXXXX" };