nunit plugin with remote building

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

nunit plugin with remote building

lee marks-2
Hi,
I'm new to hudson development and I'm currently trying to get the nunit
 plugin to work with remote builds.

It seems that in this scenario the top-level NUnitPublisher class runs
 on the hudson server while the NUnitArchiver class gets marshalled over
 to the slave.
Now I've mostly fixed the NUnitArchiver so that it gets marshalled
 correctly and it is successfully converting nunit results but for the very
 last step it appears that it is neccesary to copy the result files (now
 in JUnit format) back to the hudson server so they can be handed to
 the JUnitArchiver.

Could anyone give me some guidance on how to do that? eg. Can I somehow
 use the VirtualChannel object that's been supplied to NUnitArchivers'
 invoke method to send file(s) back to the server?

Thanks for any help in advance.

Lee





      ____________________________________________________________________________________
Be a better pen pal.
Text or chat with friends inside Yahoo! Mail. See how.  http://overview.mail.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Erik Ramfelt
I wasnt aware that there was a problem with remote builds.

What suprised me is that I just tried it and I get
NullPointerExceptions when trying to log things to the TaskListener
when it is being executed remotly. What is the proper way to
communicate with the Hudson console log when being on the remote
slave?
Code that throws NPE when executed remotly:
listener.getLogger().println("Transforming NUnit tests results");


