commit 052d3379cab442789e2f9f60cdf44a766a18c969
Author:     Mauro Talevi <mauro.tal...@aquilonia.org>
AuthorDate: Sat, 4 Oct 2014 19:18:20 +0100
Commit:     Mauro Talevi <mauro.tal...@aquilonia.org>
CommitDate: Sat, 4 Oct 2014 23:27:07 +0200

    JBEHAVE-1046:  Wait for running stories to start, if any are present.
    
    Conflicts:
        jbehave-core/src/main/java/org/jbehave/core/embedder/StoryManager.java

diff --git 
a/jbehave-core/src/main/java/org/jbehave/core/embedder/StoryManager.java 
b/jbehave-core/src/main/java/org/jbehave/core/embedder/StoryManager.java
index dcf4f6e..da944c6 100644
--- a/jbehave-core/src/main/java/org/jbehave/core/embedder/StoryManager.java
+++ b/jbehave-core/src/main/java/org/jbehave/core/embedder/StoryManager.java
@@ -157,11 +157,16 @@ public class StoryManager {
        }
 
     public void waitUntilAllDoneOrFailed(RunContext context) {
+        if ( runningStories.values().isEmpty() ) {
+               return;
+        }
         boolean allDone = false;
-        while (!allDone) {
+        boolean started = false;
+        while (!allDone || !started) {
             allDone = true;
             for (RunningStory runningStory : runningStories.values()) {        
        
                 if ( runningStory.isStarted() ){
+                       started = true;
                     Story story = runningStory.getStory();
                                        Future<ThrowableStory> future = 
runningStory.getFuture();
                                        if (!future.isDone()) {
@@ -195,6 +200,8 @@ public class StoryManager {
                                                        }
                                                }
                                        }
+                } else {
+                       started = false;
                 }
             }
             tickTock();



Reply via email to