From 36093433d67c2eb2c2a7b86ff4ffb9138e1f1869 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 25 4月 2020 22:22:00 +0800 Subject: [PATCH] improve tests --- test/library/os/execution_environment_test.cpp | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/test/library/os/execution_environment_test.cpp b/test/library/os/execution_environment_test.cpp index dba290f..a058cd0 100644 --- a/test/library/os/execution_environment_test.cpp +++ b/test/library/os/execution_environment_test.cpp @@ -16,28 +16,33 @@ using namespace license::os; using namespace std; -// To test if virtualization is detected correctly define an env variable VIRT_ENV +// To test if virtualization is detected correctly define an env variable VIRTUAL_ENV // otherwise the test is skipped BOOST_AUTO_TEST_CASE(test_virtualization) { const char *env = getenv("VIRTUAL_ENV"); - os::ExecutionEnvironment exec_env; bool docker = false; if (env != nullptr) { - LCC_API_VIRTUALIZATION_SUMMARY virt = exec_env.virtualization(); - if (strcmp(env, "CONTAINER") == 0 || (docker = (strcmp(env, "DOCKER") == 0))) { - BOOST_CHECK_MESSAGE(virt == LCC_API_VIRTUALIZATION_SUMMARY::CONTAINER, "container detected"); + string required_virtualization(env); + os::ExecutionEnvironment exec_env; + LCC_API_VIRTUALIZATION_SUMMARY detected_virt = exec_env.virtualization(); + if (required_virtualization == "CONTAINER" || (docker = (required_virtualization == "DOCKER"))) { + BOOST_CHECK_MESSAGE(detected_virt == LCC_API_VIRTUALIZATION_SUMMARY::CONTAINER, "container detected"); BOOST_CHECK_MESSAGE(exec_env.is_container(), "container detected"); if (docker) { BOOST_CHECK_MESSAGE(exec_env.is_docker(), "docker detected"); } - } else if (strcmp(env, "VM") == 0) { - BOOST_CHECK_MESSAGE(virt == LCC_API_VIRTUALIZATION_SUMMARY::VM, "VM detected"); + } else if (required_virtualization == "VM") { + BOOST_CHECK_MESSAGE(detected_virt == LCC_API_VIRTUALIZATION_SUMMARY::VM, "VM detected"); BOOST_CHECK_MESSAGE(!exec_env.is_container(), "VM is not a container"); BOOST_CHECK_MESSAGE(!exec_env.is_docker(), "VM is not a docker"); - } else if (strcmp(env, "NONE") == 0) { - BOOST_CHECK_EQUAL(virt, LCC_API_VIRTUALIZATION_SUMMARY::NONE); + BOOST_CHECK_MESSAGE(exec_env.virtualization_detail() != LCC_API_VIRTUALIZATION_DETAIL::BARE_TO_METAL, + "It is not run bare to metal."); + } else if (required_virtualization == "NONE") { + BOOST_CHECK_EQUAL(detected_virt, LCC_API_VIRTUALIZATION_SUMMARY::NONE); BOOST_CHECK_MESSAGE(!exec_env.is_container(), "not a container"); BOOST_CHECK_MESSAGE(!exec_env.is_docker(), "not a docker"); + BOOST_CHECK_MESSAGE(exec_env.virtualization_detail() == LCC_API_VIRTUALIZATION_DETAIL::BARE_TO_METAL, + "running bare to metal."); } else { BOOST_FAIL(string("value ") + env + " not supported: VM,DOCKER,CONTAINER,NONE"); } -- Gitblit v1.9.1