// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab
-#include <iostream>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include "common/blkdev.h"
#include "gtest/gtest.h"
+#include <iostream>
+
+ using namespace std;
TEST(blkdev, get_block_device_base) {
char buf[PATH_MAX*2];
closedir(dir);
}
}
+
+TEST(blkdev, device_model)
+{
+ const char* env = getenv("CEPH_ROOT");
+ ASSERT_NE(env, nullptr) << "Environment Variable CEPH_ROOT not found!";
+ string root = string(env) + "/src/test/common/test_blkdev_sys_block";
+ set_block_device_sandbox_dir(root.c_str());
+
+ char model[1000] = {0};
+ block_device_model("sda", model, sizeof(model));
+ printf("model '%s'\n", model);
+ ASSERT_EQ(strcmp(model, "myfancymodel"), 0);
+}
+
+TEST(blkdev, get_block_device_string_property)
+{
+ const char* env = getenv("CEPH_ROOT");
+ ASSERT_NE(env, nullptr) << "Environment Variable CEPH_ROOT not found!";
+ string root = string(env) + "/src/test/common/test_blkdev_sys_block";
+ set_block_device_sandbox_dir(root.c_str());
+
+ char val[1000] = {0};
+ int rc = get_block_device_string_property("sda", "device/model",
+ val, sizeof(val));
+ ASSERT_EQ(0, rc);
+ printf("val '%s'\n", val);
+ ASSERT_EQ(strcmp(val, "myfancymodel"), 0);
+}
+
+TEST(blkdev, is_rotational)
+{
+ const char* env = getenv("CEPH_ROOT");
+ ASSERT_NE(env, nullptr) << "Environment Variable CEPH_ROOT not found!";
+ string root = string(env) + "/src/test/common/test_blkdev_sys_block";
+ set_block_device_sandbox_dir(root.c_str());
+
+ ASSERT_FALSE(block_device_is_rotational("sda"));
+ ASSERT_TRUE(block_device_is_rotational("sdb"));
+}
+
+