X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/de3873f6bb7a9aff6d85dbbe999b93f58b48cd7b..3721210a272c9593a3bccd52f63178403b5729e3:/teshsuite/s4u/comm-pt2pt/comm-pt2pt.cpp diff --git a/teshsuite/s4u/comm-pt2pt/comm-pt2pt.cpp b/teshsuite/s4u/comm-pt2pt/comm-pt2pt.cpp index 68dfbc0728..ab82939ac0 100644 --- a/teshsuite/s4u/comm-pt2pt/comm-pt2pt.cpp +++ b/teshsuite/s4u/comm-pt2pt/comm-pt2pt.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -50,8 +50,8 @@ static void sender(std::vector args) XBT_INFO("Sender spec: %s", args[0].c_str()); for (unsigned int test = 1; test <= args[0].size(); test++) { this_actor::sleep_until(test * 5 - 5); - const char* mboxName = (std::string("Test #") + std::to_string(test)).c_str(); - simgrid::s4u::MailboxPtr mbox = simgrid::s4u::Mailbox::byName(mboxName); + std::string* mboxName = new std::string("Test #" + std::to_string(test)); + simgrid::s4u::MailboxPtr mbox = simgrid::s4u::Mailbox::byName(mboxName->c_str()); switch (args[0][test - 1]) { case 'r': @@ -97,8 +97,8 @@ static void receiver(std::vector args) XBT_INFO("Receiver spec: %s", args[0].c_str()); for (unsigned int test = 1; test <= args[0].size(); test++) { this_actor::sleep_until(test * 5 - 5); - const char* mboxName = (std::string("Test #") + std::to_string(test)).c_str(); - simgrid::s4u::MailboxPtr mbox = simgrid::s4u::Mailbox::byName(mboxName); + std::string mboxName = "Test #" + std::to_string(test); + simgrid::s4u::MailboxPtr mbox = simgrid::s4u::Mailbox::byName(mboxName.c_str()); void* received = nullptr; switch (args[0][test - 1]) { @@ -146,8 +146,9 @@ static void receiver(std::vector args) default: xbt_die("Unknown receiver spec for test %u: '%c'", test, args[0][test - 1]); } - - xbt_assert(strcmp(static_cast(received), mboxName) == 0); + std::string* receivedStr = static_cast(received); + xbt_assert(*receivedStr == mboxName); + delete receivedStr; XBT_INFO("Test %u OK", test); } simgrid::s4u::this_actor::sleep_for(0.5); @@ -165,11 +166,11 @@ int main(int argc, char* argv[]) std::vector argSend{specSend.c_str()}; std::vector argRecv{specRecv.c_str()}; - simgrid::s4u::Engine* e = new simgrid::s4u::Engine(&argc, argv); + simgrid::s4u::Engine e(&argc, argv); if (argc < 2) usage(argv[0], specSend.c_str(), specRecv.c_str()); - e->loadPlatform(argv[1]); + e.load_platform(argv[1]); if (argc >= 3) { argSend.clear(); @@ -181,14 +182,13 @@ int main(int argc, char* argv[]) } xbt_assert(argSend.front().size() == argRecv.front().size(), "Sender and receiver spec must be of the same size"); - simgrid::s4u::Host** hosts = sg_host_list(); - simgrid::s4u::Actor::createActor("sender", hosts[0], sender, argSend); - simgrid::s4u::Actor::createActor("recver", hosts[1], receiver, argRecv); - xbt_free(hosts); + std::vector hosts = e.get_all_hosts(); + + simgrid::s4u::Actor::create("sender", hosts[0], sender, argSend); + simgrid::s4u::Actor::create("recver", hosts[1], receiver, argRecv); - e->run(); - XBT_INFO("Simulation time %g", e->getClock()); + e.run(); + XBT_INFO("Simulation time %g", e.getClock()); - delete e; return 0; }