Hi,
after trying to use the feature "Aggregate Downstream Test Results", i.e.
the AggregatedTestResultPublisher, I ran into some problems. The main
problem is fixed by my pull
request https://github.com/jenkinsci/jenkins/pull/915, namely that clicking
the "Latest Test Result" link on the Project page does not return a 404
anymore. I tried to document the current behaviour of the feature with a
"Unit"
test:
https://github.com/wolfs/jenkins/blob/aggregate-test-result/test/src/test/java/hudson/tasks/test/AggregatedTestResultPublisherTest.java.
When merging this pull request the behaviour is:
1. Only aggregated test results:
- On the project page there is a link with name "Latest Test Result" which
goes to the aggregated test result page on the corresponding build
2. Only test results:
- On the project page there is a link with name "Latest Test Result" which
goes to the test result page of the corresponding build
3. Aggregated test results and test results
- On the project page there is a link with name "Latest Test Result" which
goes to the test result page of the corresponding build
Moreover, there is not test result trend for the aggregated test result
action.
My proposal how to make this consistent would be:
- If the link on the project page goes to the aggregated test result page
then it should be named "Latest Aggregated Test Result"
- If there are test results and aggregated test results then there should
be two links, one name "Latest Test Result" and one named "Latest
Aggregated Test Result"
- There should be a Trend for the aggregated test results on the project
page
If there are no objections, then I would go forward implementing this.
For the implementation I would like to get some suggestions:
- Would it make sense if the TestResult from the
AggregatedTestResultPublisher would extend AggregatedTestResult?
- In the current implementation there is a method
'getAggregatedTestResultAction' on the AbstractBuild class which never
yields the TestResult of the AggregatedTestResultPublisher. The
AggregatedTestResultAction yielded from this method has the urlName
'testResult'. The TestResultAction of the AggregatedTestResultPublisher is
not an AggregatedTestResultAction and has the urlName
'aggregatedTestResult'. Therefore, the old implementation on main.jelly on
AbstractProject did not really make sense to me:
<j:set var="tr" value="${it.lastCompletedBuild.testResultAction}"/>
<j:if test="${tr!=null}">
<j:if test="${tr.class.name !=
'hudson.tasks.test.AggregatedTestResultAction'}">
<t:summary icon="clipboard.png">
<a href="lastCompletedBuild/testResult/" class="model-link
inside">${%Latest Test Result}</a>
<t:test-result it="${tr}" />
</t:summary>
</j:if>
</j:if>
<j:set var="atr"
value="${it.lastCompletedBuild.aggregatedTestResultAction}"/>
<j:if test="${atr!=null}">
<t:summary icon="clipboard.png">
<a href="lastCompletedBuild/aggregatedTestReport/"
class="model-link inside">${%Latest Aggregated Test Result}</a>
<t:test-result it="${atr}" />
</t:summary>
</j:if>
Should the UI use getAction with the corresponding classes?
- This main.jelly should not be used from any of the classes using the
AggregatedTestResultAction (MavenModuleSet, MatrixProject). Is this
correct? So can I just change the jelly file without breaking anything?
- What do I have to do in order to add the Trend Report for the aggregated
test result to the project page?
Thank you for reading to the end,
Stefan
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.