4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
6 // The contents of this file are subject to the Fraunhofer FOKUS Public License
7 // Version 1.0 (the "License"); you may not use this file except in compliance
8 // with the License. You may obtain a copy of the License at
9 // http://senf.berlios.de/license.html
11 // The Fraunhofer FOKUS Public License Version 1.0 is based on,
12 // but modifies the Mozilla Public License Version 1.1.
13 // See the full license text for the amendments.
15 // Software distributed under the License is distributed on an "AS IS" basis,
16 // WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
17 // for the specific language governing rights and limitations under the License.
19 // The Original Code is Fraunhofer FOKUS code.
21 // The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V.
22 // (registered association), Hansastraße 27 c, 80686 Munich, Germany.
23 // All Rights Reserved.
26 // Stefan Bund <g0dil@berlios.de>
29 \brief Log unit tests */
31 //#include "Log.test.hh"
32 //#include "Log.test.ih"
35 #include "main.test.hh"
37 #include <senf/Utils/auto_unit_test.hh>
38 #include <boost/test/test_tools.hpp>
41 //-/////////////////////////////////////////////////////////////////////////////////////////////////
43 SENF_AUTO_UNIT_TEST(logger)
45 senf::log::StringTarget target;
47 target.route<senf::log::Debug>();
49 // We cannot easily check the exact log string since that includes the current date/time
51 SENF_LOG_DEFAULT_STREAM(senf::log::Debug);
52 SENF_LOG_DEFAULT_AREA(senf::log::DefaultArea);
53 SENF_LOG_DEFAULT_LEVEL(senf::log::VERBOSE);
55 SENF_LOG(("Log message"));
56 BOOST_CHECK( target.str().empty() );
59 SENF_LOG((senf::log::VERBOSE)("Log message 2"));
60 BOOST_CHECK( target.str().empty() );
63 SENF_LOG((senf::log::IMPORTANT)("Important message"));
64 std::cerr << target.str();
65 BOOST_CHECK( ! target.str().empty() );
68 SENF_LOG((senf::log::test::LogCritical) ("Another log message: " << 10));
69 std::cerr << target.str();
70 BOOST_CHECK( ! target.str().empty() );
73 SENF_LOG_BLOCK((senf::log::Debug) (senf::log::IMPORTANT) ({
74 log << "Last message";
75 log << " continued here";
77 std::cerr << target.str();
78 BOOST_CHECK( ! target.str().empty() );
81 senf::log::test::Foo::log();
82 std::cerr << target.str();
83 BOOST_CHECK( ! target.str().empty() );
86 SENF_LOG((senf::log::test::Foo)("Foo area"));
87 BOOST_CHECK( target.str().empty() );
91 //-/////////////////////////////////////////////////////////////////////////////////////////////////
98 // c-file-style: "senf"
99 // indent-tabs-mode: nil
100 // ispell-local-dictionary: "american"
101 // compile-command: "scons -u test"
102 // comment-column: 40