Skip to content

Commit e2dd0be

Browse files
dbortfacebook-github-bot
authored andcommitted
Rename FileDataLoader::From to ::from (#381)
Summary: Pull Request resolved: #381 This is a commonly-used method that violates our style guide. ghstack-source-id: 200971163 exported-using-ghexport Reviewed By: cccclai Differential Revision: D49351745 fbshipit-source-id: 7f3a6b7f02db5357a0fb97f71e9695077734f2ac
1 parent 4ee204f commit e2dd0be

File tree

3 files changed

+35
-8
lines changed

3 files changed

+35
-8
lines changed

extension/data_loader/file_data_loader.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ FileDataLoader::~FileDataLoader() {
5959
::close(fd_);
6060
}
6161

62-
Result<FileDataLoader> FileDataLoader::From(
62+
Result<FileDataLoader> FileDataLoader::from(
6363
const char* file_name,
6464
size_t alignment) {
6565
ET_CHECK_OR_RETURN_ERROR(

extension/data_loader/file_data_loader.h

+8-1
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,17 @@ class FileDataLoader : public DataLoader {
4040
* could not be found.
4141
* @retval Error::MemoryAllocationFailed Internal memory allocation failure.
4242
*/
43-
static Result<FileDataLoader> From(
43+
static Result<FileDataLoader> from(
4444
const char* file_name,
4545
size_t alignment = alignof(std::max_align_t));
4646

47+
/// DEPRECATED: Use the lowercase `from()` instead.
48+
__ET_DEPRECATED static Result<FileDataLoader> From(
49+
const char* file_name,
50+
size_t alignment = alignof(std::max_align_t)) {
51+
return from(file_name, alignment);
52+
}
53+
4754
// Movable to be compatible with Result.
4855
FileDataLoader(FileDataLoader&& rhs) noexcept
4956
: file_name_(rhs.file_name_),

extension/data_loader/test/file_data_loader_test.cpp

+26-6
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ TEST_P(FileDataLoaderTest, InBoundsLoadsSucceed) {
4949

5050
// Wrap it in a loader.
5151
Result<FileDataLoader> fdl =
52-
FileDataLoader::From(tf.path().c_str(), alignment());
52+
FileDataLoader::from(tf.path().c_str(), alignment());
5353
ASSERT_EQ(fdl.error(), Error::Ok);
5454

5555
// size() should succeed and reflect the total size.
@@ -113,7 +113,7 @@ TEST_P(FileDataLoaderTest, OutOfBoundsLoadFails) {
113113
TempFile tf(data, sizeof(data));
114114

115115
Result<FileDataLoader> fdl =
116-
FileDataLoader::From(tf.path().c_str(), alignment());
116+
FileDataLoader::from(tf.path().c_str(), alignment());
117117
ASSERT_EQ(fdl.error(), Error::Ok);
118118

119119
// Loading beyond the end of the data should fail.
@@ -133,7 +133,7 @@ TEST_P(FileDataLoaderTest, OutOfBoundsLoadFails) {
133133

134134
TEST_P(FileDataLoaderTest, FromMissingFileFails) {
135135
// Wrapping a file that doesn't exist should fail.
136-
Result<FileDataLoader> fdl = FileDataLoader::From(
136+
Result<FileDataLoader> fdl = FileDataLoader::from(
137137
"/tmp/FILE_DOES_NOT_EXIST_EXECUTORCH_MMAP_LOADER_TEST");
138138
EXPECT_NE(fdl.error(), Error::Ok);
139139
}
@@ -145,15 +145,15 @@ TEST_P(FileDataLoaderTest, BadAlignmentFails) {
145145

146146
// Creating a loader with default alignment works fine.
147147
{
148-
Result<FileDataLoader> fdl = FileDataLoader::From(tf.path().c_str());
148+
Result<FileDataLoader> fdl = FileDataLoader::from(tf.path().c_str());
149149
ASSERT_EQ(fdl.error(), Error::Ok);
150150
}
151151

152152
// Bad alignments fail.
153153
const std::vector<size_t> bad_alignments = {0, 3, 5, 17};
154154
for (size_t bad_alignment : bad_alignments) {
155155
Result<FileDataLoader> fdl =
156-
FileDataLoader::From(tf.path().c_str(), bad_alignment);
156+
FileDataLoader::from(tf.path().c_str(), bad_alignment);
157157
ASSERT_EQ(fdl.error(), Error::InvalidArgument);
158158
}
159159
}
@@ -164,7 +164,7 @@ TEST_P(FileDataLoaderTest, MoveCtor) {
164164
std::string contents = "FILE_CONTENTS";
165165
TempFile tf(contents);
166166
Result<FileDataLoader> fdl =
167-
FileDataLoader::From(tf.path().c_str(), alignment());
167+
FileDataLoader::from(tf.path().c_str(), alignment());
168168
ASSERT_EQ(fdl.error(), Error::Ok);
169169
EXPECT_EQ(fdl->size().get(), contents.size());
170170

@@ -184,6 +184,26 @@ TEST_P(FileDataLoaderTest, MoveCtor) {
184184
EXPECT_EQ(0, std::memcmp(fb->data(), contents.data(), fb->size()));
185185
}
186186

187+
// Test that the deprecated From method (capital 'F') still works.
188+
TEST_P(FileDataLoaderTest, DEPRECATEDFrom) {
189+
// Write some heterogeneous data to a file.
190+
uint8_t data[256];
191+
for (int i = 0; i < sizeof(data); ++i) {
192+
data[i] = i;
193+
}
194+
TempFile tf(data, sizeof(data));
195+
196+
// Wrap it in a loader.
197+
Result<FileDataLoader> fdl =
198+
FileDataLoader::From(tf.path().c_str(), alignment());
199+
ASSERT_EQ(fdl.error(), Error::Ok);
200+
201+
// size() should succeed and reflect the total size.
202+
Result<size_t> size = fdl->size();
203+
ASSERT_EQ(size.error(), Error::Ok);
204+
EXPECT_EQ(*size, sizeof(data));
205+
}
206+
187207
// Run all FileDataLoaderTests multiple times, varying the return value of
188208
// `GetParam()` based on the `testing::Values` list. The tests will interpret
189209
// the value as "alignment".

0 commit comments

Comments
 (0)