Thanks for that, it looks good. Will run the merge and will check the warnings, and then push to the main Jenkinsci project
I will have to remove the <pluginManagement> section from the pom though as it only required for the eclipse and most, other plugins do not have this section. Chris. On 20 July 2012 19:12, Bruno P. Kinoshita <[email protected]> wrote: > Almost forgot Chris, I also saw some errors regarding missing descriptor for > TriggerBuilder. Adding DescriptorImpl() { super(TriggerBuilder.class); } > constructor to its descriptor fixes that kind or warning ;) > > Laters > > Bruno P. Kinoshita > http://kinoshita.eti.br > http://tupilabs.com > > ________________________________ > From: Bruno P. Kinoshita <[email protected]> > To: cjo <[email protected]>; "[email protected]" > <[email protected]> > Sent: Friday, 20 July 2012 1:49 PM > Subject: Re: Test cases failing with multiple levels of builds > > Ops, sorry Chris, I only tested the master branch. > > > I've sent a pull request [1] with a change the seems to fix this issue. > Below is the pull request message. Cheers. > >>>> > JENKINS-14278: added code to make sure that the number of executors is > updated > For tracking what was causing this issue, I put a breakpoint before the > first > Future<?>#get() method call, as the execution was dying there. Then I called > the HudsonTestCase#getURL() method, to get the Jenkins URL (it's very > convenient). > This way I could see the jobs configuration, it was very useful since I > don't > know very well the objects created by parameterized-trigger-plugin. Then I > noticed there were only two executors. > Following the debug stack, I found later that project1 was waiting for > another > project (I think it was projectZ4 maybe? sorry, I closed the debugger > already) and > that this latter project was waiting for another project that was never > executed. > Going back to Jenkins main page, there were only two executors, even after > Hudson#setNumExecutors(10) was called. Then I had a quick look at > Jenkins#doSubmitConfig(...) > method, and realized that after updating the number of executors, you had to > update the nodes/computers configuration as well. > Then, as I'm a lazy bastard, I went to my search engine and searched for > Jenkins setnumexecutors and found some code with the following code snippet: > hudson.setNodes(hudson.getNodes()); > I think the method that needs to be called after setNumExecutors is > updateComputerList, > that is package protected, but is called from this setNodes method. > And then all the tests passed :) > Other files were changed to remove warnings in Eclipse, to use hamcrest-1.3 > as > maven couldn't find hamcrest-1.2 or for compliance with Java 1.5 (@override > annotations). These changes are not required to fix this issue. > Hope that helps. > Bruno > <<< > > > [1] https://github.com/cjo9900/parameterized-trigger-plugin/pull/1 > > Bruno P. Kinoshita > http://kinoshita.eti.br > http://tupilabs.com > >>________________________________ >> From: cjo <[email protected]> >>To: [email protected] >>Cc: Bruno P. Kinoshita <[email protected]> >>Sent: Friday, 20 July 2012 5:49 AM >>Subject: Re: Test cases failing with multiple levels of builds >> >> >>Did you build and test the JENKINS-14278 branch or the master one? >> >> >>As I see you eclipse changes only on the master branch not JENKINS-14278. >>which is where I have added the changes to the test cases. >> >> >>Chris. >> >>On Friday, July 20, 2012 1:15:30 AM UTC+1, kinow wrote: >>Hi Chris, >>>I've forked the repo at [1] from [2], did the usual changes to remove the >>> Eclipse warnings, plus replaced hamcrest-1.2 by hamcrest-1.3 and then >>> executed mvn -e -X clean test, and couldn't see any errors. Then I tried >>> running TriggerBuilderTest with JUnit plug-in in Eclipse, and again all >>> tests passed. >>>My settings: Debian 6 3.2 64bits, Java 1.6, Eclipse Juno, Maven 3.0.4. >>>Just my 0.02 cents. Maybe I've missed something from your problem, but I >>> believe someone else here with more knowledge of >>> parameterized-trigger-plugin or Jenkins codebase will be able to help you >>> more :-) >>>Cheers, >>>[1] https://github.com/kinow/ parameterized-trigger-plugin. git >>>[2] https://github.com/cjo9900/ parameterized-trigger-plugin. git >>>Bruno P. Kinoshita >>>http://kinoshita.eti.br >>>http://tupilabs.com >>> >>>>_____________________________ ___ >>>> From: cjo <[email protected]> >>>>To: [email protected] >>>>Sent: Thursday, 19 July 2012 9:46 AM >>>>Subject: Test cases failing with multiple levels of builds >>>> >>>> >>>>Hi all, >>>> >>>> >>>>I'm looking at fixing JENKINS-14278[1] on the parameterized-trigger >>>> plugin. >>>> >>>> >>>>I think I have fixed the issue, and I wrote tests that show the issues >>>> before making the changes. >>>>Testcases commited at [2] >>>>Code Fixes at [3] >>>> >>>> >>>>However once making the changes to the plugin the test case still fails, >>>> in a different way. >>>>Before the fix the test case failed with the java.lang. >>>> IllegalArgumentException as per the error report, >>>>after the fix the test case just hung and never completed. >>>> >>>> >>>>The test case involves a matrix project being configured to call builds >>>> on other projects while waiting for them to finish >>>>this gives the following build chain >>>> >>>> >>>>Matrix parent -> Matrix child (triggers+block) -> Project1 >>>>Debugging through this shows that the Project1 never get called to run, >>>>which causes the parameterized-trigger to hang while waiting for the the >>>> build to finish at Future.get() in BlockableBuildTriggerConfig.[ 4] >>>> >>>> >>>>If the test is configured to not block, the Matrix child builds complete >>>> and indicate that the subjobs were triggered, but the logs do not show them >>>> every running. >>>> >>>> >>>> >>>> >>>>To see if this hang was related to the MatrixProject, I also created a >>>> test case where a build triggers another one which also triggers others . >>>> >>>> >>>>ProjectA (triggers+block) -> ProjectB (triggers+block) -> ProjectC. >>>> >>>> >>>>The same error ocurs in this case ProjectC does not seem to run, and also >>>> hangs at Future.get()[4] >>>>So this looks like an issue in the test case running. >>>> >>>> >>>>The issue is not "no free executors" as i have increased that to greater >>>> than the total combination of builds. >>>> >>>> >>>> >>>> >>>>Can anyone see why the second level of jobs is not running in the test >>>> harness? >>>>as when creating the jobs on a proper Jenkins instance they work with no >>>> issues at all. >>>> >>>> >>>> >>>> >>>> >>>> >>>>[1]https://issues.jenkins-ci. org/browse/JENKINS-14278 >>>>[2]https://github.com/ cjo9900/parameterized-trigger- plugin/commit/ >>>> f26766b3eca5ebdd3388b1a0ba2fdb 86c338c9fc >>>>[3]https://github.com/ cjo9900/parameterized-trigger- plugin/commit/ >>>> ca9992f8110aa6991dd013e4f7100f ee229bf92d >>>>[4]https://github.com/ cjo9900/parameterized-trigger- >>>> plugin/blob/JENKINS-14278/src/ main/java/hudson/plugins/ >>>> parameterizedtrigger/ TriggerBuilder.java#L115 >>>> >>>> >>>> >>>> >>>>Thanks for any help on this. >>>> >>>> >>>>Chris. >>>> >>>> >>> >> >> > >
