cucumber-attic / cuke4duke

Cucumber support for the JVM: Java, Scala, Groovy, Clojure, Ioke, Javascript, Spring, Guice, PicoContainer, WebDriver, Ant and Maven
http://wiki.github.com/aslakhellesoy/cuke4duke
MIT License
256 stars 72 forks source link

java example hangs #120

Open josephks opened 13 years ago

josephks commented 13 years ago

When I run the java example with ant it runs until

 [cucumber]   Scenario: overriding a default transform                   # features/transform.feature:22
 [cucumber]     Given I pass 'yes' to a method with boolean as parameter # TransformSteps.iPassYesToAMethodWithBooleanAsParameter(boolean)
 [cucumber]     When something happens                                   # TransformSteps.somethingHappens()
 [cucumber]     Then the parameter is true                               # TransformSteps.theParameterIsTrue()
 [cucumber] 
 [cucumber] 19 scenarios (1 undefined, 1 pending, 17 passed)
 [cucumber] 50 steps (1 skipped, 1 undefined, 1 pending, 47 passed)
 [cucumber] 0m8.472s
 [cucumber] 
 [cucumber] You can implement step definitions for undefined steps with these snippets:
 [cucumber] 
 [cucumber] Then /^I should have (\d+) yellow bananas$/ do |arg1|
 [cucumber]   pending # express the regexp above with the code you wish you had
 [cucumber] end
 [cucumber] @Then("^I should have 4 yellow bananas$")
 [cucumber] @Pending
 [cucumber] public void iShouldHave4YellowBananas() {
 [cucumber] }
 [cucumber] 

and then it hangs. Giving a SIGQUIT shows:

 [cucumber] 2011-07-13 13:15:26
 [cucumber] Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.1-b02 mixed mode):
 [cucumber] 
 [cucumber] "DestroyJavaVM" prio=10 tid=0x00007fb5e0007000 nid=0x4f34 waiting on condition [0x0000000000000000]
 [cucumber]    java.lang.Thread.State: RUNNABLE
 [cucumber] 
 [cucumber] "Thread-0" prio=10 tid=0x00007fb5e02f2800 nid=0x4f44 runnable [0x00007fb5e41b2000]
 [cucumber]    java.lang.Thread.State: RUNNABLE
 [cucumber]     at java.io.FileInputStream.readBytes(Native Method)
 [cucumber]     at java.io.FileInputStream.read(FileInputStream.java:220)
 [cucumber]     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
 [cucumber]     at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
 [cucumber]     at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
 [cucumber]     - locked <0x0000000783b627a0> (a java.io.BufferedInputStream)
 [cucumber]     at java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:221)
 [cucumber]     - locked <0x0000000783785918> (a java.lang.Object)
 [cucumber]     at org.jruby.util.io.ChannelStream.refillBuffer(ChannelStream.java:180)
 [cucumber]     at org.jruby.util.io.ChannelStream.getline(ChannelStream.java:294)
 [cucumber]     - locked <0x0000000783785840> (a org.jruby.util.io.ChannelStream)
 [cucumber]     at org.jruby.RubyIO.getlineFast(RubyIO.java:832)
 [cucumber]     at org.jruby.RubyIO.getlineInner(RubyIO.java:679)
 [cucumber]     at org.jruby.RubyIO.getline(RubyIO.java:634)
 [cucumber]     at org.jruby.RubyIO.getline(RubyIO.java:621)
 [cucumber]     at org.jruby.RubyIO.gets(RubyIO.java:2103)
 [cucumber]     at org.jruby.RubyIO$i$gets.call(RubyIO$i$gets.gen:65535)
 [cucumber]     at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:262)
 [cucumber]     at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:105)
 [cucumber]     at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:62)
 [cucumber]     at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
 [cucumber]     at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:103)
 [cucumber]     at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:111)
 [cucumber]     at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:374)
 [cucumber]     at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:328)
 [cucumber]     at org.jruby.runtime.BlockBody.call(BlockBody.java:73)
 [cucumber]     at org.jruby.runtime.Block.call(Block.java:89)
 [cucumber]     at org.jruby.RubyProc.call(RubyProc.java:268)
 [cucumber]     at org.jruby.RubyProc.call(RubyProc.java:232)
 [cucumber]     at org.jruby.javasupport.JavaUtil$1.call(JavaUtil.java:253)
 [cucumber]     at org.jruby.javasupport.util.RuntimeHelpers$MethodMissingMethod.call(RuntimeHelpers.java:497)
 [cucumber]     at org.jruby.gen.InterfaceImpl1004256260.run(org/jruby/gen/InterfaceImpl1004256260.gen:13)
 [cucumber]     at java.lang.Thread.run(Thread.java:662)

I ran this with my modified build.xml

[jks@jks-desktop /tmp/t2/cuke4duke/examples/java]{f13}$ lsb_release -a
LSB Version:    :core-4.0-amd64:core-4.0-noarch
Distributor ID: Fedora
Description:    Fedora release 15 (Lovelock)
Release:        15
Codename:       Lovelock
[jks@jks-desktop /tmp/t2/cuke4duke/examples/java]{f13}$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
[jks@jks-desktop /tmp/t2/cuke4duke/examples/java]{f13}$ ant -version
Apache Ant(TM) version 1.8.2 compiled on December 20 2010