From ea6d925a5da79288bc2a3197c30f11c895a07a1a Mon Sep 17 00:00:00 2001 From: chriseth Date: Wed, 26 Apr 2017 11:53:44 +0200 Subject: Option to disable/remove all tests that require IPC. --- test/TestHelper.cpp | 4 +++- test/TestHelper.h | 1 + test/boostTest.cpp | 31 +++++++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/TestHelper.cpp b/test/TestHelper.cpp index 0c0857c9..094b59c6 100644 --- a/test/TestHelper.cpp +++ b/test/TestHelper.cpp @@ -43,8 +43,10 @@ Options::Options() optimize = true; else if (string(suite.argv[i]) == "--show-messages") showMessages = true; + else if (string(suite.argv[i]) == "--no-ipc") + disableIPC = true; - if (ipcPath.empty()) + if (!disableIPC && ipcPath.empty()) if (auto path = getenv("ETH_TEST_IPC")) ipcPath = path; } diff --git a/test/TestHelper.h b/test/TestHelper.h index 8f05eead..3e74b54c 100644 --- a/test/TestHelper.h +++ b/test/TestHelper.h @@ -108,6 +108,7 @@ struct Options: boost::noncopyable std::string ipcPath; bool showMessages = false; bool optimize = false; + bool disableIPC = false; static Options const& get(); diff --git a/test/boostTest.cpp b/test/boostTest.cpp index d1d35be3..6fc1c925 100644 --- a/test/boostTest.cpp +++ b/test/boostTest.cpp @@ -21,11 +21,9 @@ * Original code taken from boost sources. */ -#define BOOST_TEST_MODULE EthereumTests #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" - #if defined(_MSC_VER) #pragma warning(push) #pragma warning(disable:4535) // calling _set_se_translator requires /EHa @@ -36,3 +34,32 @@ #endif #pragma GCC diagnostic pop + +#include + +using namespace boost::unit_test; + +test_suite* init_unit_test_suite( int /*argc*/, char* /*argv*/[] ) +{ + master_test_suite_t& master = framework::master_test_suite(); + master.p_name.value = "SolidityTests"; + if (dev::test::Options::get().disableIPC) + { + for (auto suite: { + "SolidityAuctionRegistrar", + "SolidityFixedFeeRegistrar", + "SolidityWallet", + "LLLEndToEndTest", + "GasMeterTests", + "SolidityEndToEndTest", + "SolidityOptimizer" + }) + { + auto id = master.get(suite); + assert(id != INV_TEST_UNIT_ID); + master.remove(id); + } + } + + return 0; +} -- cgit