diff --git a/src/utils/Messenger.hpp b/src/utils/Messenger.hpp index a04c664d7dcbe36817d2748a6f27e0b8d8dc3481..061fdc7861a4bcce7a824f000e00f0b37bace935 100644 --- a/src/utils/Messenger.hpp +++ b/src/utils/Messenger.hpp @@ -770,10 +770,12 @@ class Messenger Array s = convert_to_array(data); broadcast(s, root_rank); if (m_rank != root_rank) { + // LCOV_EXCL_START data.resize(s.size()); for (size_t i = 0; i < s.size(); ++i) { data[i] = s[i]; } + // LCOV_EXCL_STOP } } else { static_assert(is_false_v<DataType>, "unexpected type of data"); diff --git a/tests/test_Messenger.cpp b/tests/test_Messenger.cpp index 4565614fbcd4e4dc387527b77ddb1be23b092e23..3789f2e4ffaba718b4a936d61a2e5bb9b867e77f 100644 --- a/tests/test_Messenger.cpp +++ b/tests/test_Messenger.cpp @@ -123,6 +123,8 @@ TEST_CASE("Messenger", "[mpi]") int size = 1; IF_MPI(MPI_Comm_size(MPI_COMM_WORLD, &size)); REQUIRE(size == static_cast<int>(parallel::size())); + + REQUIRE(parallel::size() <= parallel::Messenger::getInstance().globalSize()); } SECTION("reduction")