The JUnitResultArchiver.perform() method does a
build.getProject().getWorkspace().act(new FileCallable<TestResult>()
{} so it should be executed on the remote host, and thus finding the
junit result files at the same place where the NUnitArchiver left
them. Do you have any logs/exceptions when it is not picking up the
JUnit files?

//Erik

On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:

> Hi,
> I'm new to hudson development and I'm currently trying to get the nunit
>  plugin to work with remote builds.
>
> It seems that in this scenario the top-level NUnitPublisher class runs
>  on the hudson server while the NUnitArchiver class gets marshalled over
>  to the slave.
> Now I've mostly fixed the NUnitArchiver so that it gets marshalled
>  correctly and it is successfully converting nunit results but for the very
>  last step it appears that it is neccesary to copy the result files (now
>  in JUnit format) back to the hudson server so they can be handed to
>  the JUnitArchiver.
>
> Could anyone give me some guidance on how to do that? eg. Can I somehow
>  use the VirtualChannel object that's been supplied to NUnitArchivers'
>  invoke method to send file(s) back to the server?
>
> Thanks for any help in advance.
>
> Lee
>
>
>
>
>
>       ____________________________________________________________________________________
> Be a better pen pal.
> Text or chat with friends inside Yahoo! Mail. See how.  http://overview.mail.yahoo.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

lee marks-2
In reply to this post by lee marks-2
Hi Erik,

Removing the 'transient' keyword from the listener variable in NUnitArchiver fixed that exception for me. The same needs to be done for testResultsPattern.

Now that leaves unitReportTransformer and unitResultArchiver still null. I tried removing 'transient' from those also but got exceptions saying those classes can't be marshalled. I worked around the first one (unitReportTransformer) by creating a new instance at the beginning of NUnitArchiver.invoke and that works fine. This leaves, unitResultArchiver, which is where I'm stuck.
I don't know how to marshal it or obtain a reference to that object any other way. That's why I've been thinking that if I could copy the result files to the server somehow, then I could get NUnitPublisher to call JUnitArchiver back on the server. Hey it's a real hack - I'm certainly all ears for a better way but I'd just like to get this working somehow.

Hmmm, actually I think I did look at trying to call JUnitArchiver.perform directly but the problem is that one of the required arguments is a 'build' object which isn't accessible from the NUnitArchiver class as far as I could tell.

Lee.

----- Original Message ----
From: Erik Ramfelt <[hidden email]>
To: [hidden email]
Sent: Wednesday, December 5, 2007 5:01:36 PM
Subject: Re: nunit plugin with remote building


I wasnt aware that there was a problem with remote builds.

What suprised me is that I just tried it and I get
NullPointerExceptions when trying to log things to the TaskListener
when it is being executed remotly. What is the proper way to
communicate with the Hudson console log when being on the remote
slave?
Code that throws NPE when executed remotly:
listener.getLogger().println("Transforming NUnit tests results");


The JUnitResultArchiver.perform() method does a
build.getProject().getWorkspace().act(new FileCallable<TestResult>()
{} so it should be executed on the remote host, and thus finding the
junit result files at the same place where the NUnitArchiver left
them. Do you have any logs/exceptions when it is not picking up the
JUnit files?

//Erik

On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> Hi,
> I'm new to hudson development and I'm currently trying to get the
 nunit
>  plugin to work with remote builds.
>
> It seems that in this scenario the top-level NUnitPublisher class
 runs
>  on the hudson server while the NUnitArchiver class gets marshalled
 over
>  to the slave.
> Now I've mostly fixed the NUnitArchiver so that it gets marshalled
>  correctly and it is successfully converting nunit results but for
 the very
>  last step it appears that it is neccesary to copy the result files
 (now
>  in JUnit format) back to the hudson server so they can be handed to
>  the JUnitArchiver.
>
> Could anyone give me some guidance on how to do that? eg. Can I
 somehow
>  use the VirtualChannel object that's been supplied to
 NUnitArchivers'

>  invoke method to send file(s) back to the server?
>
> Thanks for any help in advance.
>
> Lee
>
>
>
>
>
>      
 ____________________________________________________________________________________
> Be a better pen pal.
> Text or chat with friends inside Yahoo! Mail. See how.
  http://overview.mail.yahoo.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]






      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Erik Ramfelt
Ok, after some fiddling around I got it to work on agents, as I
removed the FilePath.FileCallable.act(). ie all code is run on the
master using FilePath's to read/write files on the agents, which made
it quite slower.. At least now it works as it should on agents. I will
have to re-write some parts of the plugin as the JUnitArchiver can not
be called from the agent. Let me know if you have any ideas/tips.

Thanks for bringing up the problem!

//Erik

On Dec 5, 2007 12:39 PM, lee marks <[hidden email]> wrote:

> Hi Erik,
>
> Removing the 'transient' keyword from the listener variable in NUnitArchiver fixed that exception for me. The same needs to be done for testResultsPattern.
>
> Now that leaves unitReportTransformer and unitResultArchiver still null. I tried removing 'transient' from those also but got exceptions saying those classes can't be marshalled. I worked around the first one (unitReportTransformer) by creating a new instance at the beginning of NUnitArchiver.invoke and that works fine. This leaves, unitResultArchiver, which is where I'm stuck.
> I don't know how to marshal it or obtain a reference to that object any other way. That's why I've been thinking that if I could copy the result files to the server somehow, then I could get NUnitPublisher to call JUnitArchiver back on the server. Hey it's a real hack - I'm certainly all ears for a better way but I'd just like to get this working somehow.
>
> Hmmm, actually I think I did look at trying to call JUnitArchiver.perform directly but the problem is that one of the required arguments is a 'build' object which isn't accessible from the NUnitArchiver class as far as I could tell.
>
> Lee.
>
>
> ----- Original Message ----
> From: Erik Ramfelt <[hidden email]>
> To: [hidden email]
> Sent: Wednesday, December 5, 2007 5:01:36 PM
> Subject: Re: nunit plugin with remote building
>
>
> I wasnt aware that there was a problem with remote builds.
>
> What suprised me is that I just tried it and I get
> NullPointerExceptions when trying to log things to the TaskListener
> when it is being executed remotly. What is the proper way to
> communicate with the Hudson console log when being on the remote
> slave?
> Code that throws NPE when executed remotly:
> listener.getLogger().println("Transforming NUnit tests results");
>
>
> The JUnitResultArchiver.perform() method does a
> build.getProject().getWorkspace().act(new FileCallable<TestResult>()
> {} so it should be executed on the remote host, and thus finding the
> junit result files at the same place where the NUnitArchiver left
> them. Do you have any logs/exceptions when it is not picking up the
> JUnit files?
>
> //Erik
>
> On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> > Hi,
> > I'm new to hudson development and I'm currently trying to get the
>  nunit
> >  plugin to work with remote builds.
> >
> > It seems that in this scenario the top-level NUnitPublisher class
>  runs
> >  on the hudson server while the NUnitArchiver class gets marshalled
>  over
> >  to the slave.
> > Now I've mostly fixed the NUnitArchiver so that it gets marshalled
> >  correctly and it is successfully converting nunit results but for
>  the very
> >  last step it appears that it is neccesary to copy the result files
>  (now
> >  in JUnit format) back to the hudson server so they can be handed to
> >  the JUnitArchiver.
> >
> > Could anyone give me some guidance on how to do that? eg. Can I
>  somehow
> >  use the VirtualChannel object that's been supplied to
>  NUnitArchivers'
> >  invoke method to send file(s) back to the server?
> >
> > Thanks for any help in advance.
> >
> > Lee
> >
> >
> >
> >
> >
> >
>  ____________________________________________________________________________________
> > Be a better pen pal.
> > Text or chat with friends inside Yahoo! Mail. See how.
>   http://overview.mail.yahoo.com/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>
>
>       ____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

lee marks-2
In reply to this post by lee marks-2
Hi Erik,

If you've got it working then I'll just wait until you've committed the updates to cvs. Being slower doesn't bother me at all, just that it works.
Thanks for your help on this.

BTW, in case you're interested I've got an xsl template that converts csunit files to junit format (let me know if you would like me to email you a copy). I replace nunits standard template with this one thus effectively turning it into a csunit plugin. What would be really cool is if it were possible to let the user simply specify a custom xsl template in nunit's configuration page. That would generalize the plugin so that it would in principle be able to handle any xml-based test result format for which an xsl conversion template is available.

Lee

----- Original Message ----
From: Erik Ramfelt <[hidden email]>
To: [hidden email]
Sent: Thursday, December 6, 2007 7:56:05 AM
Subject: Re: nunit plugin with remote building


Ok, after some fiddling around I got it to work on agents, as I
removed the FilePath.FileCallable.act(). ie all code is run on the
master using FilePath's to read/write files on the agents, which made
it quite slower.. At least now it works as it should on agents. I will
have to re-write some parts of the plugin as the JUnitArchiver can not
be called from the agent. Let me know if you have any ideas/tips.

Thanks for bringing up the problem!

//Erik

On Dec 5, 2007 12:39 PM, lee marks <[hidden email]> wrote:
> Hi Erik,
>
> Removing the 'transient' keyword from the listener variable in
 NUnitArchiver fixed that exception for me. The same needs to be done for
 testResultsPattern.
>
> Now that leaves unitReportTransformer and unitResultArchiver still
 null. I tried removing 'transient' from those also but got exceptions
 saying those classes can't be marshalled. I worked around the first one
 (unitReportTransformer) by creating a new instance at the beginning of
 NUnitArchiver.invoke and that works fine. This leaves,
 unitResultArchiver, which is where I'm stuck.
> I don't know how to marshal it or obtain a reference to that object
 any other way. That's why I've been thinking that if I could copy the
 result files to the server somehow, then I could get NUnitPublisher to
 call JUnitArchiver back on the server. Hey it's a real hack - I'm
 certainly all ears for a better way but I'd just like to get this working
 somehow.
>
> Hmmm, actually I think I did look at trying to call
 JUnitArchiver.perform directly but the problem is that one of the required arguments is
 a 'build' object which isn't accessible from the NUnitArchiver class as
 far as I could tell.

>
> Lee.
>
>
> ----- Original Message ----
> From: Erik Ramfelt <[hidden email]>
> To: [hidden email]
> Sent: Wednesday, December 5, 2007 5:01:36 PM
> Subject: Re: nunit plugin with remote building
>
>
> I wasnt aware that there was a problem with remote builds.
>
> What suprised me is that I just tried it and I get
> NullPointerExceptions when trying to log things to the TaskListener
> when it is being executed remotly. What is the proper way to
> communicate with the Hudson console log when being on the remote
> slave?
> Code that throws NPE when executed remotly:
> listener.getLogger().println("Transforming NUnit tests results");
>
>
> The JUnitResultArchiver.perform() method does a
> build.getProject().getWorkspace().act(new FileCallable<TestResult>()
> {} so it should be executed on the remote host, and thus finding the
> junit result files at the same place where the NUnitArchiver left
> them. Do you have any logs/exceptions when it is not picking up the
> JUnit files?
>
> //Erik
>
> On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> > Hi,
> > I'm new to hudson development and I'm currently trying to get the
>  nunit
> >  plugin to work with remote builds.
> >
> > It seems that in this scenario the top-level NUnitPublisher class
>  runs
> >  on the hudson server while the NUnitArchiver class gets marshalled
>  over
> >  to the slave.
> > Now I've mostly fixed the NUnitArchiver so that it gets marshalled
> >  correctly and it is successfully converting nunit results but for
>  the very
> >  last step it appears that it is neccesary to copy the result files
>  (now
> >  in JUnit format) back to the hudson server so they can be handed
 to

> >  the JUnitArchiver.
> >
> > Could anyone give me some guidance on how to do that? eg. Can I
>  somehow
> >  use the VirtualChannel object that's been supplied to
>  NUnitArchivers'
> >  invoke method to send file(s) back to the server?
> >
> > Thanks for any help in advance.
> >
> > Lee
> >
> >
> >
> >
> >
> >
>
  ____________________________________________________________________________________
> > Be a better pen pal.
> > Text or chat with friends inside Yahoo! Mail. See how.
>   http://overview.mail.yahoo.com/
> >
> >
 ---------------------------------------------------------------------

> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>
>
>      
 ____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.
  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]






      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Kohsuke Kawaguchi
Administrator
In reply to this post by lee marks-2
lee marks wrote:
> Removing the 'transient' keyword from the listener variable in
> NUnitArchiver fixed that exception for me. The same needs to be done for
> testResultsPattern.

Right. The remote computation depends on serialization, so if the field
is transient it won't be sent over.


--
Kohsuke Kawaguchi
Sun Microsystems                   [hidden email]

smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Erik Ramfelt
On Dec 6, 2007 3:43 AM, Kohsuke Kawaguchi <[hidden email]> wrote:
> lee marks wrote:
> > Removing the 'transient' keyword from the listener variable in
> > NUnitArchiver fixed that exception for me. The same needs to be done for
> > testResultsPattern.
>
> Right. The remote computation depends on serialization, so if the field
> is transient it won't be sent over.

Oh, that's true. I was putting everything as transient as I didnt want
them persisted (as XML in project folders). Just for clarity, what
objects/classes are serialized to XML?

//Erik

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Kohsuke Kawaguchi
Administrator
2007/12/6, Erik Ramfelt <[hidden email]>:

> On Dec 6, 2007 3:43 AM, Kohsuke Kawaguchi <[hidden email]> wrote:
> > lee marks wrote:
> > > Removing the 'transient' keyword from the listener variable in
> > > NUnitArchiver fixed that exception for me. The same needs to be done for
> > > testResultsPattern.
> >
> > Right. The remote computation depends on serialization, so if the field
> > is transient it won't be sent over.
>
> Oh, that's true. I was putting everything as transient as I didnt want
> them persisted (as XML in project folders). Just for clarity, what
> objects/classes are serialized to XML?

There's no quick answer, but generally speaking things reachable from
Hudson, Project, and Build objects get persisted. Often the best way
to make sure is to dump the config file to see it looks OK.

Looking at NUnit code, NUnitArchiver is not reachable from those at
any given time, so that one won't become a part of the job config XML.

--
Kohsuke Kawaguchi

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Erik Ramfelt
In reply to this post by lee marks-2
The idea has struck me as the XSL file is very replacable. But what I
like with Hudson is that it is very simple to start using it, and if
the plugin becomes a "Generic Unit test transformer", then it is not
as evident that Hudson can handle NUnit or csunit tests.

But I dont want one csunit plugin forked from the NUnit plugin, etc.
Perhaps it is better to have a generic plugin, that is configured per
project to transform NUnit or CSUnit reports through a combo box..
(And an extra option to specify their own XSL files).

My main wish would be that it should be as simple as using JUnit test
reports; check a checkbox, enter a file pattern and you are ready.


regards
//Erik

On Dec 6, 2007 12:21 AM, lee marks <[hidden email]> wrote:

> Hi Erik,
>
> If you've got it working then I'll just wait until you've committed the updates to cvs. Being slower doesn't bother me at all, just that it works.
> Thanks for your help on this.
>
> BTW, in case you're interested I've got an xsl template that converts csunit files to junit format (let me know if you would like me to email you a copy). I replace nunits standard template with this one thus effectively turning it into a csunit plugin. What would be really cool is if it were possible to let the user simply specify a custom xsl template in nunit's configuration page. That would generalize the plugin so that it would in principle be able to handle any xml-based test result format for which an xsl conversion template is available.
>
> Lee
>
> ----- Original Message ----
> From: Erik Ramfelt <[hidden email]>
> To: [hidden email]
>
> Sent: Thursday, December 6, 2007 7:56:05 AM
> Subject: Re: nunit plugin with remote building
>
>
> Ok, after some fiddling around I got it to work on agents, as I
> removed the FilePath.FileCallable.act(). ie all code is run on the
> master using FilePath's to read/write files on the agents, which made
> it quite slower.. At least now it works as it should on agents. I will
> have to re-write some parts of the plugin as the JUnitArchiver can not
> be called from the agent. Let me know if you have any ideas/tips.
>
> Thanks for bringing up the problem!
>
> //Erik
>
> On Dec 5, 2007 12:39 PM, lee marks <[hidden email]> wrote:
> > Hi Erik,
> >
> > Removing the 'transient' keyword from the listener variable in
>  NUnitArchiver fixed that exception for me. The same needs to be done for
>  testResultsPattern.
> >
> > Now that leaves unitReportTransformer and unitResultArchiver still
>  null. I tried removing 'transient' from those also but got exceptions
>  saying those classes can't be marshalled. I worked around the first one
>  (unitReportTransformer) by creating a new instance at the beginning of
>  NUnitArchiver.invoke and that works fine. This leaves,
>  unitResultArchiver, which is where I'm stuck.
> > I don't know how to marshal it or obtain a reference to that object
>  any other way. That's why I've been thinking that if I could copy the
>  result files to the server somehow, then I could get NUnitPublisher to
>  call JUnitArchiver back on the server. Hey it's a real hack - I'm
>  certainly all ears for a better way but I'd just like to get this working
>  somehow.
> >
> > Hmmm, actually I think I did look at trying to call
>  JUnitArchiver.perform directly but the problem is that one of the required arguments is
>  a 'build' object which isn't accessible from the NUnitArchiver class as
>  far as I could tell.
> >
> > Lee.
> >
> >
> > ----- Original Message ----
> > From: Erik Ramfelt <[hidden email]>
> > To: [hidden email]
> > Sent: Wednesday, December 5, 2007 5:01:36 PM
> > Subject: Re: nunit plugin with remote building
> >
> >
> > I wasnt aware that there was a problem with remote builds.
> >
> > What suprised me is that I just tried it and I get
> > NullPointerExceptions when trying to log things to the TaskListener
> > when it is being executed remotly. What is the proper way to
> > communicate with the Hudson console log when being on the remote
> > slave?
> > Code that throws NPE when executed remotly:
> > listener.getLogger().println("Transforming NUnit tests results");
> >
> >
> > The JUnitResultArchiver.perform() method does a
> > build.getProject().getWorkspace().act(new FileCallable<TestResult>()
> > {} so it should be executed on the remote host, and thus finding the
> > junit result files at the same place where the NUnitArchiver left
> > them. Do you have any logs/exceptions when it is not picking up the
> > JUnit files?
> >
> > //Erik
> >
> > On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> > > Hi,
> > > I'm new to hudson development and I'm currently trying to get the
> >  nunit
> > >  plugin to work with remote builds.
> > >
> > > It seems that in this scenario the top-level NUnitPublisher class
> >  runs
> > >  on the hudson server while the NUnitArchiver class gets marshalled
> >  over
> > >  to the slave.
> > > Now I've mostly fixed the NUnitArchiver so that it gets marshalled
> > >  correctly and it is successfully converting nunit results but for
> >  the very
> > >  last step it appears that it is neccesary to copy the result files
> >  (now
> > >  in JUnit format) back to the hudson server so they can be handed
>  to
> > >  the JUnitArchiver.
> > >
> > > Could anyone give me some guidance on how to do that? eg. Can I
> >  somehow
> > >  use the VirtualChannel object that's been supplied to
> >  NUnitArchivers'
> > >  invoke method to send file(s) back to the server?
> > >
> > > Thanks for any help in advance.
> > >
> > > Lee
> > >
> > >
> > >
> > >
> > >
> > >
> >
>   ____________________________________________________________________________________
> > > Be a better pen pal.
> > > Text or chat with friends inside Yahoo! Mail. See how.
> >   http://overview.mail.yahoo.com/
> > >
> > >
>  ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
> >
> >
> >
> >
>  ____________________________________________________________________________________
> > Looking for last minute shopping deals?
> > Find them fast with Yahoo! Search.
>   http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>
>
>       ____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

lee marks-2
In reply to this post by lee marks-2
Oh totally agree, I wasn't suggesting the user *must* supply a template just that it would be neat of they could. Probably for 99% of users though, your suggestion of a combo box allowing a selection of either nunit or csunit would be enough.

Regards,
Lee.

----- Original Message ----
From: Erik Ramfelt <[hidden email]>
To: [hidden email]
Sent: Thursday, December 6, 2007 9:18:03 PM
Subject: Re: nunit plugin with remote building


The idea has struck me as the XSL file is very replacable. But what I
like with Hudson is that it is very simple to start using it, and if
the plugin becomes a "Generic Unit test transformer", then it is not
as evident that Hudson can handle NUnit or csunit tests.

But I dont want one csunit plugin forked from the NUnit plugin, etc.
Perhaps it is better to have a generic plugin, that is configured per
project to transform NUnit or CSUnit reports through a combo box..
(And an extra option to specify their own XSL files).

My main wish would be that it should be as simple as using JUnit test
reports; check a checkbox, enter a file pattern and you are ready.


regards
//Erik

On Dec 6, 2007 12:21 AM, lee marks <[hidden email]> wrote:
> Hi Erik,
>
> If you've got it working then I'll just wait until you've committed
 the updates to cvs. Being slower doesn't bother me at all, just that it
 works.
> Thanks for your help on this.
>
> BTW, in case you're interested I've got an xsl template that converts
 csunit files to junit format (let me know if you would like me to
 email you a copy). I replace nunits standard template with this one thus
 effectively turning it into a csunit plugin. What would be really cool is
 if it were possible to let the user simply specify a custom xsl
 template in nunit's configuration page. That would generalize the plugin so
 that it would in principle be able to handle any xml-based test result
 format for which an xsl conversion template is available.

>
> Lee
>
> ----- Original Message ----
> From: Erik Ramfelt <[hidden email]>
> To: [hidden email]
>
> Sent: Thursday, December 6, 2007 7:56:05 AM
> Subject: Re: nunit plugin with remote building
>
>
> Ok, after some fiddling around I got it to work on agents, as I
> removed the FilePath.FileCallable.act(). ie all code is run on the
> master using FilePath's to read/write files on the agents, which made
> it quite slower.. At least now it works as it should on agents. I
 will
> have to re-write some parts of the plugin as the JUnitArchiver can
 not

> be called from the agent. Let me know if you have any ideas/tips.
>
> Thanks for bringing up the problem!
>
> //Erik
>
> On Dec 5, 2007 12:39 PM, lee marks <[hidden email]> wrote:
> > Hi Erik,
> >
> > Removing the 'transient' keyword from the listener variable in
>  NUnitArchiver fixed that exception for me. The same needs to be done
 for
>  testResultsPattern.
> >
> > Now that leaves unitReportTransformer and unitResultArchiver still
>  null. I tried removing 'transient' from those also but got
 exceptions
>  saying those classes can't be marshalled. I worked around the first
 one
>  (unitReportTransformer) by creating a new instance at the beginning
 of
>  NUnitArchiver.invoke and that works fine. This leaves,
>  unitResultArchiver, which is where I'm stuck.
> > I don't know how to marshal it or obtain a reference to that object
>  any other way. That's why I've been thinking that if I could copy
 the
>  result files to the server somehow, then I could get NUnitPublisher
 to
>  call JUnitArchiver back on the server. Hey it's a real hack - I'm
>  certainly all ears for a better way but I'd just like to get this
 working
>  somehow.
> >
> > Hmmm, actually I think I did look at trying to call
>  JUnitArchiver.perform directly but the problem is that one of the
 required arguments is
>  a 'build' object which isn't accessible from the NUnitArchiver class
 as

>  far as I could tell.
> >
> > Lee.
> >
> >
> > ----- Original Message ----
> > From: Erik Ramfelt <[hidden email]>
> > To: [hidden email]
> > Sent: Wednesday, December 5, 2007 5:01:36 PM
> > Subject: Re: nunit plugin with remote building
> >
> >
> > I wasnt aware that there was a problem with remote builds.
> >
> > What suprised me is that I just tried it and I get
> > NullPointerExceptions when trying to log things to the TaskListener
> > when it is being executed remotly. What is the proper way to
> > communicate with the Hudson console log when being on the remote
> > slave?
> > Code that throws NPE when executed remotly:
> > listener.getLogger().println("Transforming NUnit tests results");
> >
> >
> > The JUnitResultArchiver.perform() method does a
> > build.getProject().getWorkspace().act(new
 FileCallable<TestResult>()
> > {} so it should be executed on the remote host, and thus finding
 the

> > junit result files at the same place where the NUnitArchiver left
> > them. Do you have any logs/exceptions when it is not picking up the
> > JUnit files?
> >
> > //Erik
> >
> > On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> > > Hi,
> > > I'm new to hudson development and I'm currently trying to get the
> >  nunit
> > >  plugin to work with remote builds.
> > >
> > > It seems that in this scenario the top-level NUnitPublisher class
> >  runs
> > >  on the hudson server while the NUnitArchiver class gets
 marshalled
> >  over
> > >  to the slave.
> > > Now I've mostly fixed the NUnitArchiver so that it gets
 marshalled
> > >  correctly and it is successfully converting nunit results but
 for
> >  the very
> > >  last step it appears that it is neccesary to copy the result
 files

> >  (now
> > >  in JUnit format) back to the hudson server so they can be handed
>  to
> > >  the JUnitArchiver.
> > >
> > > Could anyone give me some guidance on how to do that? eg. Can I
> >  somehow
> > >  use the VirtualChannel object that's been supplied to
> >  NUnitArchivers'
> > >  invoke method to send file(s) back to the server?
> > >
> > > Thanks for any help in advance.
> > >
> > > Lee
> > >
> > >
> > >
> > >
> > >
> > >
> >
>  
 ____________________________________________________________________________________
> > > Be a better pen pal.
> > > Text or chat with friends inside Yahoo! Mail. See how.
> >   http://overview.mail.yahoo.com/
> > >
> > >
>
  ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
 ---------------------------------------------------------------------

> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
> >
> >
> >
> >
>
  ____________________________________________________________________________________
> > Looking for last minute shopping deals?
> > Find them fast with Yahoo! Search.
>  
 http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> >
> >
> >
 ---------------------------------------------------------------------

> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>
>
>      
 ____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.
  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]






      ____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page.
http://www.yahoo.com/r/hs

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Erik Ramfelt
In reply to this post by lee marks-2
Ok, I think I have fixed the remote problem now, and have committed
the change to the CVS. It would be nice if you could verify that it
has been fixed before I release a new version. You can get the latest
version from http://hudson.ramfelt.se (in about 1 hour), or build it
yourself.

//Erik

On Dec 6, 2007 12:21 AM, lee marks <[hidden email]> wrote:

> Hi Erik,
>
> If you've got it working then I'll just wait until you've committed the updates to cvs. Being slower doesn't bother me at all, just that it works.
> Thanks for your help on this.
>
> BTW, in case you're interested I've got an xsl template that converts csunit files to junit format (let me know if you would like me to email you a copy). I replace nunits standard template with this one thus effectively turning it into a csunit plugin. What would be really cool is if it were possible to let the user simply specify a custom xsl template in nunit's configuration page. That would generalize the plugin so that it would in principle be able to handle any xml-based test result format for which an xsl conversion template is available.
>
> Lee
>
> ----- Original Message ----
> From: Erik Ramfelt <[hidden email]>
> To: [hidden email]
>
> Sent: Thursday, December 6, 2007 7:56:05 AM
> Subject: Re: nunit plugin with remote building
>
>
> Ok, after some fiddling around I got it to work on agents, as I
> removed the FilePath.FileCallable.act(). ie all code is run on the
> master using FilePath's to read/write files on the agents, which made
> it quite slower.. At least now it works as it should on agents. I will
> have to re-write some parts of the plugin as the JUnitArchiver can not
> be called from the agent. Let me know if you have any ideas/tips.
>
> Thanks for bringing up the problem!
>
> //Erik
>
> On Dec 5, 2007 12:39 PM, lee marks <[hidden email]> wrote:
> > Hi Erik,
> >
> > Removing the 'transient' keyword from the listener variable in
>  NUnitArchiver fixed that exception for me. The same needs to be done for
>  testResultsPattern.
> >
> > Now that leaves unitReportTransformer and unitResultArchiver still
>  null. I tried removing 'transient' from those also but got exceptions
>  saying those classes can't be marshalled. I worked around the first one
>  (unitReportTransformer) by creating a new instance at the beginning of
>  NUnitArchiver.invoke and that works fine. This leaves,
>  unitResultArchiver, which is where I'm stuck.
> > I don't know how to marshal it or obtain a reference to that object
>  any other way. That's why I've been thinking that if I could copy the
>  result files to the server somehow, then I could get NUnitPublisher to
>  call JUnitArchiver back on the server. Hey it's a real hack - I'm
>  certainly all ears for a better way but I'd just like to get this working
>  somehow.
> >
> > Hmmm, actually I think I did look at trying to call
>  JUnitArchiver.perform directly but the problem is that one of the required arguments is
>  a 'build' object which isn't accessible from the NUnitArchiver class as
>  far as I could tell.
> >
> > Lee.
> >
> >
> > ----- Original Message ----
> > From: Erik Ramfelt <[hidden email]>
> > To: [hidden email]
> > Sent: Wednesday, December 5, 2007 5:01:36 PM
> > Subject: Re: nunit plugin with remote building
> >
> >
> > I wasnt aware that there was a problem with remote builds.
> >
> > What suprised me is that I just tried it and I get
> > NullPointerExceptions when trying to log things to the TaskListener
> > when it is being executed remotly. What is the proper way to
> > communicate with the Hudson console log when being on the remote
> > slave?
> > Code that throws NPE when executed remotly:
> > listener.getLogger().println("Transforming NUnit tests results");
> >
> >
> > The JUnitResultArchiver.perform() method does a
> > build.getProject().getWorkspace().act(new FileCallable<TestResult>()
> > {} so it should be executed on the remote host, and thus finding the
> > junit result files at the same place where the NUnitArchiver left
> > them. Do you have any logs/exceptions when it is not picking up the
> > JUnit files?
> >
> > //Erik
> >
> > On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> > > Hi,
> > > I'm new to hudson development and I'm currently trying to get the
> >  nunit
> > >  plugin to work with remote builds.
> > >
> > > It seems that in this scenario the top-level NUnitPublisher class
> >  runs
> > >  on the hudson server while the NUnitArchiver class gets marshalled
> >  over
> > >  to the slave.
> > > Now I've mostly fixed the NUnitArchiver so that it gets marshalled
> > >  correctly and it is successfully converting nunit results but for
> >  the very
> > >  last step it appears that it is neccesary to copy the result files
> >  (now
> > >  in JUnit format) back to the hudson server so they can be handed
>  to
> > >  the JUnitArchiver.
> > >
> > > Could anyone give me some guidance on how to do that? eg. Can I
> >  somehow
> > >  use the VirtualChannel object that's been supplied to
> >  NUnitArchivers'
> > >  invoke method to send file(s) back to the server?
> > >
> > > Thanks for any help in advance.
> > >
> > > Lee
> > >
> > >
> > >
> > >
> > >
> > >
> >
>   ____________________________________________________________________________________
> > > Be a better pen pal.
> > > Text or chat with friends inside Yahoo! Mail. See how.
> >   http://overview.mail.yahoo.com/
> > >
> > >
>  ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
> >
> >
> >
> >
>  ____________________________________________________________________________________
> > Looking for last minute shopping deals?
> > Find them fast with Yahoo! Search.
>   http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>
>
>       ____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

lee marks-2
In reply to this post by lee marks-2

Thanks Eric, working perfectly for me now! I didn't notice any slowdown even.

Lee

----- Original Message ----
From: Erik Ramfelt <[hidden email]>
To: [hidden email]
Sent: Friday, December 7, 2007 8:43:20 AM
Subject: Re: nunit plugin with remote building


Ok, I think I have fixed the remote problem now, and have committed
the change to the CVS. It would be nice if you could verify that it
has been fixed before I release a new version. You can get the latest
version from http://hudson.ramfelt.se (in about 1 hour), or build it
yourself.

//Erik

On Dec 6, 2007 12:21 AM, lee marks <[hidden email]> wrote:
> Hi Erik,
>
> If you've got it working then I'll just wait until you've committed
 the updates to cvs. Being slower doesn't bother me at all, just that it
 works.
> Thanks for your help on this.
>
> BTW, in case you're interested I've got an xsl template that converts
 csunit files to junit format (let me know if you would like me to
 email you a copy). I replace nunits standard template with this one thus
 effectively turning it into a csunit plugin. What would be really cool is
 if it were possible to let the user simply specify a custom xsl
 template in nunit's configuration page. That would generalize the plugin so
 that it would in principle be able to handle any xml-based test result
 format for which an xsl conversion template is available.

>
> Lee
>
> ----- Original Message ----
> From: Erik Ramfelt <[hidden email]>
> To: [hidden email]
>
> Sent: Thursday, December 6, 2007 7:56:05 AM
> Subject: Re: nunit plugin with remote building
>
>
> Ok, after some fiddling around I got it to work on agents, as I
> removed the FilePath.FileCallable.act(). ie all code is run on the
> master using FilePath's to read/write files on the agents, which made
> it quite slower.. At least now it works as it should on agents. I
 will
> have to re-write some parts of the plugin as the JUnitArchiver can
 not

> be called from the agent. Let me know if you have any ideas/tips.
>
> Thanks for bringing up the problem!
>
> //Erik
>
> On Dec 5, 2007 12:39 PM, lee marks <[hidden email]> wrote:
> > Hi Erik,
> >
> > Removing the 'transient' keyword from the listener variable in
>  NUnitArchiver fixed that exception for me. The same needs to be done
 for
>  testResultsPattern.
> >
> > Now that leaves unitReportTransformer and unitResultArchiver still
>  null. I tried removing 'transient' from those also but got
 exceptions
>  saying those classes can't be marshalled. I worked around the first
 one
>  (unitReportTransformer) by creating a new instance at the beginning
 of
>  NUnitArchiver.invoke and that works fine. This leaves,
>  unitResultArchiver, which is where I'm stuck.
> > I don't know how to marshal it or obtain a reference to that object
>  any other way. That's why I've been thinking that if I could copy
 the
>  result files to the server somehow, then I could get NUnitPublisher
 to
>  call JUnitArchiver back on the server. Hey it's a real hack - I'm
>  certainly all ears for a better way but I'd just like to get this
 working
>  somehow.
> >
> > Hmmm, actually I think I did look at trying to call
>  JUnitArchiver.perform directly but the problem is that one of the
 required arguments is
>  a 'build' object which isn't accessible from the NUnitArchiver class
 as

>  far as I could tell.
> >
> > Lee.
> >
> >
> > ----- Original Message ----
> > From: Erik Ramfelt <[hidden email]>
> > To: [hidden email]
> > Sent: Wednesday, December 5, 2007 5:01:36 PM
> > Subject: Re: nunit plugin with remote building
> >
> >
> > I wasnt aware that there was a problem with remote builds.
> >
> > What suprised me is that I just tried it and I get
> > NullPointerExceptions when trying to log things to the TaskListener
> > when it is being executed remotly. What is the proper way to
> > communicate with the Hudson console log when being on the remote
> > slave?
> > Code that throws NPE when executed remotly:
> > listener.getLogger().println("Transforming NUnit tests results");
> >
> >
> > The JUnitResultArchiver.perform() method does a
> > build.getProject().getWorkspace().act(new
 FileCallable<TestResult>()
> > {} so it should be executed on the remote host, and thus finding
 the

> > junit result files at the same place where the NUnitArchiver left
> > them. Do you have any logs/exceptions when it is not picking up the
> > JUnit files?
> >
> > //Erik
> >
> > On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> > > Hi,
> > > I'm new to hudson development and I'm currently trying to get the
> >  nunit
> > >  plugin to work with remote builds.
> > >
> > > It seems that in this scenario the top-level NUnitPublisher class
> >  runs
> > >  on the hudson server while the NUnitArchiver class gets
 marshalled
> >  over
> > >  to the slave.
> > > Now I've mostly fixed the NUnitArchiver so that it gets
 marshalled
> > >  correctly and it is successfully converting nunit results but
 for
> >  the very
> > >  last step it appears that it is neccesary to copy the result
 files

> >  (now
> > >  in JUnit format) back to the hudson server so they can be handed
>  to
> > >  the JUnitArchiver.
> > >
> > > Could anyone give me some guidance on how to do that? eg. Can I
> >  somehow
> > >  use the VirtualChannel object that's been supplied to
> >  NUnitArchivers'
> > >  invoke method to send file(s) back to the server?
> > >
> > > Thanks for any help in advance.
> > >
> > > Lee
> > >
> > >
> > >
> > >
> > >
> > >
> >
>  
 ____________________________________________________________________________________
> > > Be a better pen pal.
> > > Text or chat with friends inside Yahoo! Mail. See how.
> >   http://overview.mail.yahoo.com/
> > >
> > >
>
  ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> >
 ---------------------------------------------------------------------

> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
> >
> >
> >
> >
>
  ____________________________________________________________________________________
> > Looking for last minute shopping deals?
> > Find them fast with Yahoo! Search.
>  
 http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> >
> >
> >
 ---------------------------------------------------------------------

> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>
>
>      
 ____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.
  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]






      ____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: nunit plugin with remote building

Erik Ramfelt
Thanks for testing. I fixed so the report transformation is done
remotly, so there should not be any performance htis for that.
Im in the process of releasing a new version.

//Erik

On Dec 7, 2007 5:09 AM, lee marks <[hidden email]> wrote:

>
> Thanks Eric, working perfectly for me now! I didn't notice any slowdown even.
>
> Lee
>
> ----- Original Message ----
> From: Erik Ramfelt <[hidden email]>
> To: [hidden email]
>
> Sent: Friday, December 7, 2007 8:43:20 AM
> Subject: Re: nunit plugin with remote building
>
>
> Ok, I think I have fixed the remote problem now, and have committed
> the change to the CVS. It would be nice if you could verify that it
> has been fixed before I release a new version. You can get the latest
> version from http://hudson.ramfelt.se (in about 1 hour), or build it
> yourself.
>
> //Erik
>
> On Dec 6, 2007 12:21 AM, lee marks <[hidden email]> wrote:
> > Hi Erik,
> >
> > If you've got it working then I'll just wait until you've committed
>  the updates to cvs. Being slower doesn't bother me at all, just that it
>  works.
> > Thanks for your help on this.
> >
> > BTW, in case you're interested I've got an xsl template that converts
>  csunit files to junit format (let me know if you would like me to
>  email you a copy). I replace nunits standard template with this one thus
>  effectively turning it into a csunit plugin. What would be really cool is
>  if it were possible to let the user simply specify a custom xsl
>  template in nunit's configuration page. That would generalize the plugin so
>  that it would in principle be able to handle any xml-based test result
>  format for which an xsl conversion template is available.
> >
> > Lee
> >
> > ----- Original Message ----
> > From: Erik Ramfelt <[hidden email]>
> > To: [hidden email]
> >
> > Sent: Thursday, December 6, 2007 7:56:05 AM
> > Subject: Re: nunit plugin with remote building
> >
> >
> > Ok, after some fiddling around I got it to work on agents, as I
> > removed the FilePath.FileCallable.act(). ie all code is run on the
> > master using FilePath's to read/write files on the agents, which made
> > it quite slower.. At least now it works as it should on agents. I
>  will
> > have to re-write some parts of the plugin as the JUnitArchiver can
>  not
> > be called from the agent. Let me know if you have any ideas/tips.
> >
> > Thanks for bringing up the problem!
> >
> > //Erik
> >
> > On Dec 5, 2007 12:39 PM, lee marks <[hidden email]> wrote:
> > > Hi Erik,
> > >
> > > Removing the 'transient' keyword from the listener variable in
> >  NUnitArchiver fixed that exception for me. The same needs to be done
>  for
> >  testResultsPattern.
> > >
> > > Now that leaves unitReportTransformer and unitResultArchiver still
> >  null. I tried removing 'transient' from those also but got
>  exceptions
> >  saying those classes can't be marshalled. I worked around the first
>  one
> >  (unitReportTransformer) by creating a new instance at the beginning
>  of
> >  NUnitArchiver.invoke and that works fine. This leaves,
> >  unitResultArchiver, which is where I'm stuck.
> > > I don't know how to marshal it or obtain a reference to that object
> >  any other way. That's why I've been thinking that if I could copy
>  the
> >  result files to the server somehow, then I could get NUnitPublisher
>  to
> >  call JUnitArchiver back on the server. Hey it's a real hack - I'm
> >  certainly all ears for a better way but I'd just like to get this
>  working
> >  somehow.
> > >
> > > Hmmm, actually I think I did look at trying to call
> >  JUnitArchiver.perform directly but the problem is that one of the
>  required arguments is
> >  a 'build' object which isn't accessible from the NUnitArchiver class
>  as
> >  far as I could tell.
> > >
> > > Lee.
> > >
> > >
> > > ----- Original Message ----
> > > From: Erik Ramfelt <[hidden email]>
> > > To: [hidden email]
> > > Sent: Wednesday, December 5, 2007 5:01:36 PM
> > > Subject: Re: nunit plugin with remote building
> > >
> > >
> > > I wasnt aware that there was a problem with remote builds.
> > >
> > > What suprised me is that I just tried it and I get
> > > NullPointerExceptions when trying to log things to the TaskListener
> > > when it is being executed remotly. What is the proper way to
> > > communicate with the Hudson console log when being on the remote
> > > slave?
> > > Code that throws NPE when executed remotly:
> > > listener.getLogger().println("Transforming NUnit tests results");
> > >
> > >
> > > The JUnitResultArchiver.perform() method does a
> > > build.getProject().getWorkspace().act(new
>  FileCallable<TestResult>()
> > > {} so it should be executed on the remote host, and thus finding
>  the
> > > junit result files at the same place where the NUnitArchiver left
> > > them. Do you have any logs/exceptions when it is not picking up the
> > > JUnit files?
> > >
> > > //Erik
> > >
> > > On Dec 5, 2007 6:58 AM, lee marks <[hidden email]> wrote:
> > > > Hi,
> > > > I'm new to hudson development and I'm currently trying to get the
> > >  nunit
> > > >  plugin to work with remote builds.
> > > >
> > > > It seems that in this scenario the top-level NUnitPublisher class
> > >  runs
> > > >  on the hudson server while the NUnitArchiver class gets
>  marshalled
> > >  over
> > > >  to the slave.
> > > > Now I've mostly fixed the NUnitArchiver so that it gets
>  marshalled
> > > >  correctly and it is successfully converting nunit results but
>  for
> > >  the very
> > > >  last step it appears that it is neccesary to copy the result
>  files
> > >  (now
> > > >  in JUnit format) back to the hudson server so they can be handed
> >  to
> > > >  the JUnitArchiver.
> > > >
> > > > Could anyone give me some guidance on how to do that? eg. Can I
> > >  somehow
> > > >  use the VirtualChannel object that's been supplied to
> > >  NUnitArchivers'
> > > >  invoke method to send file(s) back to the server?
> > > >
> > > > Thanks for any help in advance.
> > > >
> > > > Lee
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
>  ____________________________________________________________________________________
> > > > Be a better pen pal.
> > > > Text or chat with friends inside Yahoo! Mail. See how.
> > >   http://overview.mail.yahoo.com/
> > > >
> > > >
> >
>   ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [hidden email]
> > > > For additional commands, e-mail: [hidden email]
> > > >
> > > >
> > >
> > >
>  ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>   ____________________________________________________________________________________
> > > Looking for last minute shopping deals?
> > > Find them fast with Yahoo! Search.
> >
>  http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> > >
> > >
> > >
>  ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [hidden email]
> > > For additional commands, e-mail: [hidden email]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
> >
> >
> >
> >
> >
>  ____________________________________________________________________________________
> > Looking for last minute shopping deals?
> > Find them fast with Yahoo! Search.
>   http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
>
>
>
>
>       ____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]