1 : /*
2 : * Copyright 2008 The Native Client Authors. All rights reserved.
3 : * Use of this source code is governed by a BSD-style license that can be
4 : * found in the LICENSE file.
5 : */
6 :
7 :
8 : #include "native_client/src/shared/gio/gio.h"
9 : #include "native_client/src/shared/gio/gio_test_base.h"
10 : #include "gtest/gtest.h"
11 :
12 : namespace {
13 :
14 3 : TEST(GioMemTest, ReadTest) {
15 : struct GioMemoryFile mf;
16 : char* in_buffer;
17 1 : int in_size = expected_file_size;
18 : int ret_code;
19 :
20 1 : in_buffer = reinterpret_cast<char*>(malloc(in_size));
21 1 : GioInitTestMemFile(in_buffer, 'A', in_size);
22 1 : ret_code = GioMemoryFileCtor(&mf, in_buffer, in_size);
23 1 : EXPECT_EQ(1, ret_code);
24 :
25 1 : GioReadTestWithOffset(&mf.base, 'A');
26 1 : GioCloseTest(&mf.base);
27 1 : free(in_buffer);
28 1 : }
29 :
30 3 : TEST(GioMemTest, WriteTest) {
31 : struct GioMemoryFile mf;
32 : char* mf_buffer;
33 1 : int mf_size = 64;
34 : int ret_code;
35 :
36 1 : mf_buffer = reinterpret_cast<char*>(malloc(mf_size));
37 1 : EXPECT_NE(reinterpret_cast<char*>(NULL), mf_buffer);
38 :
39 1 : ret_code = GioMemoryFileCtor(&mf, mf_buffer, mf_size);
40 1 : EXPECT_EQ(1, ret_code);
41 1 : GioWriteTest(&mf.base, true);
42 1 : GioCloseTest(&mf.base);
43 1 : free(mf_buffer);
44 1 : }
45 :
46 3 : TEST(GioMemTest, SeekTest) {
47 : struct GioMemoryFile mf;
48 : char* in_buffer;
49 1 : int in_size = expected_file_size;
50 : int ret_code;
51 :
52 1 : in_buffer = reinterpret_cast<char*>(malloc(in_size));
53 1 : GioInitTestMemFile(in_buffer, 0, in_size);
54 1 : ret_code = GioMemoryFileCtor(&mf, in_buffer, in_size);
55 1 : EXPECT_EQ(1, ret_code);
56 :
57 1 : GioSeekTestWithOffset(&mf.base, 0, true);
58 1 : GioCloseTest(&mf.base);
59 1 : free(in_buffer);
60 1 : }
61 :
62 : } // namespace
63 :
64 1 : int main(int argc, char* argv[]) {
65 1 : testing::InitGoogleTest(&argc, argv);
66 1 : return RUN_ALL_TESTS();
67 1 : }
|