MCPcopy Create free account
hub / github.com/apache/brpc / TEST

Function TEST

test/file_unittest.cc:14–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12using butil::FilePath;
13
14TEST(FileTest, Create) {
15 butil::ScopedTempDir temp_dir;
16 ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
17 FilePath file_path = temp_dir.path().AppendASCII("create_file_1");
18
19 {
20 // Don't create a File at all.
21 File file;
22 EXPECT_FALSE(file.IsValid());
23 EXPECT_EQ(butil::File::FILE_ERROR_FAILED, file.error_details());
24
25 File file2(butil::File::FILE_ERROR_TOO_MANY_OPENED);
26 EXPECT_FALSE(file2.IsValid());
27 EXPECT_EQ(butil::File::FILE_ERROR_TOO_MANY_OPENED, file2.error_details());
28 }
29
30 {
31 // Open a file that doesn't exist.
32 File file(file_path, butil::File::FLAG_OPEN | butil::File::FLAG_READ);
33 EXPECT_FALSE(file.IsValid());
34 EXPECT_EQ(butil::File::FILE_ERROR_NOT_FOUND, file.error_details());
35 }
36
37 {
38 // Open or create a file.
39 File file(file_path, butil::File::FLAG_OPEN_ALWAYS | butil::File::FLAG_READ);
40 EXPECT_TRUE(file.IsValid());
41 EXPECT_TRUE(file.created());
42 EXPECT_EQ(butil::File::FILE_OK, file.error_details());
43 }
44
45 {
46 // Open an existing file.
47 File file(file_path, butil::File::FLAG_OPEN | butil::File::FLAG_READ);
48 EXPECT_TRUE(file.IsValid());
49 EXPECT_FALSE(file.created());
50 EXPECT_EQ(butil::File::FILE_OK, file.error_details());
51
52 // This time verify closing the file.
53 file.Close();
54 EXPECT_FALSE(file.IsValid());
55 }
56
57 {
58 // Open an existing file through Initialize
59 File file;
60 file.Initialize(file_path, butil::File::FLAG_OPEN | butil::File::FLAG_READ);
61 EXPECT_TRUE(file.IsValid());
62 EXPECT_FALSE(file.created());
63 EXPECT_EQ(butil::File::FILE_OK, file.error_details());
64
65 // This time verify closing the file.
66 file.Close();
67 EXPECT_FALSE(file.IsValid());
68 }
69
70 {
71 // Create a file that exists.

Callers

nothing calls this directly

Calls 15

PathExistsFunction · 0.85
GetFileSizeFunction · 0.85
CreateDirectoryFunction · 0.85
CreateUniqueTempDirMethod · 0.80
AppendASCIIMethod · 0.80
asyncMethod · 0.80
ReadNoBestEffortMethod · 0.80
GetLengthMethod · 0.80
SetLengthMethod · 0.80
SetTimesMethod · 0.80
ToTimeValMethod · 0.80
ReadAtCurrentPosMethod · 0.80

Tested by

no test coverage detected