MCPcopy Create free account
hub / github.com/catboost/catboost / BasicTest

Function BasicTest

util/system/filemap_ut.cpp:17–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15 static const char* FileName_("./mappped_file");
16
17 void BasicTest(TMemoryMapCommon::EOpenMode mode) {
18 char data[] = "abcdefgh";
19
20 TFile file(FileName_, CreateAlways | WrOnly);
21 file.Write(static_cast<void*>(data), sizeof(data));
22 file.Close();
23
24 {
25 TFileMap mappedFile(FileName_, mode);
26 mappedFile.Map(0, mappedFile.Length());
27 UNIT_ASSERT(mappedFile.MappedSize() == sizeof(data) && mappedFile.Length() == sizeof(data));
28 UNIT_ASSERT(mappedFile.IsOpen());
29 for (size_t i = 0; i < sizeof(data); ++i) {
30 UNIT_ASSERT(static_cast<char*>(mappedFile.Ptr())[i] == data[i]);
31 static_cast<char*>(mappedFile.Ptr())[i] = data[i] + 1;
32 }
33 mappedFile.Flush();
34
35 TFileMap::TMapResult mapResult = mappedFile.Map(2, 2);
36 UNIT_ASSERT(mapResult.MappedSize() == 2);
37 UNIT_ASSERT(mapResult.MappedData() == mappedFile.Ptr());
38 UNIT_ASSERT(mappedFile.MappedSize() == 2);
39 UNIT_ASSERT(static_cast<char*>(mappedFile.Ptr())[0] == 'd' && static_cast<char*>(mappedFile.Ptr())[1] == 'e');
40
41 mappedFile.Unmap();
42 UNIT_ASSERT(mappedFile.MappedSize() == 0);
43
44 FILE* f = fopen(FileName_, "rb");
45 TFileMap mappedFile2(f);
46 mappedFile2.Map(0, mappedFile2.Length());
47 UNIT_ASSERT(mappedFile2.MappedSize() == sizeof(data));
48 UNIT_ASSERT(static_cast<char*>(mappedFile2.Ptr())[0] == data[0] + 1);
49 fclose(f);
50 }
51 NFs::Remove(FileName_);
52 }
53
54 Y_UNIT_TEST(TestFileMap) {
55 BasicTest(TMemoryMapCommon::oRdWr);

Callers 1

Y_UNIT_TESTFunction · 0.85

Calls 11

MappedDataMethod · 0.80
fopenFunction · 0.50
WriteMethod · 0.45
CloseMethod · 0.45
MapMethod · 0.45
LengthMethod · 0.45
MappedSizeMethod · 0.45
IsOpenMethod · 0.45
PtrMethod · 0.45
FlushMethod · 0.45
UnmapMethod · 0.45

Tested by

no test coverage detected