From de5002941fb2f65eda8f9603e4723f95e11fde97 Mon Sep 17 00:00:00 2001 From: Gabriele Contini <contini.mailing@gmail.com> Date: 周日, 08 3月 2020 22:53:03 +0800 Subject: [PATCH] fix tests --- test/functional/CMakeLists.txt | 1 src/inspector/inspector.cpp | 12 +++++- CMakeLists.txt | 2 src/library/os/windows/execution_environment.cpp | 61 +++++++++--------------------- 4 files changed, 30 insertions(+), 46 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f32e9b7..3edd0cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,7 +56,7 @@ SET ( ZLIB_USE_STATIC_LIBS ON ) find_package(ZLIB REQUIRED) list(APPEND EXTERNAL_LIBS ${ZLIB_LIBRARIES}) - MESSAGE(STATUS "Found zlib version ${ZLIB_VERSION_STRING} ") + MESSAGE(STATUS "Found zlib version ${ZLIB_VERSION_STRING} - licensecc") ENDIF(OPENSSL_VERSION VERSION_LESS 1.0.2) find_package(Threads) if(THREADS_HAVE_PTHREAD_ARG) diff --git a/src/inspector/inspector.cpp b/src/inspector/inspector.cpp index 9ae38f5..d99b276 100644 --- a/src/inspector/inspector.cpp +++ b/src/inspector/inspector.cpp @@ -6,11 +6,19 @@ #include "../library/os/cpu_info.hpp" using namespace std; -const map<LCC_API_IDENTIFICATION_STRATEGY, string> stringByStrategyId = { + +struct enum_hash { + template <typename T> + constexpr typename std::enable_if<std::is_enum<T>::value, std::size_t>::type operator()(T s) const noexcept { + return static_cast<std::size_t>(s); + } +}; + +const map<LCC_API_IDENTIFICATION_STRATEGY, string, enum_hash> stringByStrategyId = { {STRATEGY_DEFAULT, "DEFAULT"}, {STRATEGY_ETHERNET, "MAC"}, {STRATEGY_IP_ADDRESS, "IP"}, {STRATEGY_DISK_NUM, "Disk1"}, {STRATEGY_DISK_LABEL, "Disk2"}, {STRATEGY_NONE, "Custom"}}; -const unordered_map<LCC_EVENT_TYPE, string> stringByEventType = { +const unordered_map<LCC_EVENT_TYPE, string, enum_hash> stringByEventType = { {LICENSE_OK, "OK "}, {LICENSE_FILE_NOT_FOUND, "license file not found "}, {LICENSE_SERVER_NOT_FOUND, "license server can't be contacted "}, diff --git a/src/library/os/windows/execution_environment.cpp b/src/library/os/windows/execution_environment.cpp index f5a0fb8..86513d5 100644 --- a/src/library/os/windows/execution_environment.cpp +++ b/src/library/os/windows/execution_environment.cpp @@ -1,64 +1,39 @@ -#include <paths.h> +/* + * virtualization.cpp + * + * Created on: Dec 15, 2019 + * Author: GC + */ #include <sys/stat.h> -#include <unistd.h> #include <fstream> #include <iostream> #include <stdio.h> -#include <string.h> -#include <dirent.h> -#include <sys/utsname.h> +#include <string> #include "isvm/BIOSReader.h" #include "isvm/Native.h" #include "../../base/base.h" +#include "../../base/StringUtils.h" #include "../cpu_info.hpp" #include "../execution_environment.hpp" namespace license { +namespace os { using namespace std; - - -VIRTUALIZATION ExecutionEnvironment::getVirtualization() { - VIRTUALIZATION result; - CpuInfo cpuInfo; - bool isContainer = false; - if (isContainer) { - result = CONTAINER; - } else if (cpuInfo.cpu_virtual() || is_cloud()) { - result = VM; - } else { - result = NONE; - } - return result; -} - -bool ExecutionEnvironment::is_cloud() { return getCloudProvider() != ON_PREMISE; } - -bool ExecutionEnvironment::is_docker() { return false; } - -CLOUD_PROVIDER ExecutionEnvironment::getCloudProvider() { +ExecutionEnvironment::ExecutionEnvironment() { if (InitEntryPoints()) { BIOSReader reader; SystemInformation info = reader.readSystemInfo(); - - const char *vmVendors[] = { - "VMware", "Microsoft Corporation", "Virtual Machine", "innotek GmbH", "PowerVM", "Bochs", "KVM"}; - - const int count = _countof(vmVendors); - for (int i = 0; i != count; ++i) { - const char *vendor = vmVendors[i]; - - if (std::string::npos != info.Manufacturer.find(vendor) || - std::string::npos != info.ProductName.find(vendor) || - std::string::npos != info.SerialNum.find(vendor)) { - std::cout << "Inside virual machine!"; - return 1; - } - } - } else { - return -1; + sys_vendor = toupper_copy(info.Manufacturer); + bios_vendor = toupper_copy(info.ProductName); + bios_description = toupper_copy(info.SysVersion) + toupper_copy(info.family); } } +//TODO +bool ExecutionEnvironment::is_docker() const { return false; } +//TODO +bool ExecutionEnvironment::is_container() const { return is_docker(); } +} // namespace os } // namespace license diff --git a/test/functional/CMakeLists.txt b/test/functional/CMakeLists.txt index 6d2397b..bd64037 100644 --- a/test/functional/CMakeLists.txt +++ b/test/functional/CMakeLists.txt @@ -40,6 +40,7 @@ test_signature_verifier licensecc_static license_generator_snippet + ${EXTERNAL_LIBS} Boost::unit_test_framework Boost::filesystem Boost::system -- Gitblit v1.9.1