View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0013124CMakeCTestpublic2012-04-12 08:142013-01-09 10:55
ReporterZog Zog 
Assigned ToBrad King 
PrioritynormalSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformPCOSLinuxOS Version
Product VersionCMake 2.8.7 
Target VersionCMake 2.8.9Fixed in VersionCMake 2.8.9 
Summary0013124: UTF-8 characters disappear in valgrind output when launched via CTest
DescriptionGot a C++ program which outputs in UTF-8.
When launched from command line, everything is OK.
When launched from valgrind from command line, it's OK.
When launched from CTest script ("ctest_test"), OK.
When launched from Valgrind from CTest script ("ctest_memcheck"), all utf-8 characters disappear from the output.

PS : please forgive my english.
TagsNo tags attached.
Attached Files

 Relationships
related to 0013136closedBrad King ctest_coverage() sets LC_ALL=POSIX but does not restore default 

  Notes
(0029139)
Brad King (manager)
2012-04-12 11:51

Does this patch solve the problem?

diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx
index 035aaa9..3e4ecdd 100644                                                            
--- a/Source/CTest/cmCTestMemCheckHandler.cxx
+++ b/Source/CTest/cmCTestMemCheckHandler.cxx
@@ -358,7 +358,7 @@ void cmCTestMemCheckHandler::GenerateDartOutput(std::ostream& os)                  
 
     
os
       << "\t\t</Results>\n"
-      << logTag << memcheckstr << std::endl
+      << logTag << cmXMLSafe(memcheckstr) << std::endl
       << "\t</Log>\n";
     this->WriteTestResultFooter(os, result);
     if ( current < cc )
(0029147)
Zog Zog (reporter)
2012-04-13 05:17
edited on: 2012-04-13 05:17

First, thank you for your quick reply !

Sadly, the patch doesn't solve the problem, accented characters are still missing and now, my ' turned into & apos;

(0029162)
Nils Gladitz (developer)
2012-04-16 03:18

Could this be locale related?

I've got a test which runs fine during a regular test run but fails when run through ctest_memcheck().

The error comes from a 3rd party library codecvt conversion.

Apparently for the valgrind run the environment variable LC_ALL is set to POSIX which when manually set makes the test fail in the same way.
(0029165)
Nils Gladitz (developer)
2012-04-16 04:10

I browsed through the sources and found ctest_coverage to be the only place where LC_ALL is set.

Without ctest_coverage() I can see that when running ctest_memcheck() LC_ALL is no longer set to POSIX.

I opened a new issue 0013136.

The UTF-8 encoding issue remains irregardless of LC_ALL.

I've got a test that outputs raw UTF-8 for a german umlaut and a chinese character both of which show up on CDash properly in a regular test run.

When run through ctest_memcheck() the umlaut shows up properly but the chinese character is replaced by a question mark.
(0029170)
Brad King (manager)
2012-04-16 08:51

Re 0013124:0029147: Please attach the .xml file generated by ctest_test for the test in question, and also that generated by ctest_memcheck with and without the patch.
(0029302)
Zog Zog (reporter)
2012-04-23 05:28
edited on: 2012-04-23 05:28

The patch http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3247d63a [^] from issue http://public.kitware.com/Bug/view.php?id=13136 [^] resolved my problem ! Yay !

Thank you very much for the quick replies.

(0029307)
Brad King (manager)
2012-04-23 08:50

Addressed by fix to 0013136.
(0032019)
Robert Maynard (manager)
2013-01-09 10:55

Closing resolved issues that have not been updated in more than 4 months.

 Issue History
Date Modified Username Field Change
2012-04-12 08:14 Zog Zog New Issue
2012-04-12 11:51 Brad King Note Added: 0029139
2012-04-13 05:17 Zog Zog Note Added: 0029147
2012-04-13 05:17 Zog Zog Note Edited: 0029147
2012-04-13 05:17 Zog Zog Note Edited: 0029147
2012-04-16 03:18 Nils Gladitz Note Added: 0029162
2012-04-16 04:10 Nils Gladitz Note Added: 0029165
2012-04-16 08:32 Brad King Relationship added related to 0013136
2012-04-16 08:51 Brad King Note Added: 0029170
2012-04-23 05:28 Zog Zog Note Added: 0029302
2012-04-23 05:28 Zog Zog Note Edited: 0029302
2012-04-23 08:50 Brad King Note Added: 0029307
2012-04-23 08:50 Brad King Status new => resolved
2012-04-23 08:50 Brad King Resolution open => fixed
2012-04-23 08:50 Brad King Assigned To => Brad King
2012-08-09 16:57 David Cole Fixed in Version => CMake 2.8.9
2012-08-09 16:57 David Cole Target Version => CMake 2.8.9
2013-01-09 10:55 Robert Maynard Note Added: 0032019
2013-01-09 10:55 Robert Maynard Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team