Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / tests / nacl_io_test / kernel_proxy_test.cc
index 98fd431..a84442c 100644 (file)
@@ -592,7 +592,7 @@ class KernelProxyMountTest : public ::testing::Test {
     ki_uninit();
   }
 
- private:
+ protected:
   KernelProxyMountTest_KernelProxy kp_;
 };
 
@@ -634,6 +634,32 @@ TEST_F(KernelProxyMountTest, MountAndIoctl) {
   EXPECT_EQ(true, g_fs_ioctl_called);
 }
 
+static void mount_callback(const char* source,
+                           const char* target,
+                           const char* filesystemtype,
+                           unsigned long mountflags,
+                           const void* data,
+                           dev_t dev,
+                           void* user_data) {
+  EXPECT_STREQ("/", source);
+  EXPECT_STREQ("/mnt1", target);
+  EXPECT_STREQ("initfs", filesystemtype);
+  EXPECT_EQ(0, mountflags);
+  EXPECT_STREQ("", (const char*) data);
+  EXPECT_EQ(g_fs_dev, dev);
+
+  bool* callback_called = static_cast<bool*>(user_data);
+  *callback_called = true;
+}
+
+TEST_F(KernelProxyMountTest, MountCallback) {
+  bool callback_called = false;
+  kp_.SetMountCallback(&mount_callback, &callback_called);
+  ASSERT_EQ(0, ki_mount("/", "/mnt1", "initfs", 0, ""));
+  ASSERT_NE(-1, g_fs_dev);
+  EXPECT_EQ(true, callback_called);
+}
+
 namespace {
 
 int g_MMapCount = 0;