From c410c7c943665e322419c54268e9ef6acf5faf2b Mon Sep 17 00:00:00 2001 From: Kevin Heifner Date: Thu, 27 Apr 2023 09:07:31 -0500 Subject: [PATCH 1/4] GH-641 Refactor libfc tests into one executable --- libraries/libfc/test/CMakeLists.txt | 23 ++++++++++--------- libraries/libfc/test/crypto/test_blake2.cpp | 3 +-- .../libfc/test/crypto/test_cypher_suites.cpp | 3 +-- .../libfc/test/crypto/test_hash_functions.cpp | 3 +-- .../libfc/test/crypto/test_k1_recover.cpp | 3 +-- .../test/crypto/test_modular_arithmetic.cpp | 3 +-- libraries/libfc/test/crypto/test_utils.hpp | 4 ++-- libraries/libfc/test/crypto/test_webauthn.cpp | 3 +-- libraries/libfc/test/io/test_cfile.cpp | 3 +-- libraries/libfc/test/io/test_json.cpp | 3 +-- .../libfc/test/io/test_tracked_storage.cpp | 3 +-- .../test/network/test_message_buffer.cpp | 3 +-- .../test/scoped_exit/test_scoped_exit.cpp | 3 +-- .../static_variant/test_static_variant.cpp | 3 +-- libraries/libfc/test/test_base64.cpp | 2 +- libraries/libfc/test/variant/test_variant.cpp | 3 +-- .../test_variant_estimated_size.cpp | 3 +-- 17 files changed, 29 insertions(+), 42 deletions(-) diff --git a/libraries/libfc/test/CMakeLists.txt b/libraries/libfc/test/CMakeLists.txt index b71efc19df..4dc210cde4 100644 --- a/libraries/libfc/test/CMakeLists.txt +++ b/libraries/libfc/test/CMakeLists.txt @@ -1,12 +1,13 @@ -add_subdirectory( crypto ) -add_subdirectory( io ) -add_subdirectory( network ) -add_subdirectory( scoped_exit ) -add_subdirectory( static_variant ) -add_subdirectory( variant ) -add_subdirectory( variant_estimated_size ) +file(GLOB UNIT_TESTS + "*.cpp" + "crypto/*.cpp" + "io/*.cpp" + "network/*.cpp" + "scoped_exit/*.cpp" + "static_variant/*.cpp" + "variant/*.cpp" + "variant_estimated_size/*.cpp") +add_executable( test_fc ${UNIT_TESTS} ) +target_link_libraries( test_fc fc ) -add_executable( test_base64 test_base64.cpp ) -target_link_libraries( test_base64 fc ) - -add_test(NAME test_base64 COMMAND test_base64 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) +add_test(NAME test_fc COMMAND test_fc WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) diff --git a/libraries/libfc/test/crypto/test_blake2.cpp b/libraries/libfc/test/crypto/test_blake2.cpp index bd0284f64e..ce55b95cc3 100644 --- a/libraries/libfc/test/crypto/test_blake2.cpp +++ b/libraries/libfc/test/crypto/test_blake2.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE blake2 -#include +#include #include #include diff --git a/libraries/libfc/test/crypto/test_cypher_suites.cpp b/libraries/libfc/test/crypto/test_cypher_suites.cpp index 2a421a822b..9189cd6385 100644 --- a/libraries/libfc/test/crypto/test_cypher_suites.cpp +++ b/libraries/libfc/test/crypto/test_cypher_suites.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE cypher_suites -#include +#include #include #include diff --git a/libraries/libfc/test/crypto/test_hash_functions.cpp b/libraries/libfc/test/crypto/test_hash_functions.cpp index 7612e497d0..a77b927256 100644 --- a/libraries/libfc/test/crypto/test_hash_functions.cpp +++ b/libraries/libfc/test/crypto/test_hash_functions.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE hash_functions -#include +#include #include #include diff --git a/libraries/libfc/test/crypto/test_k1_recover.cpp b/libraries/libfc/test/crypto/test_k1_recover.cpp index a93311ef49..cc16451cb4 100644 --- a/libraries/libfc/test/crypto/test_k1_recover.cpp +++ b/libraries/libfc/test/crypto/test_k1_recover.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE blake2 -#include +#include #include #include diff --git a/libraries/libfc/test/crypto/test_modular_arithmetic.cpp b/libraries/libfc/test/crypto/test_modular_arithmetic.cpp index 0e029dd1e7..f0bf5bd4f9 100644 --- a/libraries/libfc/test/crypto/test_modular_arithmetic.cpp +++ b/libraries/libfc/test/crypto/test_modular_arithmetic.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE modular_arithmetic -#include +#include #include #include diff --git a/libraries/libfc/test/crypto/test_utils.hpp b/libraries/libfc/test/crypto/test_utils.hpp index f70dbc84c7..25cdafbf21 100644 --- a/libraries/libfc/test/crypto/test_utils.hpp +++ b/libraries/libfc/test/crypto/test_utils.hpp @@ -1,9 +1,9 @@ -uint32_t to_uint32(const std::string& s) { +inline uint32_t to_uint32(const std::string& s) { size_t l = s.size(); return (uint32_t)std::stoul(s.c_str(), &l, 16); } -bytes to_bytes(const std::string& source) { +inline bytes to_bytes(const std::string& source) { BOOST_REQUIRE(!(source.length() % 2)); bytes output(source.length()/2); fc::from_hex(source, output.data(), output.size()); diff --git a/libraries/libfc/test/crypto/test_webauthn.cpp b/libraries/libfc/test/crypto/test_webauthn.cpp index ba5a5bd0ff..600d543f5c 100644 --- a/libraries/libfc/test/crypto/test_webauthn.cpp +++ b/libraries/libfc/test/crypto/test_webauthn.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE webauthn_test_mod -#include +#include #include #include diff --git a/libraries/libfc/test/io/test_cfile.cpp b/libraries/libfc/test/io/test_cfile.cpp index 4dc329ae20..58546bff46 100644 --- a/libraries/libfc/test/io/test_cfile.cpp +++ b/libraries/libfc/test/io/test_cfile.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE io -#include +#include #include diff --git a/libraries/libfc/test/io/test_json.cpp b/libraries/libfc/test/io/test_json.cpp index 4794ec7ed0..372e909980 100644 --- a/libraries/libfc/test/io/test_json.cpp +++ b/libraries/libfc/test/io/test_json.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE io_json -#include +#include #include #include diff --git a/libraries/libfc/test/io/test_tracked_storage.cpp b/libraries/libfc/test/io/test_tracked_storage.cpp index 2c478d687f..e9d4fafea0 100644 --- a/libraries/libfc/test/io/test_tracked_storage.cpp +++ b/libraries/libfc/test/io/test_tracked_storage.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE tracked_storage -#include +#include #include #include #include diff --git a/libraries/libfc/test/network/test_message_buffer.cpp b/libraries/libfc/test/network/test_message_buffer.cpp index de872f43cb..c1578d9f65 100644 --- a/libraries/libfc/test/network/test_message_buffer.cpp +++ b/libraries/libfc/test/network/test_message_buffer.cpp @@ -2,8 +2,7 @@ #include -#define BOOST_TEST_MODULE message_buffer -#include +#include namespace { size_t mb_size(boost::asio::mutable_buffer& mb) { diff --git a/libraries/libfc/test/scoped_exit/test_scoped_exit.cpp b/libraries/libfc/test/scoped_exit/test_scoped_exit.cpp index d143cae4cf..32356c00f3 100644 --- a/libraries/libfc/test/scoped_exit/test_scoped_exit.cpp +++ b/libraries/libfc/test/scoped_exit/test_scoped_exit.cpp @@ -1,7 +1,6 @@ #include -#define BOOST_TEST_MODULE scoped_exit -#include +#include using namespace fc; diff --git a/libraries/libfc/test/static_variant/test_static_variant.cpp b/libraries/libfc/test/static_variant/test_static_variant.cpp index 77cbaa7dd9..9ebc9da07c 100644 --- a/libraries/libfc/test/static_variant/test_static_variant.cpp +++ b/libraries/libfc/test/static_variant/test_static_variant.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE static_variant -#include +#include #include #include #include diff --git a/libraries/libfc/test/test_base64.cpp b/libraries/libfc/test/test_base64.cpp index f1a7cc2803..64e977dc81 100644 --- a/libraries/libfc/test/test_base64.cpp +++ b/libraries/libfc/test/test_base64.cpp @@ -1,4 +1,4 @@ -#define BOOST_TEST_MODULE base64 +#define BOOST_TEST_MODULE libfc #include #include diff --git a/libraries/libfc/test/variant/test_variant.cpp b/libraries/libfc/test/variant/test_variant.cpp index 252a49f482..9d3df2df07 100644 --- a/libraries/libfc/test/variant/test_variant.cpp +++ b/libraries/libfc/test/variant/test_variant.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE variant -#include +#include #include #include diff --git a/libraries/libfc/test/variant_estimated_size/test_variant_estimated_size.cpp b/libraries/libfc/test/variant_estimated_size/test_variant_estimated_size.cpp index 9027f73dd5..9e7e7b26a0 100644 --- a/libraries/libfc/test/variant_estimated_size/test_variant_estimated_size.cpp +++ b/libraries/libfc/test/variant_estimated_size/test_variant_estimated_size.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE variant -#include +#include #include #include From 72d47e0a217b86b92d1f9d9a71e6de24bfac8657 Mon Sep 17 00:00:00 2001 From: Kevin Heifner Date: Thu, 27 Apr 2023 09:13:39 -0500 Subject: [PATCH 2/4] GH-641 Remove unneeded CMakeLists.txt files --- libraries/libfc/test/crypto/CMakeLists.txt | 24 ------------------- libraries/libfc/test/io/CMakeLists.txt | 14 ----------- libraries/libfc/test/network/CMakeLists.txt | 4 ---- .../libfc/test/scoped_exit/CMakeLists.txt | 4 ---- .../libfc/test/static_variant/CMakeLists.txt | 4 ---- libraries/libfc/test/variant/CMakeLists.txt | 4 ---- .../variant_estimated_size/CMakeLists.txt | 4 ---- 7 files changed, 58 deletions(-) delete mode 100644 libraries/libfc/test/crypto/CMakeLists.txt delete mode 100644 libraries/libfc/test/io/CMakeLists.txt delete mode 100644 libraries/libfc/test/network/CMakeLists.txt delete mode 100644 libraries/libfc/test/scoped_exit/CMakeLists.txt delete mode 100644 libraries/libfc/test/static_variant/CMakeLists.txt delete mode 100644 libraries/libfc/test/variant/CMakeLists.txt delete mode 100644 libraries/libfc/test/variant_estimated_size/CMakeLists.txt diff --git a/libraries/libfc/test/crypto/CMakeLists.txt b/libraries/libfc/test/crypto/CMakeLists.txt deleted file mode 100644 index 14fb28bdfd..0000000000 --- a/libraries/libfc/test/crypto/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -add_executable( test_cypher_suites test_cypher_suites.cpp ) -target_link_libraries( test_cypher_suites fc ) - -add_executable( test_webauthn test_webauthn.cpp ) -target_link_libraries( test_webauthn fc ) - -add_executable( test_hash_functions test_hash_functions.cpp ) -target_link_libraries( test_hash_functions fc ) - -add_executable( test_blake2 test_blake2.cpp ) -target_link_libraries( test_blake2 fc ) - -add_executable( test_modular_arithmetic test_modular_arithmetic.cpp ) -target_link_libraries( test_modular_arithmetic fc ) - -add_executable( test_k1_recover test_k1_recover.cpp ) -target_link_libraries( test_k1_recover fc ) - -add_test(NAME test_cypher_suites COMMAND test_cypher_suites WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_test(NAME test_webauthn COMMAND test_webauthn WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_test(NAME test_hash_functions COMMAND test_hash_functions WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_test(NAME test_blake2 COMMAND test_blake2 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_test(NAME test_modular_arithmetic COMMAND test_modular_arithmetic WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_test(NAME test_k1_recover COMMAND test_k1_recover WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) \ No newline at end of file diff --git a/libraries/libfc/test/io/CMakeLists.txt b/libraries/libfc/test/io/CMakeLists.txt deleted file mode 100644 index 6041a6686c..0000000000 --- a/libraries/libfc/test/io/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -add_executable( test_cfile test_cfile.cpp ) -target_link_libraries( test_cfile fc ) - -add_executable( test_json test_json.cpp ) -target_link_libraries( test_json fc ) - -add_executable( test_tracked_storage test_tracked_storage.cpp ) -target_link_libraries( test_tracked_storage fc ) - -add_test(NAME test_cfile COMMAND test_cfile WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_test(NAME test_json COMMAND test_json WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) -add_test(NAME test_tracked_storage COMMAND test_tracked_storage WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) - - diff --git a/libraries/libfc/test/network/CMakeLists.txt b/libraries/libfc/test/network/CMakeLists.txt deleted file mode 100644 index 31c2d229db..0000000000 --- a/libraries/libfc/test/network/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -add_executable( test_message_buffer test_message_buffer.cpp) -target_link_libraries( test_message_buffer fc ) - -add_test(NAME test_message_buffer COMMAND test_message_buffer WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) diff --git a/libraries/libfc/test/scoped_exit/CMakeLists.txt b/libraries/libfc/test/scoped_exit/CMakeLists.txt deleted file mode 100644 index bd627de3fa..0000000000 --- a/libraries/libfc/test/scoped_exit/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -add_executable( test_scoped_exit test_scoped_exit.cpp ) -target_link_libraries( test_scoped_exit fc ) - -add_test(NAME test_scope_exit COMMAND test_scoped_exit WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) diff --git a/libraries/libfc/test/static_variant/CMakeLists.txt b/libraries/libfc/test/static_variant/CMakeLists.txt deleted file mode 100644 index f07097c6c9..0000000000 --- a/libraries/libfc/test/static_variant/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -add_executable( test_static_variant test_static_variant.cpp) -target_link_libraries( test_static_variant fc ) - -add_test(NAME test_static_variant COMMAND test_static_variant WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) diff --git a/libraries/libfc/test/variant/CMakeLists.txt b/libraries/libfc/test/variant/CMakeLists.txt deleted file mode 100644 index 4114d1a4c1..0000000000 --- a/libraries/libfc/test/variant/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -add_executable( test_variant test_variant.cpp ) -target_link_libraries( test_variant fc ) - -add_test(NAME test_variant COMMAND test_variant WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) diff --git a/libraries/libfc/test/variant_estimated_size/CMakeLists.txt b/libraries/libfc/test/variant_estimated_size/CMakeLists.txt deleted file mode 100644 index f7c46f4b1e..0000000000 --- a/libraries/libfc/test/variant_estimated_size/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -add_executable( variant_estimated_size test_variant_estimated_size.cpp ) -target_link_libraries( variant_estimated_size fc ) - -add_test(NAME test_variant_estimated_size COMMAND variant_estimated_size) From 8db6fd8654a159ab6ba0f12647472362aafa1223 Mon Sep 17 00:00:00 2001 From: Kevin Heifner Date: Thu, 27 Apr 2023 11:32:09 -0500 Subject: [PATCH 3/4] GH-641 Explicitly list source files to avoid cmake issues with GLOB --- libraries/libfc/test/CMakeLists.txt | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/libraries/libfc/test/CMakeLists.txt b/libraries/libfc/test/CMakeLists.txt index 4dc210cde4..bacd693aef 100644 --- a/libraries/libfc/test/CMakeLists.txt +++ b/libraries/libfc/test/CMakeLists.txt @@ -1,13 +1,20 @@ -file(GLOB UNIT_TESTS - "*.cpp" - "crypto/*.cpp" - "io/*.cpp" - "network/*.cpp" - "scoped_exit/*.cpp" - "static_variant/*.cpp" - "variant/*.cpp" - "variant_estimated_size/*.cpp") -add_executable( test_fc ${UNIT_TESTS} ) +add_executable( test_fc + crypto/test_blake2.cpp + crypto/test_cypher_suites.cpp + crypto/test_hash_functions.cpp + crypto/test_k1_recover.cpp + crypto/test_modular_arithmetic.cpp + crypto/test_webauthn.cpp + io/test_cfile.cpp + io/test_json.cpp + io/test_tracked_storage.cpp + network/test_message_buffer.cpp + scoped_exit/test_scoped_exit.cpp + static_variant/test_static_variant.cpp + variant/test_variant.cpp + variant_estimated_size/test_variant_estimated_size.cpp + test_base64.cpp + ) target_link_libraries( test_fc fc ) add_test(NAME test_fc COMMAND test_fc WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) From ca7e9b1ae4b788aea17cf2b4e44eb4ca9b2924dc Mon Sep 17 00:00:00 2001 From: Kevin Heifner Date: Fri, 28 Apr 2023 07:12:00 -0500 Subject: [PATCH 4/4] GH-641 Add an explicit main --- libraries/libfc/test/CMakeLists.txt | 1 + libraries/libfc/test/main.cpp | 2 ++ libraries/libfc/test/test_base64.cpp | 3 +-- 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 libraries/libfc/test/main.cpp diff --git a/libraries/libfc/test/CMakeLists.txt b/libraries/libfc/test/CMakeLists.txt index bacd693aef..5f9d7c48b0 100644 --- a/libraries/libfc/test/CMakeLists.txt +++ b/libraries/libfc/test/CMakeLists.txt @@ -14,6 +14,7 @@ add_executable( test_fc variant/test_variant.cpp variant_estimated_size/test_variant_estimated_size.cpp test_base64.cpp + main.cpp ) target_link_libraries( test_fc fc ) diff --git a/libraries/libfc/test/main.cpp b/libraries/libfc/test/main.cpp new file mode 100644 index 0000000000..8d4461639a --- /dev/null +++ b/libraries/libfc/test/main.cpp @@ -0,0 +1,2 @@ +#define BOOST_TEST_MODULE libfc +#include diff --git a/libraries/libfc/test/test_base64.cpp b/libraries/libfc/test/test_base64.cpp index 64e977dc81..ff6ac6a0ec 100644 --- a/libraries/libfc/test/test_base64.cpp +++ b/libraries/libfc/test/test_base64.cpp @@ -1,5 +1,4 @@ -#define BOOST_TEST_MODULE libfc -#include +#include #include #include