message: tests: issue a time stamp when entering/leaving a test case
  The BF shows weird things, such as a test that lasted 0.5s after
  having being killed supposedly after 10s of timeout.
  Let's display timestamps to see if that makes things understandable.
diff: /// There are two supported ways to define your tests:
  /// 1. Using BOOST_AUTO_TEST_CASE and generated test suite:
  /// {{{
  -/// #define ELLE_TEST_MODULE "My module"
  +/// #define ELLE_TEST_MODULE MyModule
  /// #include <elle/test.hh>
  /// BOOST_AUTO_TEST_CASE(SimpleCase) { /* Test your code here */ }
  -///.}}}
  +/// }}}
  ///
  /// 2. By Defining your own test suite:
  /// {{{
  #endif
  #include <boost/test/unit_test.hpp>
  -static std::string test_binary;
  +namespace
  +{
  + namespace _detail
  + {
  + // A readable timestamp, printable with elle::print.
  + auto
  + now()
  + {
  + using namespace boost::posix_time;
  + return microsec_clock::local_time();
  + }
  + }
  +
  + /// Name of this executable (argv[0]).
  + std::string test_binary;
  +}
  #define ELLE_TEST_CASE(F, ...) \
  boost::unit_test::make_test_case( \
  @@ -174,11 +189,12 @@ namespace
  _exit(70); // EX_SOFTWARE
  }
  + /// Called when the test unit's credit has expired.
  ELLE_COMPILER_ATTRIBUTE_MAYBE_UNUSED
  void alarm_handler(std::string const& name)
  {
  ELLE_LOG_COMPONENT("elle.Test");
  - ELLE_ERR("test %s timeout: SIGALRM", name);
  + ELLE_ERR("%s: test %s timeout: SIGALRM", _detail::now(), name);
  // Give us some time to teardown properly, dump stuff etc., then
  // exit brutally. The buildfarm has been stuck several times for
  // hours because of a signal handling that did not finish.
  @@ -205,14 +221,16 @@ static \
  void \
  Name(ELLE_TEST_PROTOTYPE(Args)) \
  { \
  + ELLE_LOG_COMPONENT("elle.Test"); \
  elle::reactor::Scheduler sched; \
  ELLE_TEST_HANDLE_SIGALRM(sched, Name); \
  elle::reactor::Thread main( \
  sched, "main", \
  [&] \
  { \
  - ELLE_LOG_COMPONENT("elle.Test"); \
  - ELLE_LOG("starting test: %s (%s)", BOOST_PP_STRINGIZE(Name), \
  + ELLE_LOG("%s: starting test: %s (%s)", \
  + _detail::now(), \
  + BOOST_PP_STRINGIZE(Name), \
  boost::unit_test::framework::current_test_case().full_name()) \
  BOOST_PP_CAT(Name,_impl)(ELLE_TEST_CALL(Args)); \
  }); \
  @@ -222,9 +240,7 @@ Name(ELLE_TEST_PROTOTYPE(Args)) \
  } \
  catch (elle::Error const& e) \
  { \
  - ELLE_LOG_COMPONENT("elle.Test"); \
  - ELLE_ERR("exception escaped test %s: %s", \
  - BOOST_PP_STRINGIZE(Name), e); \
  + ELLE_ERR("exception escaped test %s: %s", BOOST_PP_STRINGIZE(Name), e); \
  ELLE_ERR("%s", e.backtrace()); \
  throw; \
  } \
  @@ -232,7 +248,7 @@ Name(ELLE_TEST_PROTOTYPE(Args)) \
  \
  static \
  void \
  -BOOST_PP_CAT(Name, _impl)(ELLE_TEST_PROTOTYPE(Args)) \
  +BOOST_PP_CAT(Name, _impl)(ELLE_TEST_PROTOTYPE(Args))
  #define ELLE_TEST_SCHEDULED_THROWS(Name, _exception_type_) \
  static \
  