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.
>>>>
>>>>
>>>
>>
>>
>
>

Reply via email to