std::string id = netzone.get_name();
if (simgrid::instr::Container::get_root() == nullptr) {
simgrid::instr::NetZoneContainer* root = new simgrid::instr::NetZoneContainer(id, 0, nullptr);
+ xbt_assert(simgrid::instr::Container::get_root() == root);
if (TRACE_smpi_is_enabled()) {
simgrid::instr::ContainerType* mpi = root->type_->by_name_or_create<simgrid::instr::ContainerType>("MPI");
/** @brief Retrieve the engine singleton */
Engine* Engine::get_instance()
{
- if (s4u::Engine::instance_ == nullptr)
- return new Engine(0, nullptr);
- else
- return s4u::Engine::instance_;
+ if (s4u::Engine::instance_ == nullptr) {
+ auto e = new Engine(0, nullptr);
+ xbt_assert(s4u::Engine::instance_ == e);
+ }
+ return s4u::Engine::instance_;
}
void Engine::shutdown()
return MPI_ERR_ARG;
} else{
simgrid::smpi::Topo_Cart* topo = new simgrid::smpi::Topo_Cart(comm_old, ndims, dims, periodic, reorder, comm_cart);
- if(*comm_cart==MPI_COMM_NULL)
+ if (*comm_cart == MPI_COMM_NULL) {
delete topo;
+ } else {
+ xbt_assert((*comm_cart)->topo() == topo);
+ }
return MPI_SUCCESS;
}
}