Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: native_client_sdk/src/libraries/nacl_mounts_test/mount_node_test.cc

Issue 10825189: [NaCl SDK] Get nacl_mounts_tests building. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: windows fixes Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. 3 * found in the LICENSE file.
4 */ 4 */
5 5
6 #include <errno.h> 6 #include <errno.h>
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <unistd.h>
9 8
10 #include "nacl_mounts/kernel_proxy.h" 9 #include "nacl_mounts/kernel_proxy.h"
11 #include "nacl_mounts/mount_node.h" 10 #include "nacl_mounts/mount_node.h"
12 #include "nacl_mounts/mount_node_dir.h" 11 #include "nacl_mounts/mount_node_dir.h"
13 #include "nacl_mounts/mount_node_mem.h" 12 #include "nacl_mounts/mount_node_mem.h"
13 #include "nacl_mounts/osdirent.h"
14 14
15 #define __STDC__ 1
16 #include "gtest/gtest.h" 15 #include "gtest/gtest.h"
17 16
18 #define NULL_NODE ((MountNode *) NULL) 17 #define NULL_NODE ((MountNode *) NULL)
19 18
20 static int s_AllocNum = 0; 19 static int s_AllocNum = 0;
21 20
22 class MockMemory : public MountNodeMem { 21 class MockMemory : public MountNodeMem {
23 public: 22 public:
24 MockMemory() : MountNodeMem(NULL, 0, 0) { 23 MockMemory() : MountNodeMem(NULL, 0, 0) {
25 s_AllocNum++; 24 s_AllocNum++;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 }; 71 };
73 72
74 TEST(MountNodeTest, File) { 73 TEST(MountNodeTest, File) {
75 MockMemory *file = new MockMemory; 74 MockMemory *file = new MockMemory;
76 75
77 EXPECT_EQ(true, file->Init(S_IREAD | S_IWRITE)); 76 EXPECT_EQ(true, file->Init(S_IREAD | S_IWRITE));
78 77
79 // Test properties 78 // Test properties
80 EXPECT_EQ(0, file->GetLinks()); 79 EXPECT_EQ(0, file->GetLinks());
81 EXPECT_EQ(S_IREAD | S_IWRITE, file->GetMode()); 80 EXPECT_EQ(S_IREAD | S_IWRITE, file->GetMode());
82 EXPECT_EQ(_S_IFREG, file->GetType()); 81 EXPECT_EQ(S_IFREG, file->GetType());
83 EXPECT_EQ(false, file->IsaDir()); 82 EXPECT_EQ(false, file->IsaDir());
84 EXPECT_EQ(true, file->IsaFile()); 83 EXPECT_EQ(true, file->IsaFile());
85 EXPECT_EQ(false, file->IsaTTY()); 84 EXPECT_EQ(false, file->IsaTTY());
86 EXPECT_EQ(1, file->RefCount()); 85 EXPECT_EQ(1, file->RefCount());
87 86
88 // Test IO 87 // Test IO
89 char buf1[1024]; 88 char buf1[1024];
90 char buf2[1024 * 2]; 89 char buf2[1024 * 2];
91 for (int a=0; a < sizeof(buf1); a++) 90 for (size_t a = 0; a < sizeof(buf1); a++)
92 buf1[a] = a; 91 buf1[a] = a;
93 memset(buf2, 0, sizeof(buf2)); 92 memset(buf2, 0, sizeof(buf2));
94 93
95 EXPECT_EQ(0, file->GetSize()); 94 EXPECT_EQ(0, file->GetSize());
96 EXPECT_EQ(0, file->Read(0, buf2, sizeof(buf2))); 95 EXPECT_EQ(0, file->Read(0, buf2, sizeof(buf2)));
97 EXPECT_EQ(0, file->GetSize()); 96 EXPECT_EQ(0, file->GetSize());
98 EXPECT_EQ(sizeof(buf1), file->Write(0, buf1, sizeof(buf1))); 97 EXPECT_EQ(sizeof(buf1), file->Write(0, buf1, sizeof(buf1)));
99 EXPECT_EQ(sizeof(buf1), file->GetSize()); 98 EXPECT_EQ(sizeof(buf1), file->GetSize());
100 EXPECT_EQ(sizeof(buf1), file->Read(0, buf2, sizeof(buf2))); 99 EXPECT_EQ(sizeof(buf1), file->Read(0, buf2, sizeof(buf2)));
101 EXPECT_EQ(0, memcmp(buf1, buf2, sizeof(buf1))); 100 EXPECT_EQ(0, memcmp(buf1, buf2, sizeof(buf1)));
(...skipping 16 matching lines...) Expand all
118 delete file; 117 delete file;
119 } 118 }
120 119
121 TEST(MountNodeTest, Directory) { 120 TEST(MountNodeTest, Directory) {
122 MockDir *root = new MockDir(); 121 MockDir *root = new MockDir();
123 root->Init(S_IREAD | S_IWRITE); 122 root->Init(S_IREAD | S_IWRITE);
124 123
125 // Test properties 124 // Test properties
126 EXPECT_EQ(0, root->GetLinks()); 125 EXPECT_EQ(0, root->GetLinks());
127 EXPECT_EQ(S_IREAD | S_IWRITE, root->GetMode()); 126 EXPECT_EQ(S_IREAD | S_IWRITE, root->GetMode());
128 EXPECT_EQ(_S_IFDIR, root->GetType()); 127 EXPECT_EQ(S_IFDIR, root->GetType());
129 EXPECT_EQ(true, root->IsaDir()); 128 EXPECT_EQ(true, root->IsaDir());
130 EXPECT_EQ(false, root->IsaFile()); 129 EXPECT_EQ(false, root->IsaFile());
131 EXPECT_EQ(false, root->IsaTTY()); 130 EXPECT_EQ(false, root->IsaTTY());
132 EXPECT_EQ(1, root->RefCount()); 131 EXPECT_EQ(1, root->RefCount());
133 132
134 // IO operations should fail 133 // IO operations should fail
135 char buf1[1024]; 134 char buf1[1024];
136 EXPECT_EQ(0, root->GetSize()); 135 EXPECT_EQ(0, root->GetSize());
137 EXPECT_EQ(-1, root->Read(0, buf1, sizeof(buf1))); 136 EXPECT_EQ(-1, root->Read(0, buf1, sizeof(buf1)));
138 EXPECT_EQ(errno, EISDIR); 137 EXPECT_EQ(errno, EISDIR);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 EXPECT_EQ(0, file->GetLinks()); 175 EXPECT_EQ(0, file->GetLinks());
177 EXPECT_EQ(1, file->RefCount()); 176 EXPECT_EQ(1, file->RefCount());
178 EXPECT_EQ(2, s_AllocNum); 177 EXPECT_EQ(2, s_AllocNum);
179 178
180 file->Release(); 179 file->Release();
181 EXPECT_EQ(1, s_AllocNum); 180 EXPECT_EQ(1, s_AllocNum);
182 root->Release(); 181 root->Release();
183 EXPECT_EQ(0, s_AllocNum); 182 EXPECT_EQ(0, s_AllocNum);
184 } 183 }
185 184
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698