From: Martin Quinson Date: Thu, 20 Jul 2023 22:41:48 +0000 (+0200) Subject: Port one test from Exec::wait_any_for to ActivitySet X-Git-Tag: v3.35~134 X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/f7e0fb6f385fa868e8f9d68decb69483fa26fc5a Port one test from Exec::wait_any_for to ActivitySet and deprecate another method --- diff --git a/include/simgrid/s4u/Exec.hpp b/include/simgrid/s4u/Exec.hpp index 482f4bd7a9..a0f02edcd0 100644 --- a/include/simgrid/s4u/Exec.hpp +++ b/include/simgrid/s4u/Exec.hpp @@ -87,8 +87,8 @@ public: return deprecated_wait_any_for(execs, -1); } /*! \static Same as wait_any, but with a timeout. If the timeout occurs, parameter last is returned.*/ - // XBT_ATTRIB_DEPRECATED_v339("Please use ActivitySet instead") TODO: update activity-lifecycle/testing_test-wait.cpp - static ssize_t wait_any_for(const std::vector& execs, double timeout) + XBT_ATTRIB_DEPRECATED_v339("Please use ActivitySet instead") static ssize_t + wait_any_for(const std::vector& execs, double timeout) { return deprecated_wait_any_for(execs, timeout); } diff --git a/teshsuite/s4u/activity-lifecycle/testing_test-wait.cpp b/teshsuite/s4u/activity-lifecycle/testing_test-wait.cpp index 35867e0981..855f56e772 100644 --- a/teshsuite/s4u/activity-lifecycle/testing_test-wait.cpp +++ b/teshsuite/s4u/activity-lifecycle/testing_test-wait.cpp @@ -60,19 +60,21 @@ template bool tester_wait_any(const Activity& const double timeout = simgrid::s4u::Engine::get_clock() + duration; bool ret; try { - std::vector activities = {activity}; + simgrid::s4u::ActivitySet set; + set.push(activity); + XBT_DEBUG("calling wait_any_for(%f)", duration); - ssize_t index = Activity::element_type::wait_any_for(activities, duration); - if (index == -1) { - XBT_DEBUG("wait_any_for() timed out"); - INFO("wait_any_for() timeout should expire at expected date: " << timeout); - REQUIRE(simgrid::s4u::Engine::get_clock() == Approx(timeout)); - ret = false; - } else { - XBT_DEBUG("wait_any_for() returned index %zd", index); - REQUIRE(index == 0); - ret = true; - } + auto waited_activity = set.wait_any_for(duration); + + XBT_DEBUG("wait_any_for() returned activity %p", waited_activity.get()); + REQUIRE(waited_activity.get() == activity); + ret = true; + + } catch (const simgrid::TimeoutException& e) { + XBT_DEBUG("wait_any_for() timed out"); + INFO("wait_any_for() timeout should expire at expected date: " << timeout); + REQUIRE(simgrid::s4u::Engine::get_clock() == Approx(timeout)); + ret = false; } catch (const simgrid::Exception& e) { XBT_DEBUG("wait_any_for() threw an exception: %s", e.what()); ret = true;