forked from f4pga/prjxray
-
Notifications
You must be signed in to change notification settings - Fork 0
/
memory_mapped_file_test.cc
30 lines (26 loc) · 917 Bytes
/
memory_mapped_file_test.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
* Copyright (C) 2017-2020 The Project X-Ray Authors.
*
* Use of this source code is governed by a ISC-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/ISC
*
* SPDX-License-Identifier: ISC
*/
#include <prjxray/memory_mapped_file.h>
#include <gtest/gtest.h>
TEST(MemoryMappedFileTest, NonExistantFile) {
EXPECT_FALSE(prjxray::MemoryMappedFile::InitWithFile("does_not_exist"));
}
TEST(MemoryMappedFileTest, ZeroLengthFileReturnObjectWithZeroLength) {
auto file = prjxray::MemoryMappedFile::InitWithFile("empty_file");
ASSERT_TRUE(file);
EXPECT_EQ(nullptr, file->data());
EXPECT_EQ(static_cast<size_t>(0), file->size());
}
TEST(MemoryMappedFileTest, ExistingFile) {
auto file = prjxray::MemoryMappedFile::InitWithFile("small_file");
ASSERT_TRUE(file);
EXPECT_EQ(static_cast<size_t>(4), file->size());
EXPECT_EQ(0, memcmp("foo\n", file->data(), 4));
}