Skip to content

Commit e2453db

Browse files
Factor helper method in tests
1 parent 2833768 commit e2453db

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

modules/integration/src/test/scala/scala/cli/integration/BloopTests.scala

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package scala.cli.integration
33
import com.eed3si9n.expecty.Expecty.expect
44

55
import scala.cli.integration.util.BloopUtil
6+
import scala.concurrent.ExecutionContext
67
import scala.concurrent.duration.Duration
7-
import scala.concurrent.{Await, ExecutionContext, Future}
88

99
class BloopTests extends ScalaCliSuite {
1010

@@ -144,13 +144,8 @@ class BloopTests extends ScalaCliSuite {
144144
test("Restart Bloop server while watching") {
145145
TestUtil.withThreadPool("bloop-restart-test", 2) { pool =>
146146
val timeout = Duration("20 seconds")
147-
def readLine(stream: os.SubProcess.OutputStream): String = {
148-
implicit val ec = ExecutionContext.fromExecutorService(pool)
149-
val readLineF = Future {
150-
stream.readLine()
151-
}
152-
Await.result(readLineF, timeout)
153-
}
147+
val ec = ExecutionContext.fromExecutorService(pool)
148+
154149
def content(message: String) =
155150
s"""object Hello {
156151
| def main(args: Array[String]): Unit =
@@ -164,14 +159,14 @@ class BloopTests extends ScalaCliSuite {
164159
inputs.fromRoot { root =>
165160
val proc = os.proc(TestUtil.cli, "run", "-w", ".")
166161
.spawn(cwd = root)
167-
val firstLine = readLine(proc.stdout)
162+
val firstLine = TestUtil.readLine(proc.stdout, ec, timeout)
168163
expect(firstLine == "Hello")
169164

170165
os.proc(TestUtil.cli, "bloop", "exit")
171166
.call(cwd = root)
172167

173168
os.write.over(root / sourcePath, content("Foo"))
174-
val secondLine = readLine(proc.stdout)
169+
val secondLine = TestUtil.readLine(proc.stdout, ec, timeout)
175170
expect(secondLine == "Foo")
176171

177172
proc.destroy()

modules/integration/src/test/scala/scala/cli/integration/TestUtil.scala

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import java.util.concurrent.{ExecutorService, Executors, ScheduledExecutorServic
88

99
import scala.annotation.tailrec
1010
import scala.concurrent.duration.{Duration, DurationInt, FiniteDuration}
11+
import scala.concurrent.{Await, ExecutionContext, Future}
1112
import scala.util.Properties
1213

1314
object TestUtil {
@@ -259,4 +260,16 @@ object TestUtil {
259260
}
260261
Map(pathVarName -> s"$binDir${File.pathSeparator}$currentPath")
261262
}
263+
264+
def readLine(
265+
stream: os.SubProcess.OutputStream,
266+
ec: ExecutionContext,
267+
timeout: Duration
268+
): String = {
269+
implicit val ec0 = ec
270+
val readLineF = Future {
271+
stream.readLine()
272+
}
273+
Await.result(readLineF, timeout)
274+
}
262275
}

0 commit comments

Comments
 (0)