From 806b1356e99ec4f51b32c567c720e7f6154203c9 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周六, 30 11月 2019 17:14:22 +0800 Subject: [PATCH] add pthread to external libs --- test/library/LicenseReader_test.cpp | 114 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 72 insertions(+), 42 deletions(-) diff --git a/test/library/LicenseReader_test.cpp b/test/library/LicenseReader_test.cpp index f4dcfca..03ea2e8 100644 --- a/test/library/LicenseReader_test.cpp +++ b/test/library/LicenseReader_test.cpp @@ -1,68 +1,98 @@ +#define BOOST_TEST_MODULE "test_license_reader" -#define BOOST_TEST_MODULE license_reader_test -//#define BOOST_TEST_MAIN -#define BOOST_TEST_DYN_LINK #include <boost/test/unit_test.hpp> -#include "../../src/library/LicenseReader.h" -#include <build_properties.h> +#include <iostream> +#include <vector> +#include <stdlib.h> +#include <licensecc_properties.h> +#include <licensecc_properties_test.h> +#include <licensecc/datatypes.h> + +#include "../../src/library/base/EventRegistry.h" +#include "../../src/library/os/os.h" +#include "../../src/library/LicenseReader.hpp" + +namespace test { using namespace license; +using namespace std; +/** + * Read license at fixed location + */ +BOOST_AUTO_TEST_CASE(read_single_file) { + const char *licLocation = PROJECT_TEST_SRC_DIR "/library/test_reader.ini"; -BOOST_AUTO_TEST_CASE( read_single_file ) { - const char * licLocation = - PROJECT_TEST_SRC_DIR "/library/reader/test_reader.ini"; - const LicenseLocation location = { licLocation, NULL, false }; - LicenseReader licenseReader(location); + const LicenseLocation location = {licLocation, nullptr}; + LicenseReader licenseReader(&location); vector<FullLicenseInfo> licenseInfos; - EventRegistry registry = licenseReader.readLicenses("PrODUCT", - licenseInfos); + const EventRegistry registry = licenseReader.readLicenses("PrODUCT", licenseInfos); BOOST_CHECK(registry.isGood()); BOOST_CHECK_EQUAL(1, licenseInfos.size()); } -BOOST_AUTO_TEST_CASE( product_not_licensed ) { - const char * licLocation = - PROJECT_TEST_SRC_DIR "/library/reader/test_reader.ini"; - const LicenseLocation location = { licLocation, NULL, false }; - LicenseReader licenseReader(location); +/** + * Test the error return if the product code is not found in the license + */ +BOOST_AUTO_TEST_CASE(product_not_licensed) { + const char *licLocation = PROJECT_TEST_SRC_DIR "/library/test_reader.ini"; + const LicenseLocation location = {licLocation, nullptr}; + LicenseReader licenseReader(&location); vector<FullLicenseInfo> licenseInfos; - EventRegistry registry = licenseReader.readLicenses("PRODUCT-NOT", - licenseInfos); + const EventRegistry registry = licenseReader.readLicenses("PRODUCT-NOT", licenseInfos); BOOST_CHECK(!registry.isGood()); BOOST_CHECK_EQUAL(0, licenseInfos.size()); - BOOST_ASSERT(registry.getLastFailure()!=NULL); - BOOST_CHECK_EQUAL(PRODUCT_NOT_LICENSED, - registry.getLastFailure()->event_type); + BOOST_ASSERT(registry.getLastFailure() != NULL); + BOOST_CHECK_EQUAL(PRODUCT_NOT_LICENSED, registry.getLastFailure()->event_type); } -BOOST_AUTO_TEST_CASE( file_not_found ) { - const char * licLocation = - PROJECT_TEST_SRC_DIR "/library/reader/not_found.ini"; - //const char * envName = "MYVAR"; - const LicenseLocation location = { licLocation, NULL, false }; - LicenseReader licenseReader(location); +/** + * Test the error code if the license file is specified but doesn't exists + */ +BOOST_AUTO_TEST_CASE(file_not_found) { + const char *licLocation = PROJECT_TEST_SRC_DIR "/library/not_found.ini"; + // const char * envName = "MYVAR"; + const LicenseLocation location = {licLocation, nullptr}; + LicenseReader licenseReader(&location); vector<FullLicenseInfo> licenseInfos; - EventRegistry registry = licenseReader.readLicenses("PRODUCT", - licenseInfos); + const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos); BOOST_CHECK(!registry.isGood()); BOOST_CHECK_EQUAL(0, licenseInfos.size()); - BOOST_ASSERT(registry.getLastFailure()!=NULL); - BOOST_CHECK_EQUAL(LICENSE_FILE_NOT_FOUND, - registry.getLastFailure()->event_type); + BOOST_ASSERT(registry.getLastFailure() != NULL); + BOOST_CHECK_EQUAL(LICENSE_FILE_NOT_FOUND, registry.getLastFailure()->event_type); } -BOOST_AUTO_TEST_CASE( env_var_not_defined ) { - const char * envName = "MYVAR"; - const LicenseLocation location = { NULL, envName, false }; - LicenseReader licenseReader(location); +/** + * Test the error code if the license default environment variable isn't specified + */ +BOOST_AUTO_TEST_CASE(env_var_not_defined) { + UNSETENV(LICENSE_LOCATION_ENV_VAR); + const LicenseLocation location = {nullptr, nullptr}; + LicenseReader licenseReader(&location); vector<FullLicenseInfo> licenseInfos; - EventRegistry registry = licenseReader.readLicenses("PRODUCT", - licenseInfos); + const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos); BOOST_CHECK(!registry.isGood()); BOOST_CHECK_EQUAL(0, licenseInfos.size()); - BOOST_ASSERT(registry.getLastFailure()!=NULL); - BOOST_CHECK_EQUAL(ENVIRONMENT_VARIABLE_NOT_DEFINED, - registry.getLastFailure()->event_type); + BOOST_ASSERT(registry.getLastFailure() != NULL); + BOOST_CHECK_EQUAL(ENVIRONMENT_VARIABLE_NOT_DEFINED, registry.getLastFailure()->event_type); } +/** + * Test the error code if the license default environment variable is + * specified but points to a non existent file. + */ +BOOST_AUTO_TEST_CASE(env_var_point_to_wrong_file) { + const char *environment_variable_value = PROJECT_TEST_SRC_DIR "/this/file/doesnt/exist"; + SETENV(LICENSE_LOCATION_ENV_VAR, environment_variable_value) + const LicenseLocation location = {nullptr, nullptr}; + LicenseReader licenseReader(&location); + vector<FullLicenseInfo> licenseInfos; + const EventRegistry registry = licenseReader.readLicenses("PRODUCT", licenseInfos); + cout << registry << endl; + BOOST_CHECK(!registry.isGood()); + BOOST_CHECK_EQUAL(0, licenseInfos.size()); + BOOST_ASSERT(registry.getLastFailure() != NULL); + BOOST_CHECK_EQUAL(LICENSE_FILE_NOT_FOUND, registry.getLastFailure()->event_type); + UNSETENV(LICENSE_LOCATION_ENV_VAR); +} +} /* namespace test*/ -- Gitblit v1.9.1