<< Back to previous view

[QB-2182] Add 'GoogleTest Report' step type
Created: 17/Sep/14  Updated: 17/Nov/15

Status: Open
Project: QuickBuild
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Minor
Reporter: Helmut Namyslo Assigned To: Steve Luo
Resolution: Unresolved Votes: 1
Remaining Estimate: 4 hours Time Spent: Unknown
Original Estimate: 4 hours

File Attachments: Zip Archive GoogleTestReport-plugin.zip    

 Description   
I know I could write my own Plugin: [Creating a Test Report Plugin|http://wiki.pmease.com/display/QB51/Creating+a+Test+Report+Plugin#CreatingaTestReportPlugin-ReportAggregation]

But I wonder if *GoogleTest* is used by enough other users and it might be helpful for all of them and not just for me if QuickBuild provides a *GoogleTest Report* step by default.

The format of the result XML file is quite similar to the result files of other UnitTest tools:

{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="4" failures="1" disabled="1" errors="0" time="7.92" name="AllTests">
  <testsuite name="MathTest" tests="2" failures="1" disabled="0" errors="0" time="15">
    <testcase name="Addition" status="run" time="7" classname="MathTest">
      <failure message="Value of: add(1, 1)&#x0A; Actual: 3&#x0A;Expected: 2" type=""/>
      <failure message="Value of: add(1, -1)&#x0A; Actual: 1&#x0A;Expected: 0" type=""/>
    </testcase>
    <testcase name="Subtraction" status="run" time="2.53" classname="MathTest">
    </testcase>
  </testsuite>
  <testsuite name="LogicTest" tests="1" failures="0" disabled="0" errors="0" time="5">
    <testcase name="NonContradiction" status="run" time="0.112" classname="LogicTest">
    </testcase>
  </testsuite>
  <testsuite name="ChangedNamesTests" tests="1" failures="0" disabled="1" errors="0" time="0">
    <testcase name="DISABLED_TestChangedEvaluationName" status="notrun" time="0" classname="ChangedNamesTests" />
  </testsuite>
</testsuites>
{noformat}

I guess this feature will not create much effort for you. But for us this would be very helpful.

 Comments   
Comment by Helmut Namyslo [ 24/Nov/14 08:55 AM ]
I have just programmed my own Google Test Report Plugin. If you like you can make it a part of the next QuickBuild release.
Comment by Steve Luo [ 27/Nov/14 10:20 AM ]
Thank you very much for sharing this plugin to us. I'd like to keep this issue open and see if there is any other user want this.
Comment by Benoit Maury-Bouet [ 09/Nov/15 04:20 PM ]
Hi Helmut, I don't know if you'll see this commment, but we're using both QB & gtest on our side too and would be interested in seeing an official plugin support... but if not may be share some code / ideas for a plugin ?
Comment by Benoit Maury-Bouet [ 10/Nov/15 07:05 AM ]
Oh yeah didn't notice it at first, I'll try that.
Thanks a lot
Comment by Benoit Maury-Bouet [ 10/Nov/15 03:48 PM ]
Hi Helmut,

The plugin works pretty well for me thanks a lot !
I just have an issue, if i specicy **.xml in my publish step I get an error message (but may be more from QB ?)

If I repeat the step for each xml and pass the xml file to the publish step I don't the issue... just wondering if you ran inti this at somepoint ?
Thanks

{code:title=log|borderStyle=solid}
16:42:17,574 DEBUG - Finished processing nodes
16:42:17,574 DEBUG - Executing processor [removeDuplicate (DUPLICATE)] ...
16:42:17,576 DEBUG - Executing processor [diffPrevious (DIFF)] ...
16:42:17,576 INFO - Start processing file: H:\quickbuild-5.1.3\quickbuild-6.0.25\temp\abstractpublisherf6fd6a8d-8c63-45d5-925d-99028b82e5c7\DEFAULT
16:42:17,576 INFO - Start processing report: tests
16:42:17,578 WARN - File [H:\QB_5\configurations\15/reports/GoogleTest/DEFAULT/latest.id] doesn't exist.
16:42:17,585 DEBUG - Deleting working directory [H:\quickbuild-5.1.3\quickbuild-6.0.25\temp\abstractpublisherf6fd6a8d-8c63-45d5-925d-99028b82e5c7].
16:42:17,586 INFO - Executing post-execute action...
16:42:17,586 ERROR - Step 'master>New gtest' is failed.
    java.lang.RuntimeException: java.lang.VerifyError: (class: ASMAccessorImpl_2350836011447170137580, method: getKnownEgressType signature: ()Ljava/lang/Class;) Illegal type in constant pool
        at com.pmease.quickbuild.bootstrap.BootstrapUtils.wrapAsUnchecked(BootstrapUtils.java:56)
        at com.pmease.quickbuild.util.ExceptionUtils.wrapAsUnchecked(ExceptionUtils.java:82)
        at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:549)
        at com.pmease.quickbuild.stepsupport.StepExecutionJob.executeStepAwareJob(StepExecutionJob.java:30)
        at com.pmease.quickbuild.stepsupport.StepAwareJob.executeBuildAwareJob(StepAwareJob.java:45)
{code}
Comment by Steve Luo [ 10/Nov/15 04:32 PM ]
The error seems caused by MVEL when using JDK8. Do you use JDK8? If so, you can either use JDK7 or upgrade to QB 6.0.30 or upper.
Comment by Benoit Maury-Bouet [ 17/Nov/15 09:42 AM ]
Hi Steve,
Sorry for the late reply.
Indeed it was the issue ! thanks a lot
Generated at Thu May 02 02:07:45 UTC 2024 using JIRA 189.