8000 [1/N] Enable clang-tidy on caffe2/serialize/ by cyyever · Pull Request #141849 · pytorch/pytorch · GitHub
[go: up one dir, main page]

Skip to content

[1/N] Enable clang-tidy on caffe2/serialize/ #141849

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 60 additions & 65 deletions caffe2/serialize/inline_container_test.cc
< 8000 td class="blob-code blob-code-context js-file-line"> EXPECT_THROW(reader.getRecord("key3", dst.data(), data1.size()), c10::Error);
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
#include "c10/util/irange.h"
#include "caffe2/serialize/inline_container.h"

namespace caffe2 {
namespace serialize {
namespace caffe2::serialize {
namespace {

TEST(PyTorchStreamWriterAndReader, SaveAndLoad) {
Expand All @@ -20,23 +19,23 @@ TEST(PyTorchStreamWriterAndReader, SaveAndLoad) {
std::ostringstream oss;
// write records through writers
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1{};
// Inplace memory buffer
std::vector<uint8_t> buf(data1.size());

for (auto i : c10::irange(data1.size())) {
data1[i] = data1.size() - i;
data1[i] = static_cast<char>(data1.size() - i);
}
writer.writeRecord("key1", data1.data(), data1.size());

// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2{};
for (auto i : c10::irange(data2.size())) {
data2[i] = data2.size() - i;
data2[i] = static_cast<char>(data2.size() - i);
}
writer.writeRecord("key2", data2.data(), data2.size());

Expand All @@ -52,7 +51,7 @@ TEST(PyTorchStreamWriterAndReader, SaveAndLoad) {
std::string the_file = oss.str();
const char* file_name = "output.zip";
std::ofstream foo(file_name);
foo.write(the_file.c_str(), the_file.size());
foo.write(the_file.c_str(), static_cast<std::streamsize>(the_file.size()));
foo.close();

std::istringstream iss(the_file);
Expand All @@ -62,10 +61,7 @@ TEST(PyTorchStreamWriterAndReader, SaveAndLoad) {
ASSERT_TRUE(reader.hasRecord("key1"));
ASSERT_TRUE(reader.hasRecord("key2"));
ASSERT_FALSE(reader.hasRecord("key2000"));
at::DataPtr data_ptr;
// NOLINTNEXTLINE(cppcoreguidelines-init-variables)
int64_t size;
std::tie(data_ptr, size) = reader.getRecord("key1");
auto [data_ptr, size] = reader.getRecord("key1");
size_t off1 = reader.getRecordOffset("key1");
ASSERT_EQ(size, data1.size());
ASSERT_EQ(memcmp(data_ptr.get(), data1.data(), data1.size()), 0);
Expand All @@ -83,7 +79,9 @@ TEST(PyTorchStreamWriterAndReader, SaveAndLoad) {
size,
3,
buf.data(),
[](void* dst, const void* src, size_t n) { memcpy(dst, src, n); });
[](void* dst, const void* src, size_t n) {
memcpy(dst, src, static_cast<std::streamsize>(n));
});
ASSERT_EQ(ret, size);
ASSERT_EQ(memcmp(dst.data(), data1.data(), size), 0);

Expand All @@ -106,7 +104,9 @@ TEST(PyTorchStreamWriterAndReader, SaveAndLoad) {
size,
3,
buf.data(),
[](void* dst, const void* src, size_t n) { memcpy(dst, src, n); });
[](void* dst, const void* src, size_t n) {
memcpy(dst, src, static_cast<std::streamsize>(n));
});
ASSERT_EQ(ret, size);
ASSERT_EQ(memcmp(dst.data(), data2.data(), size), 0);
// clean up
Expand All @@ -117,21 +117,21 @@ TEST(PyTorchStreamWriterAndReader, LoadWithMultiThreads) {
std::ostringstream oss;
// write records through writers
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});

// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1;
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1{};
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2{};
for (auto i : c10::irange(data1.size())) {
data1[i] = data1.size() - i;
data1[i] = static_cast<char>(data1.size() - i);
}
writer.writeRecord("key1", data1.data(), data1.size());

for (auto i : c10::irange(data2.size())) {
data2[i] = data2.size() - i;
data2[i] = static_cast<char>(data2.size() - i);
}
writer.writeRecord("key2", data2.data(), data2.size());

Expand All @@ -147,17 +147,16 @@ TEST(PyTorchStreamWriterAndReader, LoadWithMultiThreads) {
std::string the_file = oss.str();
const char* file_name = "output.zip";
std::ofstream foo(file_name);
foo.write(the_file.c_str(), the_file.size());
foo.write(the_file.c_str(), static_cast<std::streamsize>(the_file.size()));
foo.close();

// read records through pytorchStreamReader
std::istringstream iss(the_file);
PyTorchStreamReader reader(&iss);
reader.setAdditionalReaderSizeThreshold(0);
// before testing, sanity check
int64_t size1, size2, ret;
at::DataPtr data_ptr;
std::tie(data_ptr, size1) = reader.getRecord("key1");
auto [data_ptr, size1] = reader.getRecord("key1");
size_t size2 = 0, ret = 0;
std::tie(data_ptr, size2) = reader.getRecord("key2");

// Test getRecord(name, additional_readers)
Expand Down Expand Up @@ -196,24 +195,24 @@ TEST(PytorchStreamWriterAndReader, GetNonexistentRecordThrows) {
std::ostringstream oss;
// write records through writers
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1{};

// Inplace memory buffer
std::vector<uint8_t> buf;

for (auto i : c10::irange(data1.size())) {
data1[i] = data1.size() - i;
data1[i] = static_cast<char>(data1.size() - i);
}
writer.writeRecord("key1", data1.data(), data1.size());

// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2{};
for (auto i : c10::irange(data2.size())) {
data2[i] = data2.size() - i;
data2[i] = static_cast<char>(data2.size() - i);
}
writer.writeRecord("key2", data2.data(), data2.size());

Expand All @@ -229,14 +228,13 @@ TEST(PytorchStreamWriterAndReader, GetNonexistentRecordThrows) {
std::string the_file = oss.str();
const char* file_name = "output2.zip";
std::ofstream foo(file_name);
foo.write(the_file.c_str(), the_file.size());
foo.write(the_file.c_str(), static_cast<std::streamsize>(the_file.size()));
foo.close();

std::istringstream iss(the_file);

// read records through readers
PyTorchStreamReader reader(&iss);
// NOLINTNEXTLINE(hicpp-avoid-goto,cppcoreguidelines-avoid-goto)
EXPECT_THROW(reader.getRecord("key3"), c10::Error);
std::vector<uint8_t> dst(data1.size());
Expand All @@ -247,7 +245,9 @@ TEST(PytorchStreamWriterAndReader, GetNonexistentRecordThrows) {
data1.size(),
3,
buf.data(),
[](void* dst, const void* src, size_t n) { memcpy(dst, src, n); }),
[](void* dst, const void* src, size_t n) {
memcpy(dst, src, static_cast<std::streamsize>(n));
}),
c10::Error);

// Reader should still work after throwing
Expand All @@ -259,23 +259,23 @@ TEST(PytorchStreamWriterAndReader, GetNonexistentRecordThrows) {
TEST(PytorchStreamWriterAndReader, SkipDebugRecords) {
std::ostringstream oss;
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});
// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1{};
// Inplace memory buffer
std::vector<uint8_t> buf(data1.size());

for (auto i : c10::irange(data1.size())) {
data1[i] = data1.size() - i;
data1[i] = static_cast<char>(data1.size() - i);
}
writer.writeRecord("key1.debug_pkl", data1.data(), data1.size());

// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 64> data2{};
for (auto i : c10::irange(data2.size())) {
data2[i] = data2.size() - i;
data2[i] = static_cast<char>(data2.size() - i);
}
writer.writeRecord("key2.debug_pkl", data2.data(), data2.size());

Expand All @@ -290,19 +290,17 @@ TEST(PytorchStreamWriterAndReader, SkipDebugRecords) {
std::string the_file = oss.str();
const char* file_name = "output3.zip";
std::ofstream foo(file_name);
foo.write(the_file.c_str(), the_file.size());
foo.write(the_file.c_str(), static_cast<std::streamsize>(the_file.size()));
foo.close();

std::istringstream iss(the_file);

// read records through readers
PyTorchStreamReader reader(&iss);
// NOLINTNEXTLINE(hicpp-avoid-goto,cppcoreguidelines-avoid-goto)

reader.setShouldLoadDebugSymbol(false);
EXPECT_FALSE(reader.hasRecord("key1.debug_pkl"));
at::DataPtr ptr;
size_t size;
size_t size = 0;
std::tie(ptr, size) = reader.getRecord("key1.debug_pkl");
EXPECT_EQ(size, 0);
std::vector<uint8_t> dst(data1.size());
Expand All @@ -314,7 +312,9 @@ TEST(PytorchStreamWriterAndReader, SkipDebugRecords) {
data1.size(),
3,
buf.data(),
[](void* dst, const void* src, size_t n) { memcpy(dst, src, n); });
[](void* dst, const void* src, size_t n) {
memcpy(dst, src, static_cast<std::streamsize>(n));
});
EXPECT_EQ(ret, 0);
// clean up
remove(file_name);
Expand All @@ -323,15 +323,15 @@ TEST(PytorchStreamWriterAndReader, SkipDebugRecords) {
TEST(PytorchStreamWriterAndReader, ValidSerializationId) {
std::ostringstream oss;
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});

// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init,cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1;
// NOLINTNEXTLINE(cppcoreguidelines-avoid-magic-numbers)
std::array<char, 127> data1{};

for (auto i : c10::irange(data1.size())) {
data1[i] = data1.size() - i;
data1[i] = static_cast<char>(data1.size() - i);
}
writer.writeRecord("key1.debug_pkl", data1.data(), data1.size());
writer.writeEndOfFile();
Expand All @@ -343,13 +343,11 @@ TEST(PytorchStreamWriterAndReader, ValidSerializationId) {

// read records through readers
PyTorchStreamReader reader(&iss);
// NOLINTNEXTLINE(hicpp-avoid-goto,cppcoreguidelines-avoid-goto)

EXPECT_EQ(reader.serializationId(), writer_serialization_id);

// write a second time
PyTorchStreamWriter writer2([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});
writer2.writeRecord("key1.debug_pkl", data1.data(), data1.size());
Expand All @@ -362,7 +360,7 @@ TEST(PytorchStreamWriterAndReader, ValidSerializationId) {
TEST(PytorchStreamWriterAndReader, SkipDuplicateSerializationIdRecords) {
std::ostringstream oss;
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});

Expand All @@ -382,15 +380,13 @@ TEST(PytorchStreamWriterAndReader, SkipDuplicateSerializationIdRecords) {
std::string the_file = oss.str();
const char* file_name = "output4.zip";
std::ofstream foo(file_name);
foo.write(the_file.c_str(), the_file.size());
foo.write(the_file.c_str(), static_cast<std::streamsize>(the_file.size()));
foo.close();

std::istringstream iss(the_file);

// read records through readers
PyTorchStreamReader reader(&iss);
// NOLINTNEXTLINE(hicpp-avoid-goto,cppcoreguidelines-avoid-goto)

EXPECT_EQ(reader.serializationId(), writer_serialization_id);
// clean up
remove(file_name);
Expand All @@ -406,7 +402,7 @@ TEST(PytorchStreamWriterAndReader, LogAPIUsageMetadata) {
});
std::ostringstream oss;
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});
writer.writeEndOfFile();
Expand Down Expand Up @@ -643,7 +639,7 @@ TEST_P(ChunkRecordIteratorTest, ChunkRead) {
// write records through writers
std::ostringstream oss(std::ios::binary);
PyTorchStreamWriter writer([&](const void* b, size_t n) -> size_t {
oss.write(static_cast<const char*>(b), n);
oss.write(static_cast<const char*>(b), static_cast<std::streamsize>(n));
return oss ? n : 0;
});

Expand All @@ -659,7 +655,7 @@ TEST_P(ChunkRecordIteratorTest, ChunkRead) {

std::string the_file = oss.str();
std::ofstream foo(fileName, std::ios::binary);
foo.write(the_file.c_str(), the_file.size());
foo.write(the_file.c_str(), static_cast<std::streamsize>(the_file.size()));
foo.close();
LOG(INFO) << "Finished saving tensor into zip file " << fileName;

Expand All @@ -681,5 +677,4 @@ TEST_P(ChunkRecordIteratorTest, ChunkRead) {
}

} // namespace
} // namespace serialize
} // namespace caffe2
} // namespace caffe2::serialize
13 changes: 4 additions & 9 deletions caffe2/serialize/istream_adapter.cc
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#include "caffe2/serialize/istream_adapter.h"
#include <c10/util/Exception.h>

namespace caffe2 {
namespace serialize {
namespace caffe2::serialize {

IStreamAdapter::IStreamAdapter(std::istream* istream) : istream_(istream) {}

Expand All @@ -20,9 +19,9 @@ size_t IStreamAdapter::size() const {

size_t IStreamAdapter::read(uint64_t pos, void* buf, size_t n, const char* what)
const {
istream_->seekg(pos);
istream_->seekg(static_cast<int64_t>(pos));
validate(what);
istream_->read(static_cast<char*>(buf), n);
istream_->read(static_cast<char*>(buf), static_cast<int64_t>(n));
validate(what);
return n;
}
Expand All @@ -33,8 +32,4 @@ void IStreamAdapter::validate(const char* what) const {
}
}

// NOLINTNEXTLINE(modernize-use-equals-default)
IStreamAdapter::~IStreamAdapter() {}

} // namespace serialize
} // namespace caffe2
} // namespace caffe2::serialize
Loading
Loading
0