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

Unified Diff: native_client_sdk/src/libraries/nacl_mounts_test/mount_node_test.cc

Issue 12194030: Rename mount (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix whitespace Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/libraries/nacl_mounts_test/mount_node_test.cc
diff --git a/native_client_sdk/src/libraries/nacl_mounts_test/mount_node_test.cc b/native_client_sdk/src/libraries/nacl_mounts_test/mount_node_test.cc
deleted file mode 100644
index 93427988ffc9cd6964bab9cc355904d86e4aca81..0000000000000000000000000000000000000000
--- a/native_client_sdk/src/libraries/nacl_mounts_test/mount_node_test.cc
+++ /dev/null
@@ -1,190 +0,0 @@
-/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <errno.h>
-#include <fcntl.h>
-
-#include "nacl_mounts/kernel_proxy.h"
-#include "nacl_mounts/mount_node.h"
-#include "nacl_mounts/mount_node_dir.h"
-#include "nacl_mounts/mount_node_mem.h"
-#include "nacl_mounts/osdirent.h"
-
-#include "gtest/gtest.h"
-
-#define NULL_NODE ((MountNode *) NULL)
-
-static int s_AllocNum = 0;
-
-class MockMemory : public MountNodeMem {
- public:
- MockMemory() : MountNodeMem(NULL) {
- s_AllocNum++;
- }
-
- ~MockMemory() {
- s_AllocNum--;
- }
-
- bool Init(int mode) {
- return MountNodeMem::Init(mode);
- }
- int AddChild(const std::string& name, MountNode *node) {
- return MountNodeMem::AddChild(name, node);
- }
- int RemoveChild(const std::string& name) {
- return MountNodeMem::RemoveChild(name);
- }
- MountNode* FindChild(const std::string& name) {
- return MountNodeMem::FindChild(name);
- }
- void Link() { MountNodeMem::Link(); }
- void Unlink() { MountNodeMem::Unlink(); }
-
- protected:
- using MountNodeMem::Init;
-};
-
-class MockDir : public MountNodeDir {
- public:
- MockDir() : MountNodeDir(NULL) {
- s_AllocNum++;
- }
-
- ~MockDir() {
- s_AllocNum--;
- }
-
- bool Init(int mode) {
- return MountNodeDir::Init(mode);
- }
- int AddChild(const std::string& name, MountNode *node) {
- return MountNodeDir::AddChild(name, node);
- }
- int RemoveChild(const std::string& name) {
- return MountNodeDir::RemoveChild(name);
- }
- MountNode* FindChild(const std::string& name) {
- return MountNodeDir::FindChild(name);
- }
- void Link() { MountNodeDir::Link(); }
- void Unlink() { MountNodeDir::Unlink(); }
-
- protected:
- using MountNodeDir::Init;
-};
-
-TEST(MountNodeTest, File) {
- MockMemory *file = new MockMemory;
-
- EXPECT_TRUE(file->Init(S_IREAD | S_IWRITE));
-
- // Test properties
- EXPECT_EQ(0, file->GetLinks());
- EXPECT_EQ(S_IREAD | S_IWRITE, file->GetMode());
- EXPECT_EQ(S_IFREG, file->GetType());
- EXPECT_FALSE(file->IsaDir());
- EXPECT_TRUE(file->IsaFile());
- EXPECT_FALSE(file->IsaTTY());
- EXPECT_EQ(1, file->RefCount());
-
- // Test IO
- char buf1[1024];
- char buf2[1024 * 2];
- for (size_t a = 0; a < sizeof(buf1); a++)
- buf1[a] = a;
- memset(buf2, 0, sizeof(buf2));
-
- EXPECT_EQ(0, file->GetSize());
- EXPECT_EQ(0, file->Read(0, buf2, sizeof(buf2)));
- EXPECT_EQ(0, file->GetSize());
- EXPECT_EQ(sizeof(buf1), file->Write(0, buf1, sizeof(buf1)));
- EXPECT_EQ(sizeof(buf1), file->GetSize());
- EXPECT_EQ(sizeof(buf1), file->Read(0, buf2, sizeof(buf2)));
- EXPECT_EQ(0, memcmp(buf1, buf2, sizeof(buf1)));
-
- struct stat s;
- EXPECT_EQ(0, file->GetStat(&s));
- EXPECT_EQ(sizeof(buf1), s.st_size);
-
- // Directory operations should fail
- struct dirent d;
- EXPECT_EQ(-1, file->GetDents(0, &d, sizeof(d)));
- EXPECT_EQ(errno, ENOTDIR);
- EXPECT_EQ(-1, file->AddChild("", file));
- EXPECT_EQ(errno, ENOTDIR);
- EXPECT_EQ(-1, file->RemoveChild(""));
- EXPECT_EQ(errno, ENOTDIR);
- EXPECT_EQ(NULL_NODE, file->FindChild(""));
- EXPECT_EQ(errno, ENOTDIR);
-
- delete file;
-}
-
-TEST(MountNodeTest, Directory) {
- MockDir *root = new MockDir();
- root->Init(S_IREAD | S_IWRITE);
-
- // Test properties
- EXPECT_EQ(0, root->GetLinks());
- EXPECT_EQ(S_IREAD | S_IWRITE, root->GetMode());
- EXPECT_EQ(S_IFDIR, root->GetType());
- EXPECT_TRUE(root->IsaDir());
- EXPECT_FALSE(root->IsaFile());
- EXPECT_FALSE(root->IsaTTY());
- EXPECT_EQ(1, root->RefCount());
-
- // IO operations should fail
- char buf1[1024];
- EXPECT_EQ(0, root->GetSize());
- EXPECT_EQ(-1, root->Read(0, buf1, sizeof(buf1)));
- EXPECT_EQ(errno, EISDIR);
- EXPECT_EQ(-1, root->Write(0, buf1, sizeof(buf1)));
- EXPECT_EQ(errno, EISDIR);
-
- // Test directory operations
- MockMemory* file = new MockMemory;
- EXPECT_TRUE(file->Init(S_IREAD | S_IWRITE));
-
- EXPECT_EQ(1, root->RefCount());
- EXPECT_EQ(1, file->RefCount());
- EXPECT_EQ(0, root->AddChild("F1", file));
- EXPECT_EQ(1, file->GetLinks());
- EXPECT_EQ(2, file->RefCount());
-
- // Test that the directory is there
- struct dirent d;
- EXPECT_EQ(sizeof(d), root->GetDents(0, &d, sizeof(d)));
- EXPECT_EQ(0, strcmp("F1", d.d_name));
- EXPECT_EQ(0, root->GetDents(sizeof(d), &d, sizeof(d)));
-
- EXPECT_EQ(0, root->AddChild("F2", file));
- EXPECT_EQ(2, file->GetLinks());
- EXPECT_EQ(3, file->RefCount());
- EXPECT_EQ(-1, root->AddChild("F1", file));
- EXPECT_EQ(EEXIST, errno);
- EXPECT_EQ(2, file->GetLinks());
-
- EXPECT_EQ(2, s_AllocNum);
- EXPECT_NE(NULL_NODE, root->FindChild("F1"));
- EXPECT_NE(NULL_NODE, root->FindChild("F2"));
- EXPECT_EQ(NULL_NODE, root->FindChild("F3"));
- EXPECT_EQ(errno, ENOENT);
-
- EXPECT_EQ(2, s_AllocNum);
- EXPECT_EQ(0, root->RemoveChild("F1"));
- EXPECT_EQ(1, file->GetLinks());
- EXPECT_EQ(2, file->RefCount());
- EXPECT_EQ(0, root->RemoveChild("F2"));
- EXPECT_EQ(0, file->GetLinks());
- EXPECT_EQ(1, file->RefCount());
- EXPECT_EQ(2, s_AllocNum);
-
- file->Release();
- EXPECT_EQ(1, s_AllocNum);
- root->Release();
- EXPECT_EQ(0, s_AllocNum);
-}
-

Powered by Google App Engine
This is Rietveld 408576698