X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/e1a5484101efbff9c8d982a0c4650f7953ee7e2f..737a256dd1d7adf4255c24729ae6069284049d2c:/src/kernel/routing/StarZone_test.cpp diff --git a/src/kernel/routing/StarZone_test.cpp b/src/kernel/routing/StarZone_test.cpp index 46126ba52f..d9c5a98908 100644 --- a/src/kernel/routing/StarZone_test.cpp +++ b/src/kernel/routing/StarZone_test.cpp @@ -11,8 +11,6 @@ #include "simgrid/s4u/Host.hpp" #include "simgrid/s4u/NetZone.hpp" #include "src/surf/network_interface.hpp" -#include "src/surf/surf_interface.hpp" // create models -#include "src/surf/xml/platf_private.hpp" // RouteCreationArgs and friends namespace { class EngineWrapper { @@ -32,23 +30,30 @@ TEST_CASE("kernel::routing::StarZone: Creating Zone", "[creation]") REQUIRE(simgrid::s4u::create_star_zone("test")); } -// One day we may be able to test contracts and asserts with catch2 -// https://github.com/catchorg/Catch2/issues/853 -TEST_CASE("kernel::routing::StarZone: Adding routes (hosts): assert", "[.][assert]") +TEST_CASE("kernel::routing::StarZone: Adding routes (hosts): exception", "") { EngineWrapper e("test"); auto* zone = new simgrid::kernel::routing::StarZone("test"); auto* netpoint1 = new simgrid::kernel::routing::NetPoint("netpoint1", simgrid::kernel::routing::NetPoint::Type::Host); auto* netpoint2 = new simgrid::kernel::routing::NetPoint("netpoint2", simgrid::kernel::routing::NetPoint::Type::Host); - SECTION("src and dst: nullptr") { zone->add_route(nullptr, nullptr, nullptr, nullptr, {}, false); } + SECTION("src and dst: nullptr") + { + REQUIRE_THROWS_AS(zone->add_route(nullptr, nullptr, nullptr, nullptr, {}, false), std::invalid_argument); + } - SECTION("src: nullptr and symmetrical: true") { zone->add_route(nullptr, netpoint2, nullptr, nullptr, {}, true); } + SECTION("src: nullptr and symmetrical: true") + { + REQUIRE_THROWS_AS(zone->add_route(nullptr, netpoint2, nullptr, nullptr, {}, true), std::invalid_argument); + } - SECTION("src and dst: not nullptr") { zone->add_route(netpoint1, netpoint2, nullptr, nullptr, {}, false); } + SECTION("src and dst: not nullptr") + { + REQUIRE_THROWS_AS(zone->add_route(netpoint1, netpoint2, nullptr, nullptr, {}, false), std::invalid_argument); + } } -TEST_CASE("kernel::routing::StarZone: Adding routes (netzones): assert", "[.][assert]") +TEST_CASE("kernel::routing::StarZone: Adding routes (netzones): exception", "") { EngineWrapper e("test"); auto* zone = new simgrid::kernel::routing::StarZone("test"); @@ -57,28 +62,33 @@ TEST_CASE("kernel::routing::StarZone: Adding routes (netzones): assert", "[.][as auto* netpoint2 = new simgrid::kernel::routing::NetPoint("netpoint2", simgrid::kernel::routing::NetPoint::Type::NetZone); - SECTION("src: is a netzone and gw_src: nullptr") { zone->add_route(netpoint1, nullptr, nullptr, nullptr, {}, false); } + SECTION("src: is a netzone and gw_src: nullptr") + { + REQUIRE_THROWS_AS(zone->add_route(netpoint1, nullptr, nullptr, nullptr, {}, false), std::invalid_argument); + } SECTION("src: is a netzone and gw_src: is a netzone") { - zone->add_route(netpoint1, nullptr, netpoint2, nullptr, {}, false); + REQUIRE_THROWS_AS(zone->add_route(netpoint1, nullptr, netpoint2, nullptr, {}, false), std::invalid_argument); } - SECTION("dst: is a netzone and gw_dst: nullptr") { zone->add_route(nullptr, netpoint2, nullptr, nullptr, {}, false); } + SECTION("dst: is a netzone and gw_dst: nullptr") + { + REQUIRE_THROWS_AS(zone->add_route(nullptr, netpoint2, nullptr, nullptr, {}, false), std::invalid_argument); + } SECTION("dst: is a netzone and gw_dst: is a netzone") { - zone->add_route(nullptr, netpoint2, nullptr, netpoint1, {}, false); + REQUIRE_THROWS_AS(zone->add_route(nullptr, netpoint2, nullptr, netpoint1, {}, false), std::invalid_argument); } } +// One day we may be able to test contracts and asserts with catch2 +// https://github.com/catchorg/Catch2/issues/853 TEST_CASE("kernel::routing::StarZone: Get routes: assert", "[.][assert]") { - /* workaround to initialize things, they must be done in this particular order */ EngineWrapper e("test"); auto* zone = new simgrid::kernel::routing::StarZone("test"); - surf_network_model_init_LegrandVelho(); - surf_cpu_model_init_Cas01(); const auto* host1 = zone->create_host("netpoint1", {100}); const auto* host2 = zone->create_host("netpoint2", {100}); @@ -92,7 +102,7 @@ TEST_CASE("kernel::routing::StarZone: Get routes: assert", "[.][assert]") zone->add_route(host1->get_netpoint(), nullptr, nullptr, nullptr, links, true); zone->add_route(nullptr, host2->get_netpoint(), nullptr, nullptr, links2, false); double lat; - simgrid::kernel::routing::RouteCreationArgs route; + simgrid::kernel::routing::Route route; zone->get_local_route(host2->get_netpoint(), host1->get_netpoint(), &route, &lat); } @@ -101,7 +111,7 @@ TEST_CASE("kernel::routing::StarZone: Get routes: assert", "[.][assert]") zone->add_route(host1->get_netpoint(), nullptr, nullptr, nullptr, links, false); zone->add_route(host2->get_netpoint(), nullptr, nullptr, nullptr, links2, true); double lat; - simgrid::kernel::routing::RouteCreationArgs route; + simgrid::kernel::routing::Route route; zone->get_local_route(host2->get_netpoint(), host1->get_netpoint(), &route, &lat); } } @@ -144,11 +154,8 @@ TEST_CASE("kernel::routing::StarZone: Adding routes (netzones): valid", "") TEST_CASE("kernel::routing::StarZone: Get routes (hosts)", "") { - /* workaround to initialize things, they must be done in this particular order */ EngineWrapper e("test"); auto* zone = new simgrid::kernel::routing::StarZone("test"); - surf_network_model_init_LegrandVelho(); - surf_cpu_model_init_Cas01(); const auto* host1 = zone->create_host("netpoint1", {100}); const auto* host2 = zone->create_host("netpoint2", {100}); @@ -164,14 +171,14 @@ TEST_CASE("kernel::routing::StarZone: Get routes (hosts)", "") zone->seal(); double lat = 0.0; - simgrid::kernel::routing::RouteCreationArgs route; + simgrid::kernel::routing::Route route; zone->get_local_route(host1->get_netpoint(), host2->get_netpoint(), &route, &lat); REQUIRE(lat == 30); - REQUIRE(route.gw_src == nullptr); - REQUIRE(route.gw_dst == nullptr); - REQUIRE(route.link_list.size() == 2); - REQUIRE(route.link_list[0]->get_name() == "link1"); - REQUIRE(route.link_list[1]->get_name() == "link2"); + REQUIRE(route.gw_src_ == nullptr); + REQUIRE(route.gw_dst_ == nullptr); + REQUIRE(route.link_list_.size() == 2); + REQUIRE(route.link_list_[0]->get_name() == "link1"); + REQUIRE(route.link_list_[1]->get_name() == "link2"); } SECTION("Get route: shared link(backbone)") @@ -189,13 +196,13 @@ TEST_CASE("kernel::routing::StarZone: Get routes (hosts)", "") zone->seal(); double lat = 0.0; - simgrid::kernel::routing::RouteCreationArgs route; + simgrid::kernel::routing::Route route; zone->get_local_route(host1->get_netpoint(), host2->get_netpoint(), &route, &lat); REQUIRE(lat == 130); - REQUIRE(route.link_list.size() == 3); - REQUIRE(route.link_list[0]->get_name() == "link1"); - REQUIRE(route.link_list[1]->get_name() == "backbone"); - REQUIRE(route.link_list[2]->get_name() == "link2"); + REQUIRE(route.link_list_.size() == 3); + REQUIRE(route.link_list_[0]->get_name() == "link1"); + REQUIRE(route.link_list_[1]->get_name() == "backbone"); + REQUIRE(route.link_list_[2]->get_name() == "link2"); } SECTION("Get route: loopback") @@ -209,22 +216,19 @@ TEST_CASE("kernel::routing::StarZone: Get routes (hosts)", "") zone->seal(); double lat = 0.0; - simgrid::kernel::routing::RouteCreationArgs route; + simgrid::kernel::routing::Route route; zone->get_local_route(host1->get_netpoint(), host1->get_netpoint(), &route, &lat); REQUIRE(lat == 110); - REQUIRE(route.link_list.size() == 2); - REQUIRE(route.link_list[0]->get_name() == "link1"); - REQUIRE(route.link_list[1]->get_name() == "backbone"); + REQUIRE(route.link_list_.size() == 2); + REQUIRE(route.link_list_[0]->get_name() == "link1"); + REQUIRE(route.link_list_[1]->get_name() == "backbone"); } } TEST_CASE("kernel::routing::StarZone: Get routes (netzones)", "") { - /* workaround to initialize things, they must be done in this particular order */ EngineWrapper e("test"); auto* zone = new simgrid::kernel::routing::StarZone("test"); - surf_network_model_init_LegrandVelho(); - surf_cpu_model_init_Cas01(); auto* subzone1 = (new simgrid::kernel::routing::NetPoint("subzone1", simgrid::kernel::routing::NetPoint::Type::NetZone)) @@ -246,13 +250,13 @@ TEST_CASE("kernel::routing::StarZone: Get routes (netzones)", "") zone->seal(); double lat = 0.0; - simgrid::kernel::routing::RouteCreationArgs route; + simgrid::kernel::routing::Route route; zone->get_local_route(subzone1, subzone2, &route, &lat); REQUIRE(lat == 30); - REQUIRE(route.gw_src == router1); - REQUIRE(route.gw_dst == router2); - REQUIRE(route.link_list.size() == 2); - REQUIRE(route.link_list[0]->get_name() == "link1"); - REQUIRE(route.link_list[1]->get_name() == "link2"); + REQUIRE(route.gw_src_ == router1); + REQUIRE(route.gw_dst_ == router2); + REQUIRE(route.link_list_.size() == 2); + REQUIRE(route.link_list_[0]->get_name() == "link1"); + REQUIRE(route.link_list_[1]->get_name() == "link2"); } }