From 4bc30db6cb860f83d0ca685c573277c09fd63567 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 7 Feb 2008 14:25:32 +0000 Subject: Quote unprintable control characters in log output. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@619424 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/tests/logging.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'qpid/cpp/src/tests/logging.cpp') diff --git a/qpid/cpp/src/tests/logging.cpp b/qpid/cpp/src/tests/logging.cpp index 984af2c3c7..4969c3d6a9 100644 --- a/qpid/cpp/src/tests/logging.cpp +++ b/qpid/cpp/src/tests/logging.cpp @@ -367,4 +367,24 @@ BOOST_AUTO_TEST_CASE(testLoggerConfigure) { unlink("logging.tmp"); } +BOOST_AUTO_TEST_CASE(testQuoteControlChars) { + Logger& l=Logger::instance(); + l.clear(); + Options opts; + opts.outputs.clear(); + opts.outputs.push_back("logging.tmp"); + opts.time=false; + l.configure(opts, "test"); + char s[] = "null\0tab\tspace newline\nret\r"; + string str(s, sizeof(s)); + QPID_LOG(critical, str); + ifstream log("logging.tmp"); + string line; + getline(log, line); + string expect="critical null^@tab^Ispace newline^Jret^M^@"; + BOOST_CHECK_EQUAL(expect, line); + log.close(); + unlink("logging.tmp"); +} + QPID_AUTO_TEST_SUITE_END() -- cgit v1.2.1