diff options
author | chriseth <c@ethdev.com> | 2016-08-06 17:37:52 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2016-08-12 21:11:30 +0800 |
commit | 1bc0320811ef2b213bda0629b702bffae5e2f925 (patch) | |
tree | e3b2eaaa5eed840569d0ccf8445e85de05e258b8 /test | |
parent | 0d894a6832d21ba68f0f3d2fea66c8f4efc45815 (diff) | |
download | dexon-solidity-1bc0320811ef2b213bda0629b702bffae5e2f925.tar.gz dexon-solidity-1bc0320811ef2b213bda0629b702bffae5e2f925.tar.zst dexon-solidity-1bc0320811ef2b213bda0629b702bffae5e2f925.zip |
Cleanup of test suite init.
Diffstat (limited to 'test')
-rw-r--r-- | test/TestHelper.cpp | 34 | ||||
-rw-r--r-- | test/TestHelper.h | 22 | ||||
-rw-r--r-- | test/boostTest.cpp | 66 | ||||
-rw-r--r-- | test/libsolidity/SolidityExecutionFramework.cpp | 3 |
4 files changed, 33 insertions, 92 deletions
diff --git a/test/TestHelper.cpp b/test/TestHelper.cpp index a704ab17..bfc5b54c 100644 --- a/test/TestHelper.cpp +++ b/test/TestHelper.cpp @@ -24,28 +24,22 @@ using namespace std; using namespace dev::test; -Options::Options(int argc, char** argv) +Options const& Options::get() { - tArgc = 0; - tArgv = new char*[argc]; - for (auto i = 0; i < argc; i++) - { - string arg = argv[i]; - if (arg == "--ipc" && i + 1 < argc) + static Options instance; + return instance; +} + +Options::Options() +{ + auto const& suite = boost::unit_test::framework::master_test_suite(); + for (auto i = 0; i < suite.argc; i++) + if (string(suite.argv[i]) == "--ipc" && i + 1 < suite.argc) { - ipcPath = argv[i + 1]; + ipcPath = suite.argv[i + 1]; i++; } - else - { - tArgv[i] = argv[i]; - tArgc++; - } - } + if (ipcPath.empty()) + if (auto path = getenv("ETH_TEST_IPC")) + ipcPath = path; } - -Options const& Options::get(int argc, char** argv) -{ - static Options instance(argc, argv); - return instance; -}
\ No newline at end of file diff --git a/test/TestHelper.h b/test/TestHelper.h index 49931614..beb081cd 100644 --- a/test/TestHelper.h +++ b/test/TestHelper.h @@ -103,19 +103,15 @@ namespace test while (0) - class Options - { - public: - std::string ipcPath; - int tArgc; - char **tArgv; - /// Get reference to options - /// The first time used, options are parsed with argc, argv - static Options const& get(int argc = 0, char** argv = 0); +struct Options: boost::noncopyable +{ + std::string ipcPath; + + Options const& get(); + +private: + Options(); +}; - private: - Options(int argc, char** argv = 0); - Options(Options const&) = delete; - }; } } diff --git a/test/boostTest.cpp b/test/boostTest.cpp index 7ed2a6cd..4ddae0b7 100644 --- a/test/boostTest.cpp +++ b/test/boostTest.cpp @@ -26,59 +26,13 @@ #pragma GCC diagnostic ignored "-Wunused-parameter" - #define BOOST_TEST_NO_MAIN - #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4535) // calling _set_se_translator requires /EHa - #endif - #include <boost/test/included/unit_test.hpp> - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - #pragma GCC diagnostic pop - - #include <stdlib.h> - #include <boost/version.hpp> - #include "TestHelper.h" - - using namespace boost::unit_test; - - std::vector<char*> parameters; - static std::ostringstream strCout; - std::streambuf* oldCoutStreamBuf; - std::streambuf* oldCerrStreamBuf; - - //Custom Boost Initialization - test_suite* fake_init_func(int argc, char* argv[]) - { - //Required for boost. -nowarning - (void)argc; - (void)argv; - return 0; - } - - //Custom Boost Unit Test Main - int main(int argc, char* argv[]) - { - //Initialize options before boost reads it - dev::test::Options const& opt = dev::test::Options::get(argc, argv); - return unit_test_main(fake_init_func, opt.tArgc, opt.tArgv); - } - - /* -#else - #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4535) // calling _set_se_translator requires /EHa - #endif - #include <boost/test/included/unit_test.hpp> - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - #pragma GCC diagnostic pop - - #include <test/TestHelper.h> - using namespace boost::unit_test; -#endif*/
\ No newline at end of file +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4535) // calling _set_se_translator requires /EHa +#endif +#include <boost/test/included/unit_test.hpp> +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#pragma GCC diagnostic pop diff --git a/test/libsolidity/SolidityExecutionFramework.cpp b/test/libsolidity/SolidityExecutionFramework.cpp index 921fd056..d0ee13c6 100644 --- a/test/libsolidity/SolidityExecutionFramework.cpp +++ b/test/libsolidity/SolidityExecutionFramework.cpp @@ -39,9 +39,6 @@ string getIPCSocketPath() { string ipcPath = dev::test::Options::get().ipcPath; if (ipcPath.empty()) - if (auto path = getenv("ETH_TEST_IPC")) - ipcPath = path; - if (ipcPath.empty()) BOOST_FAIL("ERROR: ipcPath not set! (use --ipc <path> or the environment variable ETH_TEST_IPC)"); return ipcPath; |