From 63695a9e6eaa615d740abecf50d53b0f6ad20903 Mon Sep 17 00:00:00 2001 From: Felix Albrecht <felix.albrecht@uni-muenster.de> Date: Fri, 2 Nov 2012 15:40:37 +0100 Subject: [PATCH] [test.common.logger] added test to show the current logger deficits --- dune/stuff/test/common_logger.cc | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/dune/stuff/test/common_logger.cc b/dune/stuff/test/common_logger.cc index b083e0409..4abe7ed4a 100644 --- a/dune/stuff/test/common_logger.cc +++ b/dune/stuff/test/common_logger.cc @@ -1,5 +1,6 @@ #include "test_common.hh" +// dune-stuff #include <dune/stuff/common/logging.hh> #include <dune/stuff/common/logstreams.hh> @@ -12,6 +13,17 @@ void balh(std::ostream& out) c++; } +template <class OutStreamType> +void do_something_that_takes_long(OutStreamType& out) +{ + out << " there should appear five dots, but not too fast:" << std::flush; + for (unsigned int i = 0; i < 5; ++i) { + busywait(1000); + out << "." << std::flush; + } + out << std::endl; +} // void do_something_that_takes_long() + int main(int, char* []) { DSC::Logger().create(DSC::LOG_CONSOLE | DSC::LOG_ERROR); @@ -30,8 +42,18 @@ int main(int, char* []) DSC_LOG_ERROR << "in output\n"; balh(DSC_LOG_ERROR); - // this should do nothitng whatsoever + // this should do nothing whatsoever balh(DSC::dev_null); DSC::Logger().flush(); + + // this is the desired result: + DSC::LogStream& err = DSC::Logger().error(); + std::cout << "begin std::cout test" << std::endl; + do_something_that_takes_long(std::cout); + std::cout << "end std::cout test" << std::endl; + std::cout << "begin Logger().error() test" << std::endl; + do_something_that_takes_long(err); + std::cout << "end Logger().error() test" << std::endl; + return 0; } -- GitLab