Actually, maybe this is something more stupid --- like us not starting JenkinsController?
I just pushed a fix that might help. 2014-03-14 17:14 GMT-07:00 Kohsuke Kawaguchi <[email protected]>: > Yes, so WebDriver is up, and it's waiting until Jenkins server gets fully > running, but for some reason it's not coming online. > > > 2014-03-14 16:01 GMT-07:00 Ulli Hafner <[email protected]>: > > Actually a firefox window with Jenkins about screen is showing up, but >> after that nothing else happens. >> >> Am 14.03.2014 um 23:50 schrieb Kohsuke Kawaguchi <[email protected]>: >> >> It's timing out on trying to access the /about page, which seems to >> indicate that the Jenkins server didn't start properly. >> >> Let me see if I can make the failure mode more obvious, so that we can >> see why server failed to start or died in the middle. >> >> >> 2014-03-14 6:21 GMT-07:00 Ulli Hafner <[email protected]>: >> >>> That sound very exciting! >>> >>> I just cloned the repository and tried to run the tests, however, none >>> of them succeeds. Maybe I´m missing still a part on my side. >>> >>> What I´ve done (environment OS X 10.9.2): >>> >>> a) command line >>> - clone of your repository >>> - started mvn test with path to war file >>> >>> b) IntelliJ JUnit >>> - Run of BuildHistoryTest >>> >>> c) IntelliJ >>> - Run of freestyle_build.feature >>> >>> I always get an exception: >>> >>> >>> ---------------------------------------------------------------------------------------------------------------------------------------- >>> com.google.inject.ProvisionException: Guice provision errors: >>> >>> 1) Error injecting constructor, java.lang.Error: Failed to wait for >>> condition org.jenkinsci.test.acceptance.po.CapybaraPortingLayer$1@51bea01c >>> at org.jenkinsci.test.acceptance.po.Jenkins.<init>(Jenkins.java:35) >>> at org.jenkinsci.test.acceptance.po.Jenkins.class(Jenkins.java:29) >>> while locating org.jenkinsci.test.acceptance.po.Jenkins >>> for field at core.BuildHistoryTest.j(BuildHistoryTest.java:19) >>> while locating core.BuildHistoryTest >>> >>> 1 error >>> at >>> com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) >>> at >>> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) >>> at >>> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) >>> at >>> org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.evaluate(JenkinsAcceptanceTestRule.java:30) >>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) >>> at >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) >>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) >>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) >>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) >>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) >>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:309) >>> at org.junit.runner.JUnitCore.run(JUnitCore.java:160) >>> at >>> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) >>> at >>> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) >>> at >>> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:65) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) >>> Caused by: java.lang.Error: Failed to wait for condition >>> org.jenkinsci.test.acceptance.po.CapybaraPortingLayer$1@51bea01c >>> at >>> org.jenkinsci.test.acceptance.po.CapybaraPortingLayer.waitForCond(CapybaraPortingLayer.java:97) >>> at >>> org.jenkinsci.test.acceptance.po.CapybaraPortingLayer.waitForCond(CapybaraPortingLayer.java:107) >>> at >>> org.jenkinsci.test.acceptance.po.CapybaraPortingLayer.waitFor(CapybaraPortingLayer.java:70) >>> at org.jenkinsci.test.acceptance.po.Jenkins.getVersion(Jenkins.java:45) >>> at org.jenkinsci.test.acceptance.po.Jenkins.<init>(Jenkins.java:30) >>> at org.jenkinsci.test.acceptance.po.Jenkins.<init>(Jenkins.java:35) >>> at >>> org.jenkinsci.test.acceptance.po.Jenkins$$FastClassByGuice$$9bbc559e.newInstance(<generated>) >>> at >>> com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40) >>> at >>> com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60) >>> at >>> com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) >>> at >>> com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) >>> at >>> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) >>> at >>> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) >>> at >>> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) >>> at org.jenkinsci.test.acceptance.guice.World$1$1.get(World.java:74) >>> at >>> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) >>> at >>> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53) >>> at >>> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110) >>> at >>> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75) >>> at >>> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73) >>> at >>> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) >>> at >>> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73) >>> at >>> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60) >>> ... 20 more >>> Caused by: org.openqa.selenium.TimeoutException: Failed to wait for >>> condition org.jenkinsci.test.acceptance.po.CapybaraPortingLayer$1@51bea01c >>> Build info: version: '2.40.0', revision: >>> '4c5c0568b004f67810ee41c459549aa4b09c651e', time: '2014-02-19 11:13:01' >>> System info: host: 'duckjibe', ip: '10.0.0.107', os.name: 'Mac OS X', >>> os.arch: 'x86_64', os.version: '10.9.2', java.version: '1.7.0_45' >>> Driver info: driver.version: unknown >>> at >>> org.jenkinsci.test.acceptance.po.CapybaraPortingLayer.waitForCond(CapybaraPortingLayer.java:95) >>> ... 42 more >>> >>> >>> >>> ---------------------------------------------------------------------------------------------------------------------------------------- >>> >>> >>> Am 03.03.2014 um 06:42 schrieb Kohsuke Kawaguchi <[email protected]>: >>> >>> Vivek and I have ported all the lower layers of the test harness. This >>> includes JenkinsController, Docker support, Guice-based object world, >>> Cucumber integration, and JUnit integration. >>> >>> I can run tests from IDEs individually for both Cucumber and JUnit, >>> although I just realized that I haven't added glue to make all cucumber >>> tests run from "mvn test". JUnit portion obviously does run with "mvn test". >>> >>> We kept the configuration mechanism backward compatible, but I also >>> added a configuration mechanism based on Guice-binding [1]. >>> >>> I've added a set of classes to mimic Capybara methods that we use >>> regularly on top of WebDriver. This made the porting process fairly >>> straight-forward. >>> >>> Page objects and step definitions were ported by using test cases as the >>> driver (I rely on IntelliJ's auto-fix functionality to generate steps one >>> at a time.) So far I have only fully ported freestyle_project.feature, then >>> ant_plugin.feature to JUnit test format. There are still many more steps >>> and page objects to complete, although at this point I feel the rest of the >>> process is fairly mechanical --- so any help in porting feature files would >>> be appreciated. Just claim your feature file, and push your changes. >>> >>> So far, I'm hearing people favoring JUnit tests, including Oliver who is >>> the most active in this project. So I'm starting to think that maybe I'd >>> port other cucumber tests into JUnit format. I continue to welcome >>> feedbacks from others in this area. >>> >>> I need to document a lot of things, and I still intend to, but I have to >>> hack this coming week on something else. I plan on coming back to this in >>> the next weekend. In the mean time, hopefully the code is not too large and >>> simple enough for you everyone to see. >>> >>> >>> [1] >>> http://kohsuke.org/2014/03/01/potd-application-configuration-via-guice-binding-groovy/ >>> >>> >>> 2014-02-28 12:14 GMT-08:00 Kohsuke Kawaguchi <[email protected]>: >>> >>>> Stephen made a point to me in a dev meet-up at FOSDEM that he likes >>>> Cucumber in that tests are more readable (even to developers), even though >>>> he was sympathetic to the overhead for authors of tests. >>>> >>>> So I think I am going to leave them alone. Cucumber has another nice >>>> characteristic that tests that depend on not-yet-ported steps will be >>>> marked as pending, so I can see how far off I am from getting back to the >>>> parity. >>>> >>>> And yes, you will get the ability to write tests in plain-old JUnit4 >>>> tests (which I consider the porting from writing tests in rspec.) >>>> Personally, I'd be writing tests in plain-old JUnit4 tests on Groovy. >>>> >>>> I'm curious to hear from other users on their take on BDD/Cucumber vs >>>> JUnit. >>>> >>>> >>>> >>>> 2014-02-28 11:06 GMT-08:00 oliver gondža <[email protected]>: >>>> >>>> Mostly same story here with the exception I have never felt comfortable >>>>> or productive working in ruby. >>>>> >>>>> Btw, you have expressed dislike towards Cucumber/BDD style features in >>>>> the past. Can we take this opportunity to get rid of it as well? It should >>>>> not mean significantly more work and if it can bring new people in, I >>>>> think >>>>> it might be worth to try. >>>>> >>>>> -- >>>>> oliver >>>>> >>>> >>>> >>>> >>>> -- >>>> Kohsuke Kawaguchi >>>> >>> >>> >>> >>> -- >>> Kohsuke Kawaguchi >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Jenkins Developers" 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. >>> >>> >>> >> >> >> -- >> Kohsuke Kawaguchi >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Jenkins Developers" 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/d/optout. >> >> >> > > > -- > Kohsuke Kawaguchi > -- Kohsuke Kawaguchi -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" 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/d/optout.
