From ef7df8048d1067d3148287f27af9047743f1e2ae Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周日, 15 3月 2020 16:26:21 +0800
Subject: [PATCH] Merge branch 'feature/pc_identifiers' into develop issues #2 #3 #14 #49

---
 test/library/os_linux_test.cpp |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/test/library/os_linux_test.cpp b/test/library/os_linux_test.cpp
new file mode 100644
index 0000000..527da44
--- /dev/null
+++ b/test/library/os_linux_test.cpp
@@ -0,0 +1,43 @@
+#define BOOST_TEST_MODULE os_linux_test
+#include <string>
+#include <iostream>
+#include <boost/test/unit_test.hpp>
+
+#include <licensecc_properties.h>
+#include <licensecc_properties_test.h>
+#include "../../src/library/base/StringUtils.h"
+#include "../../src/library/os/os.h"
+#include "../../src/library/os/execution_environment.hpp"
+
+namespace license {
+namespace test {
+using namespace std;
+using namespace os;
+
+BOOST_AUTO_TEST_CASE(read_disk_id) {
+	os::ExecutionEnvironment exec_env;
+	os::VIRTUALIZATION virt = exec_env.getVirtualization();
+	if (virt == VIRTUALIZATION::NONE || virt == VIRTUALIZATION::VM) {
+		DiskInfo *diskInfos = NULL;
+		size_t disk_info_size = 0;
+		FUNCTION_RETURN result = getDiskInfos(NULL, &disk_info_size);
+		BOOST_CHECK_EQUAL(result, FUNC_RET_OK);
+		BOOST_CHECK_GT(disk_info_size, 0);
+		diskInfos = (DiskInfo *)malloc(sizeof(DiskInfo) * disk_info_size);
+		result = getDiskInfos(diskInfos, &disk_info_size);
+		BOOST_CHECK_EQUAL(result, FUNC_RET_OK);
+		BOOST_CHECK_GT(mstrnlen_s(diskInfos[0].device, sizeof(diskInfos[0].device)), 0);
+		BOOST_CHECK_GT(mstrnlen_s(diskInfos[0].label, sizeof diskInfos[0].label), 0);
+		BOOST_CHECK_GT(diskInfos[0].disk_sn[0], 0);
+		free(diskInfos);
+	} else if (virt == VIRTUALIZATION::CONTAINER) {
+		// docker or lxc diskInfo is not meaningful
+		DiskInfo *diskInfos = NULL;
+		size_t disk_info_size = 0;
+		FUNCTION_RETURN result = getDiskInfos(NULL, &disk_info_size);
+		BOOST_CHECK_EQUAL(result, FUNC_RET_NOT_AVAIL);
+	}
+}
+
+}  // namespace test
+}  // namespace license

--
Gitblit v1.9.1