* under the terms of the license (GNU LGPL) which comes with this package. */
#define BOOST_TEST_MODULE Trace Manager tests
-
bool init_unit_test(); // boost forget to give this prototype on NetBSD, which does not fit our paranoid flags
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_NO_MAIN
#include <boost/test/unit_test.hpp>
-namespace utf = boost::unit_test;
#include "src/surf/surf_interface.hpp"
#include "src/surf/trace_mgr.hpp"
-namespace tmgr = simgrid::trace_mgr;
#include "xbt/log.h"
#include "xbt/misc.h"
-#include <math.h>
+#include <cmath>
+
+namespace utf = boost::unit_test;
+namespace tmgr = simgrid::trace_mgr;
XBT_LOG_NEW_DEFAULT_CATEGORY(unit, "Unit tests of the Trace Manager");
explicit MockedResource() : simgrid::surf::Resource(nullptr, "fake", nullptr) {}
void apply_event(tmgr_trace_event_t event, double value)
{
- XBT_VERB("t=%.1f: Change value to %lg (idx: %d)", thedate, value, event->idx);
+ XBT_VERB("t=%.1f: Change value to %lg (idx: %u)", thedate, value, event->idx);
+ tmgr_trace_event_unref(&event);
}
bool isUsed() { return true; }
};
simgrid::trace_mgr::trace* trace = tmgr_trace_new_from_string("TheName", str, 0);
XBT_VERB("---------------------------------------------------------");
XBT_VERB("data>>\n%s<<data\n", str);
- for (auto evt : trace->event_list)
+ for (auto const& evt : trace->event_list)
XBT_VERB("event: d:%lg v:%lg", evt.date_, evt.value_);
MockedResource daResource;
res->apply_event(it, value);
whereto->push_back(tmgr::DatedValue(thedate, value));
} else {
- XBT_DEBUG("%.1f: ignore an event (idx: %d)\n", thedate, it->idx);
+ XBT_DEBUG("%.1f: ignore an event (idx: %u)\n", thedate, it->idx);
}
}
+ tmgr_finalize();
}
/* Fails in a way that is difficult to test: xbt_assert should become throw
std::vector<tmgr::DatedValue> got;
trace2vector("1.0 1.0\n"
"3.0 3.0\n"
- "WAITFOR 2\n",
+ "LOOPAFTER 2\n",
&got);
std::vector<tmgr::DatedValue> want;
std::vector<tmgr::DatedValue> got;
trace2vector("0.0 1\n"
"5.0 2\n"
- "WAITFOR 5\n",
+ "LOOPAFTER 5\n",
&got);
std::vector<tmgr::DatedValue> want;
int main(int argc, char** argv)
{
+ XBT_LOG_CONNECT(unit);
xbt_log_init(&argc, argv);
return ::boost::unit_test::unit_test_main(&init_function, argc, argv);
}