Details
-
Improvement
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
Platform: All, OS: All
Description
A rollup issue with two issues brought up by Tom Larrow on the users mailing
list. I've got a fix for both in the works.
First off, since adding webtests to the project, Hudson now lists the results
directory as a "Build Artifact" Where before that just listed the .ear, or the
.jar that was built, now it displays a directory structure, which contains both
that file, and the webtests. The ability to just download the one file is gone,
replaced with an option to download a .zip file containing both the .jar file,
and the webtest results. For instance, the Violations plugin does not consider
the .xml for checkstyle or findbugs to be artifacts, the Webtest plugin should
treat the webtest results the same way.
Secondly because the Plugin treats the webtests results as an artifact, and
Hudson doesn't publish artifacts of failed builds, if a build fails, there is
nothing reported by the webtest plugin. This causes a problem especially when
it is the webtest fails, and that causes the build to fail. When this happens
the next build causes the workspace to be re-built, and you have lost the old
webtest results. You're left with a build that failed, and no webtests that
show WHY it failed.
For the first part, I'm making a change to use build.getRootDir() instead of
build.getArtifactsDir() for constructing the destination of the reports.
For the second part, I've borrowed a bit of the logic from JUnitResultArchiver
to check if the reports dir is stale in the event of a build failure. If not
stale, I copy the results over.
I'm not sure if I need to account for clock skew wrt the slave, however. If
so, it's not immediately apparent to me how to account for the clock skew in
this plugin, since I'm not directly calling anything like
"build.getProject().getWorkspace().act()" as the JUnitResultArchiver does.