Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Johnston2017-05-06 00:00:42 +0000
committerDoug Schaefer2017-05-08 15:07:46 +0000
commitec4e410c8b744b4fe1bdf6dc7c5f7490e7f37adb (patch)
tree8ea99c8aeced311299b63ce5eb0b97c70b7e43af /testsrunner/org.eclipse.cdt.testsrunner.qttest
parent9280202a2af49d4bee4daf9c096a7c2da519c4d4 (diff)
downloadorg.eclipse.cdt-ec4e410c8b744b4fe1bdf6dc7c5f7490e7f37adb.tar.gz
org.eclipse.cdt-ec4e410c8b744b4fe1bdf6dc7c5f7490e7f37adb.tar.xz
org.eclipse.cdt-ec4e410c8b744b4fe1bdf6dc7c5f7490e7f37adb.zip
Bug 459197 - C++ Unit Testing does not work with QT5
- remove "-flush" from QtTestsRunnerProvider.getAdditionalLaunchParameters which does not work on Qt5 - add support in QtXmlLogHandler to support QtBuild and Duration nodes (for Duration node store the duration time in the model) - fix typo in QtTestsRunnerMessages.properties file Change-Id: I3ae8a8cba6870857f2a779e317465573387c0dee
Diffstat (limited to 'testsrunner/org.eclipse.cdt.testsrunner.qttest')
-rw-r--r--testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerMessages.properties2
-rw-r--r--testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerProvider.java1
-rw-r--r--testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtXmlLogHandler.java18
3 files changed, 19 insertions, 2 deletions
diff --git a/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerMessages.properties b/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerMessages.properties
index 6a5196e72d8..66bc6886949 100644
--- a/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerMessages.properties
+++ b/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerMessages.properties
@@ -18,6 +18,6 @@ QtXmlLogHandler_metrics_unit_events=events
QtXmlLogHandler_metrics_unit_instructions=instr.
QtXmlLogHandler_metrics_unit_msec=msec
QtXmlLogHandler_metrics_unit_ticks=ticks
-QtXmlLogHandler_unknown_benchmarck_metric=Benchmarck metric value "{0}" is not supported\!
+QtXmlLogHandler_unknown_benchmarck_metric=Benchmark metric value "{0}" is not supported\!
QtXmlLogHandler_unknown_message_level=String "{0}" cannot be converted to a message level\!
QtXmlLogHandler_wrong_tag_name=Invalid XML format: Element "{0}" is not accepted\!
diff --git a/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerProvider.java b/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerProvider.java
index 48eb288368d..0f66047f480 100644
--- a/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerProvider.java
+++ b/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtTestsRunnerProvider.java
@@ -68,7 +68,6 @@ public class QtTestsRunnerProvider implements ITestsRunnerProvider {
public String[] getAdditionalLaunchParameters(String[][] testPaths) throws TestingException {
final String[] qtParameters = {
"-xml", //$NON-NLS-1$
- "-flush", //$NON-NLS-1$
};
String[] result = qtParameters;
diff --git a/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtXmlLogHandler.java b/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtXmlLogHandler.java
index 39086317e36..145cdbb979f 100644
--- a/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtXmlLogHandler.java
+++ b/testsrunner/org.eclipse.cdt.testsrunner.qttest/src/org/eclipse/cdt/testsrunner/internal/qttest/QtXmlLogHandler.java
@@ -45,9 +45,11 @@ public class QtXmlLogHandler extends DefaultHandler {
private static final String XML_NODE_DESCRIPTION = "Description"; //$NON-NLS-1$
private static final String XML_NODE_ENVIRONMENT = "Environment"; //$NON-NLS-1$
private static final String XML_NODE_QTVERSION = "QtVersion"; //$NON-NLS-1$
+ private static final String XML_NODE_QTBUILD = "QtBuild"; //$NON-NLS-1$
private static final String XML_NODE_QTESTVERSION = "QTestVersion"; //$NON-NLS-1$
private static final String XML_NODE_BENCHMARK = "BenchmarkResult"; //$NON-NLS-1$
private static final String XML_NODE_DATATAG = "DataTag"; //$NON-NLS-1$
+ private static final String XML_NODE_DURATION = "Duration"; //$NON-NLS-1$
// Qt Test XML case statuses representation
private static final String XML_VALUE_INCIDENT_PASS = "pass"; //$NON-NLS-1$
@@ -69,6 +71,7 @@ public class QtXmlLogHandler extends DefaultHandler {
// Qt Test XML log attributes
private static final String XML_ATTR_TEST_CASE_NAME = "name"; //$NON-NLS-1$
private static final String XML_ATTR_TEST_FUNCTION_NAME = "name"; //$NON-NLS-1$
+ private static final String XML_ATTR_MSECS = "msecs"; //$NON-NLS-1$
private static final String XML_ATTR_TYPE = "type"; //$NON-NLS-1$
private static final String XML_ATTR_FILE = "file"; //$NON-NLS-1$
private static final String XML_ATTR_LINE = "line"; //$NON-NLS-1$
@@ -149,6 +152,9 @@ public class QtXmlLogHandler extends DefaultHandler {
/** Stores the message level for currently parsed test message. */
private ITestMessage.Level messageLevel;
+ /** Stores the duration in msecs for currently parsed test function. */
+ private int duration;
+
/** Stores the status for currently parsed test case. */
private ITestItem.Status testCaseStatus;
@@ -265,6 +271,7 @@ public class QtXmlLogHandler extends DefaultHandler {
lastDataTag = ""; //$NON-NLS-1$
testCaseAdded = false;
testCaseStatus = ITestItem.Status.Passed;
+ duration = 0;
} else if (qName == XML_NODE_MESSAGE) {
String messageLevelStr = attrs.getValue(XML_ATTR_TYPE);
@@ -283,6 +290,7 @@ public class QtXmlLogHandler extends DefaultHandler {
messageLevel = getMessageLevel(STRING_INCIDENT_TO_MESSAGE_LEVEL, strType);
messageText = null;
setCurrentTestCaseStatus(STRING_TO_TEST_STATUS.get(strType));
+ duration = 0;
} else if (qName == XML_NODE_BENCHMARK) {
lastDataTag = attrs.getValue(XML_ATTR_DATA_TAG);
@@ -296,12 +304,17 @@ public class QtXmlLogHandler extends DefaultHandler {
)
);
+ } else if (qName == XML_NODE_DURATION) {
+ float msecs = Float.parseFloat(attrs.getValue(XML_ATTR_MSECS));
+ duration = Math.round(msecs);
+
} else if (qName == XML_NODE_DATATAG) {
lastDataTag = ""; //$NON-NLS-1$
} else if (qName == XML_NODE_DESCRIPTION
|| qName == XML_NODE_ENVIRONMENT
|| qName == XML_NODE_QTVERSION
+ || qName == XML_NODE_QTBUILD
|| qName == XML_NODE_QTESTVERSION) {
/* just skip, do nothing */
@@ -319,6 +332,9 @@ public class QtXmlLogHandler extends DefaultHandler {
} else if (qName == XML_NODE_TEST_FUNCTION) {
createTestCaseIfNecessary();
exitTestCaseIfNecessary();
+ if (duration != 0) {
+ modelUpdater.setTestingTime(duration);
+ }
} else if (qName == XML_NODE_DATATAG) {
lastDataTag = elementData;
@@ -337,6 +353,8 @@ public class QtXmlLogHandler extends DefaultHandler {
} else if (qName == XML_NODE_ENVIRONMENT
|| qName == XML_NODE_QTVERSION
|| qName == XML_NODE_QTESTVERSION
+ || qName == XML_NODE_QTBUILD
+ || qName == XML_NODE_DURATION
|| qName == XML_NODE_BENCHMARK) {
/* just skip, do nothing */

Back to the top