[Native][tests] Make AbstractRunner.AbstractRun to be fun interface
This commit is contained in:
+9
-11
@@ -14,21 +14,19 @@ internal abstract class AbstractLocalProcessRunner<R> : AbstractRunner<R>() {
|
|||||||
|
|
||||||
protected open fun customizeProcess(process: Process) = Unit
|
protected open fun customizeProcess(process: Process) = Unit
|
||||||
|
|
||||||
final override fun buildRun() = object : AbstractRun {
|
final override fun buildRun() = AbstractRun {
|
||||||
override fun run(): RunResult {
|
val startTimeMillis = System.currentTimeMillis()
|
||||||
val startTimeMillis = System.currentTimeMillis()
|
|
||||||
|
|
||||||
val process = ProcessBuilder(programArgs).directory(executable.executableFile.parentFile).start()
|
val process = ProcessBuilder(programArgs).directory(executable.executableFile.parentFile).start()
|
||||||
customizeProcess(process)
|
customizeProcess(process)
|
||||||
|
|
||||||
val exitCode = process.waitFor()
|
val exitCode = process.waitFor()
|
||||||
val finishTimeMillis = System.currentTimeMillis()
|
val finishTimeMillis = System.currentTimeMillis()
|
||||||
|
|
||||||
val stdOut = process.inputStream.bufferedReader().readText()
|
val stdOut = process.inputStream.bufferedReader().readText()
|
||||||
val stdErr = process.errorStream.bufferedReader().readText()
|
val stdErr = process.errorStream.bufferedReader().readText()
|
||||||
|
|
||||||
return RunResult(exitCode, finishTimeMillis - startTimeMillis, stdOut, stdErr)
|
RunResult(exitCode, finishTimeMillis - startTimeMillis, stdOut, stdErr)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract override fun buildResultHandler(runResult: RunResult): ResultHandler // Narrow returned type.
|
abstract override fun buildResultHandler(runResult: RunResult): ResultHandler // Narrow returned type.
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ internal abstract class AbstractRunner<R> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface AbstractRun {
|
fun interface AbstractRun {
|
||||||
fun run(): RunResult
|
fun run(): RunResult
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user