Merge pull request #4030 from eatkins/vector-1.1

Vector 1.1
This commit is contained in:
Dale Wijnand 2018-03-23 11:50:34 +00:00 committed by GitHub
commit a43c18e4f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 1 deletions

View File

@ -0,0 +1,8 @@
testFrameworks += new TestFramework("utest.runner.Framework")
lazy val root = (project in file(".")).
settings(
scalaVersion := "2.12.4",
libraryDependencies += "com.lihaoyi" %% "utest" % "0.6.4" % Test,
fork in Test := true
)

View File

@ -0,0 +1,21 @@
import utest._
import utest._
import utest.framework._
import scala.concurrent.{ ExecutionContext, Promise }
import scala.util.Success
object ForkAsyncTest extends TestSuite {
val g = ExecutionContext.global
val n = 10
val (testNames, promises) = (1 to n).map(i => Tree(s"$i") -> Promise[Unit]).unzip
val testTrees = promises.zipWithIndex.map { case (p, i) =>
new TestCallTree(Left {
if (i == (n - 1)) promises.foreach(p => g.execute(() => p.tryComplete(Success(()))))
p.future
})
}
val tests =
Tests(nameTree = Tree("async", testNames: _*), callTree = new TestCallTree(Right(testTrees)))
}

View File

@ -0,0 +1 @@
> test

View File

@ -17,6 +17,7 @@ import java.net.Socket;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.*;
@ -294,7 +295,7 @@ final public class ForkMain {
Task[] nestedTasks;
final TaskDef taskDef = task.taskDef();
try {
final List<ForkEvent> eventList = new ArrayList<ForkEvent>();
final Collection<ForkEvent> eventList = new ConcurrentLinkedDeque<ForkEvent>();
final EventHandler handler = new EventHandler() { public void handle(final Event e){ eventList.add(new ForkEvent(e)); } };
logDebug(os, " Running " + taskDef);
nestedTasks = task.execute(handler, loggers);