diff options
author | sebastian.sellmair <sebastian.sellmair@jetbrains.com> | 2020-07-08 10:47:05 +0200 |
---|---|---|
committer | Sebastian Sellmair <34319766+sellmair@users.noreply.github.com> | 2020-07-08 18:59:57 +0200 |
commit | caf48e76f3bff5e9907cd094cf0719f623e528d5 (patch) | |
tree | 554b313645a83749afba1e77af35b930bbf4448f /integration-tests/cli/src/main/kotlin/org/jetbrains/dokka | |
parent | 6d1e25756c3e8c43ce4d5721e7665f439a19e47c (diff) | |
download | dokka-caf48e76f3bff5e9907cd094cf0719f623e528d5.tar.gz dokka-caf48e76f3bff5e9907cd094cf0719f623e528d5.tar.bz2 dokka-caf48e76f3bff5e9907cd094cf0719f623e528d5.zip |
Implement simple MavenIntegrationTest.kt
Diffstat (limited to 'integration-tests/cli/src/main/kotlin/org/jetbrains/dokka')
-rw-r--r-- | integration-tests/cli/src/main/kotlin/org/jetbrains/dokka/it/cli/processUtils.kt | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/integration-tests/cli/src/main/kotlin/org/jetbrains/dokka/it/cli/processUtils.kt b/integration-tests/cli/src/main/kotlin/org/jetbrains/dokka/it/cli/processUtils.kt deleted file mode 100644 index d2fa3b31..00000000 --- a/integration-tests/cli/src/main/kotlin/org/jetbrains/dokka/it/cli/processUtils.kt +++ /dev/null @@ -1,51 +0,0 @@ -package org.jetbrains.dokka.it.cli - -import kotlinx.coroutines.CompletableDeferred -import kotlinx.coroutines.async -import kotlinx.coroutines.runBlocking -import kotlin.concurrent.thread - -class ProcessResult( - val exitCode: Int, - val output: String -) - -fun Process.awaitProcessResult() = runBlocking { - val exitCode = async { awaitExitCode() } - val output = async { awaitOutput() } - ProcessResult( - exitCode.await(), - output.await() - ) -} - -private suspend fun Process.awaitExitCode(): Int { - val deferred = CompletableDeferred<Int>() - thread { - try { - deferred.complete(this.waitFor()) - } catch (e: Throwable) { - deferred.completeExceptionally(e) - } - } - - return deferred.await() -} - -private suspend fun Process.awaitOutput(): String { - val deferred = CompletableDeferred<String>() - thread { - try { - var string = "" - this.inputStream.bufferedReader().forEachLine { line -> - println(line) - string += line + System.lineSeparator() - } - deferred.complete(string) - } catch (e: Throwable) { - deferred.completeExceptionally(e) - } - } - - return deferred.await() -} |