Skip to content

Commit

Permalink
Extract a convention plugin for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
vmishenev committed Aug 20, 2023
1 parent 5a227fe commit 8da7ce2
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 30 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package org.jetbrains.conventions

/**
* Utility to run ynit tests for K1 and K2 (analysis API).
*/

plugins {
id("org.jetbrains.conventions.base")
id("org.jetbrains.conventions.base-java")
}

val descriptorsTestConfiguration: Configuration by configurations.creating {
extendsFrom(configurations.testImplementation.get())
}
val symbolsTestConfiguration: Configuration by configurations.creating {
extendsFrom(configurations.testImplementation.get())
}

val symbolsTest = tasks.register<Test>("symbolsTest") {
useJUnitPlatform {
excludeTags("onlyDescriptors", "onlyDescriptorsMPP", "javaCode", "usingJDK")
}
classpath += symbolsTestConfiguration
}
// run symbols and descriptors tests
tasks.test {
//enabled = false
classpath += descriptorsTestConfiguration
dependsOn(symbolsTest)
}

val descriptorsTest = tasks.register<Test>("descriptorsTest") {
classpath += descriptorsTestConfiguration
}

tasks.check {
dependsOn(symbolsTest)
}

8 changes: 7 additions & 1 deletion plugins/android-documentation/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import org.jetbrains.registerDokkaArtifactPublication
plugins {
id("org.jetbrains.conventions.kotlin-jvm")
id("org.jetbrains.conventions.maven-publish")
id("org.jetbrains.conventions.base-unit-test")
}

dependencies {
Expand All @@ -13,10 +14,15 @@ dependencies {
implementation(kotlin("reflect"))

testImplementation(projects.plugins.base)
testImplementation(projects.plugins.base.baseTestUtils)
testImplementation(projects.core.testApi)
testImplementation(platform(libs.junit.bom))
testImplementation(libs.junit.jupiter)

symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow"))
descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow"))
testImplementation(projects.plugins.base.baseTestUtils) {
exclude(module = "analysis-kotlin-descriptors")
}
}

registerDokkaArtifactPublication("androidDocumentationPlugin") {
Expand Down
32 changes: 4 additions & 28 deletions plugins/base/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ plugins {
id("org.jetbrains.conventions.kotlin-jvm")
id("org.jetbrains.conventions.maven-publish")
id("org.jetbrains.conventions.dokka-html-frontend-files")
id("org.jetbrains.conventions.base-unit-test")
}

dependencies {
Expand All @@ -26,6 +27,8 @@ dependencies {
}

// Test only
symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow"))
descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow"))
testImplementation(projects.plugins.base.baseTestUtils) {
exclude(module = "analysis-kotlin-descriptors")
}
Expand All @@ -39,38 +42,11 @@ dependencies {
}
}

val descriptorsTestConfiguration: Configuration by configurations.creating {
extendsFrom(configurations.testImplementation.get())
}
val symbolsTestConfiguration: Configuration by configurations.creating {
extendsFrom(configurations.testImplementation.get())
}

dependencies {
symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow"))
descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow"))
}

val symbolsTest = tasks.register<Test>("symbolsTest") {
useJUnitPlatform {
excludeTags("onlyDescriptors", "onlyDescriptorsMPP", "javaCode", "usingJDK")
}
classpath += symbolsTestConfiguration
}
// run symbols and descriptors tests
tasks.test {
//enabled = false
classpath += descriptorsTestConfiguration
dependsOn(symbolsTest)
}

val descriptorsTest = tasks.register<Test>("descriptorsTest") {
classpath += descriptorsTestConfiguration
}

tasks.check {
dependsOn(symbolsTest)
}


// access the frontend files via the dependency on :plugins:base:frontend
val dokkaHtmlFrontendFiles: Provider<FileCollection> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ import org.jetbrains.dokka.model.isJvmField
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Assertions.assertNull
import org.junit.jupiter.api.Test
import utils.JavaCode
import kotlin.test.assertEquals


@JavaCode
class PsiSuperFieldsTest : BaseAbstractTest() {

private val commonTestConfiguration = dokkaConfiguration {
Expand Down
2 changes: 2 additions & 0 deletions plugins/base/src/test/kotlin/translators/Bug1341.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest
import org.jetbrains.dokka.links.DRI
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
import utils.JavaCode

class Bug1341 : BaseAbstractTest() {
@JavaCode
@Test
fun `reproduce bug #1341`() {
val configuration = dokkaConfiguration {
Expand Down
8 changes: 7 additions & 1 deletion plugins/mathjax/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import org.jetbrains.registerDokkaArtifactPublication
plugins {
id("org.jetbrains.conventions.kotlin-jvm")
id("org.jetbrains.conventions.maven-publish")
id("org.jetbrains.conventions.base-unit-test")
}

dependencies {
Expand All @@ -13,12 +14,17 @@ dependencies {
implementation(kotlin("reflect"))

testImplementation(libs.jsoup)
testImplementation(projects.plugins.base.baseTestUtils)
testImplementation(projects.core.contentMatcherTestUtils)
testImplementation(kotlin("test-junit"))
testImplementation(projects.core.testApi)
testImplementation(platform(libs.junit.bom))
testImplementation(libs.junit.jupiter)

symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow"))
descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow"))
testImplementation(projects.plugins.base.baseTestUtils) {
exclude(module = "analysis-kotlin-descriptors")
}
}

registerDokkaArtifactPublication("mathjaxPlugin") {
Expand Down

0 comments on commit 8da7ce2

Please sign in to comment.