Skip to content

Commit

Permalink
Init unit test suite for all unit test apps
Browse files Browse the repository at this point in the history
Move the init_unit_test_suite(...) function to a hpp file and
include it in every unit test app:
- app_test
- chain_test
- cli_test
- es_test
- performance_test
  • Loading branch information
abitmore committed Mar 6, 2021
1 parent a035c6b commit 75c8833
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 32 deletions.
3 changes: 1 addition & 2 deletions tests/app/main.cpp
Expand Up @@ -42,8 +42,7 @@

#include "../../libraries/app/application_impl.hxx"

#define BOOST_TEST_MODULE Test Application
#include <boost/test/included/unit_test.hpp>
#include "../common/init_unit_test_suite.hpp"

#include "../common/genesis_file_util.hpp"

Expand Down
3 changes: 1 addition & 2 deletions tests/cli/main.cpp
Expand Up @@ -60,8 +60,7 @@

#include <boost/filesystem/path.hpp>

#define BOOST_TEST_MODULE Test Application
#include <boost/test/included/unit_test.hpp>
#include "../common/init_unit_test_suite.hpp"

/*****
* Global Initialization for Windows
Expand Down
42 changes: 42 additions & 0 deletions tests/common/init_unit_test_suite.hpp
@@ -0,0 +1,42 @@
/*
* Copyright (c) 2015 Cryptonomex, Inc., and contributors.
*
* The MIT License
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <cstdlib>
#include <iostream>
#include <boost/test/included/unit_test.hpp>
#include <chrono>

extern uint32_t GRAPHENE_TESTING_GENESIS_TIMESTAMP;

boost::unit_test::test_suite* init_unit_test_suite(int argc, char* argv[]) {
const auto seed = std::chrono::high_resolution_clock::now().time_since_epoch().count();
std::srand( seed );
std::cout << "Random number generator seeded to " << seed << std::endl;
const char* genesis_timestamp_str = getenv("GRAPHENE_TESTING_GENESIS_TIMESTAMP");
if( genesis_timestamp_str != nullptr )
{
GRAPHENE_TESTING_GENESIS_TIMESTAMP = std::stoul( genesis_timestamp_str );
}
std::cout << "GRAPHENE_TESTING_GENESIS_TIMESTAMP is " << GRAPHENE_TESTING_GENESIS_TIMESTAMP << std::endl;
return nullptr;
}
3 changes: 1 addition & 2 deletions tests/elasticsearch/main.cpp
Expand Up @@ -31,8 +31,7 @@

#include "../common/database_fixture.hpp"

#define BOOST_TEST_MODULE Elastic Search Database Tests
#include <boost/test/included/unit_test.hpp>
#include "../common/init_unit_test_suite.hpp"

#ifdef NDEBUG
#define ES_WAIT_TIME (fc::milliseconds(1000))
Expand Down
8 changes: 1 addition & 7 deletions tests/performance/performance_tests.cpp
Expand Up @@ -22,13 +22,7 @@
* THE SOFTWARE.
*/

#include <boost/test/included/unit_test.hpp>

boost::unit_test::test_suite* init_unit_test_suite(int argc, char* argv[]) {
std::srand(time(NULL));
std::cout << "Random number generator seeded to " << time(NULL) << std::endl;
return nullptr;
}
#include "../common/init_unit_test_suite.hpp"

#include <graphene/chain/database.hpp>

Expand Down
20 changes: 1 addition & 19 deletions tests/tests/main.cpp
Expand Up @@ -21,22 +21,4 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <cstdlib>
#include <iostream>
#include <boost/test/included/unit_test.hpp>
#include <chrono>

extern uint32_t GRAPHENE_TESTING_GENESIS_TIMESTAMP;

boost::unit_test::test_suite* init_unit_test_suite(int argc, char* argv[]) {
const auto seed = std::chrono::high_resolution_clock::now().time_since_epoch().count();
std::srand( seed );
std::cout << "Random number generator seeded to " << seed << std::endl;
const char* genesis_timestamp_str = getenv("GRAPHENE_TESTING_GENESIS_TIMESTAMP");
if( genesis_timestamp_str != nullptr )
{
GRAPHENE_TESTING_GENESIS_TIMESTAMP = std::stoul( genesis_timestamp_str );
}
std::cout << "GRAPHENE_TESTING_GENESIS_TIMESTAMP is " << GRAPHENE_TESTING_GENESIS_TIMESTAMP << std::endl;
return nullptr;
}
#include "../common/init_unit_test_suite.hpp"

0 comments on commit 75c8833

Please sign in to comment.