aboutsummaryrefslogtreecommitdiff
path: root/test-utils
diff options
context:
space:
mode:
authorsebastian.sellmair <sebastian.sellmair@jetbrains.com>2020-08-24 14:02:07 +0200
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-08-25 16:21:32 +0200
commit7196323582dce7ca3f9b07262a1f94ecd8514539 (patch)
tree0c326aee84d4727d5cd5bc5c8198b992d5b58de6 /test-utils
parent219e2c98f5d03fc8581fd6ce9dd870919523be44 (diff)
downloaddokka-7196323582dce7ca3f9b07262a1f94ecd8514539.tar.gz
dokka-7196323582dce7ca3f9b07262a1f94ecd8514539.tar.bz2
dokka-7196323582dce7ca3f9b07262a1f94ecd8514539.zip
- Move `test` projects into semantic parent projects
- Implement new `:test-utils` project - Resolve requirement for Android SDK installation
Diffstat (limited to 'test-utils')
-rw-r--r--test-utils/build.gradle.kts4
-rw-r--r--test-utils/src/main/kotlin/org/jetbrains/dokka/test/assertIsInstance.kt17
-rw-r--r--test-utils/src/main/kotlin/org/jetbrains/dokka/test/assumeAndroidSdkInstalled.kt8
-rw-r--r--test-utils/src/main/kotlin/org/jetbrains/dokka/test/environmentUtils.kt9
4 files changed, 38 insertions, 0 deletions
diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts
new file mode 100644
index 00000000..23e7ef40
--- /dev/null
+++ b/test-utils/build.gradle.kts
@@ -0,0 +1,4 @@
+
+dependencies {
+ api(kotlin("test-junit"))
+}
diff --git a/test-utils/src/main/kotlin/org/jetbrains/dokka/test/assertIsInstance.kt b/test-utils/src/main/kotlin/org/jetbrains/dokka/test/assertIsInstance.kt
new file mode 100644
index 00000000..d646d385
--- /dev/null
+++ b/test-utils/src/main/kotlin/org/jetbrains/dokka/test/assertIsInstance.kt
@@ -0,0 +1,17 @@
+package org.jetbrains.dokka.test
+
+import kotlin.contracts.ExperimentalContracts
+import kotlin.contracts.contract
+
+@OptIn(ExperimentalContracts::class)
+inline fun <reified T> assertIsInstance(obj: Any?): T {
+ contract {
+ returns() implies (obj is T)
+ }
+
+ if (obj is T) {
+ return obj
+ }
+
+ throw AssertionError("Expected instance of type ${T::class.qualifiedName} but found $obj")
+}
diff --git a/test-utils/src/main/kotlin/org/jetbrains/dokka/test/assumeAndroidSdkInstalled.kt b/test-utils/src/main/kotlin/org/jetbrains/dokka/test/assumeAndroidSdkInstalled.kt
new file mode 100644
index 00000000..0c0e6d31
--- /dev/null
+++ b/test-utils/src/main/kotlin/org/jetbrains/dokka/test/assumeAndroidSdkInstalled.kt
@@ -0,0 +1,8 @@
+package org.jetbrains.dokka.test
+
+import org.junit.Assume.assumeTrue
+
+fun assumeAndroidSdkInstalled() {
+ if (isCI) return
+ assumeTrue(isAndroidSdkInstalled)
+}
diff --git a/test-utils/src/main/kotlin/org/jetbrains/dokka/test/environmentUtils.kt b/test-utils/src/main/kotlin/org/jetbrains/dokka/test/environmentUtils.kt
new file mode 100644
index 00000000..e9b7be95
--- /dev/null
+++ b/test-utils/src/main/kotlin/org/jetbrains/dokka/test/environmentUtils.kt
@@ -0,0 +1,9 @@
+package org.jetbrains.dokka.test
+
+/**
+ * Indicating whether or not the current machine executing the test is a CI
+ */
+val isCI: Boolean get() = System.getenv("CI") == "true"
+
+val isAndroidSdkInstalled: Boolean = System.getenv("ANDROID_SDK_ROOT") != null ||
+ System.getenv("ANDROID_HOME") != null