From 6c0ee2f9eaaad6cb9a879a1c62648109af94806b Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Fri, 5 Feb 2021 13:28:35 +0100 Subject: [PATCH] Update test to use new test xml output format. This format was slightly changed starting Gradle 6.6. Adapted tests to use new expected output when current Gradle runner is greater then 6.5. --- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 9 +++- .../kotlin/gradle/NewMultiplatformIT.kt | 13 +++++- .../kotlin/gradle/native/GeneralNativeIT.kt | 23 ++++++++-- .../kotlin-js-plugin-project/tests.xml | 13 +++--- .../kotlin-js-plugin-project/tests_pre6.6.xml | 9 ++++ .../native-tests/TEST-TestKit-iOSsim.xml | 16 +++++++ ...Ssim.xml => TEST-TestKt-iOSsim_pre6.6.xml} | 0 .../testProject/native-tests/TEST-TestKt.xml | 6 +-- .../native-tests/TEST-TestKt_pre6.6.xml | 14 ++++++ .../TEST-all-pre6.6.xml | 43 +++++++++++++++++++ .../new-mpp-lib-with-tests/TEST-all.xml | 10 ++--- 11 files changed, 136 insertions(+), 20 deletions(-) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests_pre6.6.xml create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKit-iOSsim.xml rename libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/{TEST-TestKt-iOSsim.xml => TEST-TestKt-iOSsim_pre6.6.xml} (100%) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt_pre6.6.xml create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all-pre6.6.xml diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index 50b73a400da..9b22611c856 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle import com.google.gson.Gson import org.gradle.api.logging.LogLevel import org.gradle.api.logging.configuration.WarningMode +import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType import org.jetbrains.kotlin.gradle.targets.js.ir.KLIB_TYPE import org.jetbrains.kotlin.gradle.targets.js.npm.* @@ -541,7 +542,13 @@ abstract class AbstractKotlin2JsGradlePluginIT(val irBackend: Boolean) : BaseGra assertFileExists("build/js/node_modules/kotlin-js-plugin-test/kotlin/kotlin-js-plugin-test.js") assertFileExists("build/js/node_modules/kotlin-js-plugin-test/kotlin/kotlin-js-plugin-test.js.map") - assertTestResults("testProject/kotlin-js-plugin-project/tests.xml", "nodeTest") + // Gradle 6.6+ slightly changed format of xml test results + val testGradleVersion = GradleVersion.version(project.chooseWrapperVersionOrFinishTest()) + if (testGradleVersion < GradleVersion.version("6.6")) { + assertTestResults("testProject/kotlin-js-plugin-project/tests_pre6.6.xml", "nodeTest") + } else { + assertTestResults("testProject/kotlin-js-plugin-project/tests.xml", "nodeTest") + } } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 169c996a960..46a59975511 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle import org.jetbrains.kotlin.gradle.native.GeneralNativeIT.Companion.checkNativeCommandLineArguments import org.jetbrains.kotlin.gradle.native.GeneralNativeIT.Companion.containsSequentially import org.gradle.api.logging.configuration.WarningMode +import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.native.MPPNativeTargets import org.jetbrains.kotlin.gradle.native.configureMemoryInGradleProperties import org.jetbrains.kotlin.gradle.native.transformNativeTestProject @@ -672,8 +673,18 @@ class NewMultiplatformIT : BaseGradleIT() { expectedKotlinOutputFiles.forEach { assertFileExists(it) } + // Gradle 6.6+ slightly changed format of xml test results + // If, in the test project, preset name was updated, + // update accordingly test result output for Gradle 6.6+ + val testGradleVersion = chooseWrapperVersionOrFinishTest() + val expectedTestResults = if (GradleVersion.version(testGradleVersion) < GradleVersion.version("6.6")) { + "testProject/new-mpp-lib-with-tests/TEST-all-pre6.6.xml" + } else { + "testProject/new-mpp-lib-with-tests/TEST-all.xml" + } + assertTestResults( - "testProject/new-mpp-lib-with-tests/TEST-all.xml", + expectedTestResults, "jsNodeTest", "test", // jvmTest "${nativeHostTargetName}Test" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt index a3a0697038e..4536e605559 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/GeneralNativeIT.kt @@ -6,9 +6,11 @@ package org.jetbrains.kotlin.gradle.native import com.intellij.testFramework.TestDataFile +import org.gradle.util.GradleVersion import org.jdom.input.SAXBuilder import org.jetbrains.kotlin.gradle.BaseGradleIT import org.jetbrains.kotlin.gradle.GradleVersionRequired +import org.jetbrains.kotlin.gradle.chooseWrapperVersionOrFinishTest import org.jetbrains.kotlin.gradle.internals.DISABLED_NATIVE_TARGETS_REPORTER_DISABLE_WARNING_PROPERTY_NAME import org.jetbrains.kotlin.gradle.internals.DISABLED_NATIVE_TARGETS_REPORTER_WARNING_PREFIX import org.jetbrains.kotlin.gradle.internals.NO_NATIVE_STDLIB_PROPERTY_WARNING @@ -678,14 +680,29 @@ class GeneralNativeIT : BaseGradleIT() { } } - assertTestResults("testProject/native-tests/TEST-TestKt.xml", hostTestTask) + // Gradle 6.6+ slightly changed format of xml test results + // If, in the test project, preset name was updated, + // update accordingly test result output for Gradle6.6+ + val testGradleVersion = project.chooseWrapperVersionOrFinishTest() + val expectedTestResults = if (GradleVersion.version(testGradleVersion) < GradleVersion.version("6.6")) { + listOf( + "testProject/native-tests/TEST-TestKt_pre6.6.xml", + "testProject/native-tests/TEST-TestKt-IOSsim_pre6.6.xml", + ) + } else { + listOf( + "testProject/native-tests/TEST-TestKt.xml", + "testProject/native-tests/TEST-TestKt-IOSsim.xml", + ) + } + assertTestResults(expectedTestResults.first(), hostTestTask) // K/N doesn't report line numbers correctly on Linux (see KT-35408). // TODO: Uncomment when this is fixed. //assertStacktrace(hostTestTask) if (hostIsMac) { assertTestResultsAnyOf( - "testProject/native-tests/TEST-TestKt.xml", - "testProject/native-tests/TEST-TestKt-IOSsim.xml", + expectedTestResults[0], + expectedTestResults[1], "iosTest" ) assertStacktrace("iosTest") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml index f6ab85a398a..b40db1b24fa 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests.xml @@ -1,10 +1,9 @@ - - - - - - + + + + + + - diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests_pre6.6.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests_pre6.6.xml new file mode 100644 index 00000000000..23f889c00c0 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-plugin-project/tests_pre6.6.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKit-iOSsim.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKit-iOSsim.xml new file mode 100644 index 00000000000..c52f4e18616 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKit-iOSsim.xml @@ -0,0 +1,16 @@ + + + + + + + + ... + + + + + \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt-iOSsim.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt-iOSsim_pre6.6.xml similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt-iOSsim.xml rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt-iOSsim_pre6.6.xml diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt.xml index 41626ade0ba..e3f25180468 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt.xml +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-tests/TEST-TestKt.xml @@ -2,9 +2,9 @@ - - - + + + ... + + + + + + + ... + + + + + \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all-pre6.6.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all-pre6.6.xml new file mode 100644 index 00000000000..1d5e0d73d4c --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all-pre6.6.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all.xml b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all.xml index 1d5e0d73d4c..5962d0abbe9 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all.xml +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-with-tests/TEST-all.xml @@ -2,8 +2,8 @@ - - + + @@ -16,8 +16,8 @@ - - + + @@ -29,7 +29,7 @@ - +