From 0639a8b2fb43391efe5d7f5d9cb42ec51d631c31 Mon Sep 17 00:00:00 2001 From: Jonah Graham Date: Mon, 14 Aug 2023 10:42:43 -0400 Subject: [PATCH] Trim excess whitespace in Boost test output The code for boost test running parsing left all the excess whitespace from the XML file. This led to a lot whitespace in messages in the UI. This change trims leading and trailing whitespace, but preserves whitespace within a message. --- .../testsrunner/internal/boost/BoostXmlLogHandler.java | 8 ++++++-- .../cdt/testsrunner/testsrunners/BoostTestCase.java | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/testsrunner/org.eclipse.cdt.testsrunner.boost/src/org/eclipse/cdt/testsrunner/internal/boost/BoostXmlLogHandler.java b/testsrunner/org.eclipse.cdt.testsrunner.boost/src/org/eclipse/cdt/testsrunner/internal/boost/BoostXmlLogHandler.java index da7b794b152..1f7e75900c7 100644 --- a/testsrunner/org.eclipse.cdt.testsrunner.boost/src/org/eclipse/cdt/testsrunner/internal/boost/BoostXmlLogHandler.java +++ b/testsrunner/org.eclipse.cdt.testsrunner.boost/src/org/eclipse/cdt/testsrunner/internal/boost/BoostXmlLogHandler.java @@ -149,7 +149,7 @@ public void startElement(String namespaceURI, String localName, String qName, At * @param level test message level */ private void addCurrentMessage(ITestMessage.Level level) { - modelUpdater.addTestMessage(fileName, lineNumber, level, elementDataStack.peek().toString()); + modelUpdater.addTestMessage(fileName, lineNumber, level, elementDataStack.peek().toString().trim()); fileName = DEFAULT_LOCATION_FILE; lineNumber = DEFAULT_LOCATION_LINE; if (level == ITestMessage.Level.Error || level == ITestMessage.Level.FatalError) { @@ -200,7 +200,11 @@ public void endElement(String namespaceURI, String localName, String qName) thro case XML_NODE_EXCEPTION: if (fileName != DEFAULT_LOCATION_FILE && !fileName.isEmpty() && lineNumber >= 0) { - elementDataStack.peek().append(BoostTestsRunnerMessages.BoostXmlLogHandler_exception_suffix); + StringBuilder current = elementDataStack.peek(); + String trimmed = current.toString().trim(); + current.setLength(0); + current.append(trimmed); + current.append(BoostTestsRunnerMessages.BoostXmlLogHandler_exception_suffix); } addCurrentMessage(ITestMessage.Level.Exception); break; diff --git a/testsrunner/org.eclipse.cdt.testsrunner.tests/src/org/eclipse/cdt/testsrunner/testsrunners/BoostTestCase.java b/testsrunner/org.eclipse.cdt.testsrunner.tests/src/org/eclipse/cdt/testsrunner/testsrunners/BoostTestCase.java index 7d84aabcbb6..9527732d6c7 100644 --- a/testsrunner/org.eclipse.cdt.testsrunner.tests/src/org/eclipse/cdt/testsrunner/testsrunners/BoostTestCase.java +++ b/testsrunner/org.eclipse.cdt.testsrunner.tests/src/org/eclipse/cdt/testsrunner/testsrunners/BoostTestCase.java @@ -226,7 +226,8 @@ public void testEmptyMessage() { mockModelUpdater.enterTestSuite("MainTS"); mockModelUpdater.enterTestCase("test"); mockModelUpdater.addTestMessage("file.cpp", 22, ITestMessage.Level.Info, ""); - mockModelUpdater.addTestMessage("file2.cpp", 47, ITestMessage.Level.Exception, EXCEPTION_CHECKPOINT_SUFFIX); + mockModelUpdater.addTestMessage("file2.cpp", 47, ITestMessage.Level.Exception, + EXCEPTION_CHECKPOINT_SUFFIX.trim()); mockModelUpdater.exitTestCase(); mockModelUpdater.exitTestSuite(); } @@ -245,9 +246,9 @@ public void testSpacesInBeginAndEndOfMessage() { mockModelUpdater.enterTestSuite("MainTS"); mockModelUpdater.enterTestCase("test"); - mockModelUpdater.addTestMessage("file", 42, ITestMessage.Level.Warning, " Custom warning "); + mockModelUpdater.addTestMessage("file", 42, ITestMessage.Level.Warning, "Custom warning"); mockModelUpdater.addTestMessage("file2", 47, ITestMessage.Level.Exception, - " Exception message end " + EXCEPTION_CHECKPOINT_SUFFIX); + "Exception message end" + EXCEPTION_CHECKPOINT_SUFFIX); mockModelUpdater.exitTestCase(); mockModelUpdater.exitTestSuite(); }