added mpp platform values into AllowedListAnonymizer for statistics
#KT-58104 InProgress
This commit is contained in:
committed by
Space Team
parent
e0e1d57120
commit
8e3469f220
+13
-16
@@ -20,9 +20,6 @@ import kotlin.io.path.appendText
|
|||||||
@NativeGradlePluginTests
|
@NativeGradlePluginTests
|
||||||
class AppleFrameworkIT : KGPBaseTest() {
|
class AppleFrameworkIT : KGPBaseTest() {
|
||||||
|
|
||||||
// TODO(Dmitrii Krasnov): remove it, when KT-58104 will be fixed
|
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(statisticsForceValidation = false)
|
|
||||||
|
|
||||||
@DisplayName("Assembling AppleFrameworkForXcode tasks for IosArm64")
|
@DisplayName("Assembling AppleFrameworkForXcode tasks for IosArm64")
|
||||||
@OptIn(EnvironmentalVariablesOverride::class)
|
@OptIn(EnvironmentalVariablesOverride::class)
|
||||||
@GradleAndroidTest
|
@GradleAndroidTest
|
||||||
@@ -30,7 +27,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldAssembleAppleFrameworkForXcodeForIosArm64(
|
fun shouldAssembleAppleFrameworkForXcodeForIosArm64(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
nativeProject(
|
nativeProject(
|
||||||
@@ -78,7 +75,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldAssembleAppleFrameworkForXcodeForArm64AndX64Simulators(
|
fun shouldAssembleAppleFrameworkForXcodeForArm64AndX64Simulators(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
nativeProject(
|
nativeProject(
|
||||||
@@ -114,7 +111,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldCheckThatMacOSFrameworkHasSymlinks(
|
fun shouldCheckThatMacOSFrameworkHasSymlinks(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
nativeProject(
|
nativeProject(
|
||||||
@@ -148,7 +145,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldFailWithExecutingEmbedAndSignAppleFrameworkForXcode(
|
fun shouldFailWithExecutingEmbedAndSignAppleFrameworkForXcode(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
nativeProject("sharedAppleFramework", gradleVersion, buildJdk = jdkProvider.location) {
|
nativeProject("sharedAppleFramework", gradleVersion, buildJdk = jdkProvider.location) {
|
||||||
buildAndFail(
|
buildAndFail(
|
||||||
@@ -167,7 +164,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldCheckAllRegisteredTasksWithXcodeEnvironmentForDebugIosArm64(
|
fun shouldCheckAllRegisteredTasksWithXcodeEnvironmentForDebugIosArm64(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
val buildOptions = defaultBuildOptions.copy(
|
val buildOptions = defaultBuildOptions.copy(
|
||||||
androidVersion = agpVersion
|
androidVersion = agpVersion
|
||||||
@@ -212,7 +209,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldCheckEmbedAndSignAppleFrameworkForXcodeDoesNotRequireXcodeEnv(
|
fun shouldCheckEmbedAndSignAppleFrameworkForXcodeDoesNotRequireXcodeEnv(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
val buildOptions = defaultBuildOptions.copy(
|
val buildOptions = defaultBuildOptions.copy(
|
||||||
androidVersion = agpVersion
|
androidVersion = agpVersion
|
||||||
@@ -264,7 +261,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldCheckThatStaticFrameworkForArm64IsBuildAndNotEmbedded(
|
fun shouldCheckThatStaticFrameworkForArm64IsBuildAndNotEmbedded(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
nativeProject(
|
nativeProject(
|
||||||
@@ -309,7 +306,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldReportConfErrorsToXcodeWhenRequestedByEmbedAndSign(
|
fun shouldReportConfErrorsToXcodeWhenRequestedByEmbedAndSign(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
val buildOptions = defaultBuildOptions.copy(
|
val buildOptions = defaultBuildOptions.copy(
|
||||||
androidVersion = agpVersion
|
androidVersion = agpVersion
|
||||||
@@ -354,7 +351,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldReportCompilationErrorsToXcodeWhenRequestedByEmbedAndSign(
|
fun shouldReportCompilationErrorsToXcodeWhenRequestedByEmbedAndSign(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
val buildOptions = defaultBuildOptions.copy(
|
val buildOptions = defaultBuildOptions.copy(
|
||||||
androidVersion = agpVersion
|
androidVersion = agpVersion
|
||||||
@@ -393,7 +390,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldPrintCompilationErrorsWithGradleStyle(
|
fun shouldPrintCompilationErrorsWithGradleStyle(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
val buildOptions = defaultBuildOptions.copy(
|
val buildOptions = defaultBuildOptions.copy(
|
||||||
androidVersion = agpVersion
|
androidVersion = agpVersion
|
||||||
@@ -432,7 +429,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldPrintCompilationErrorsWithXcodeStyle(
|
fun shouldPrintCompilationErrorsWithXcodeStyle(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
val buildOptions = defaultBuildOptions.copy(
|
val buildOptions = defaultBuildOptions.copy(
|
||||||
androidVersion = agpVersion
|
androidVersion = agpVersion
|
||||||
@@ -475,7 +472,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
fun shouldReportErrorsToXcodeWhenEmbedAndSignRequestedAndDisableCompilerDaemon(
|
fun shouldReportErrorsToXcodeWhenEmbedAndSignRequestedAndDisableCompilerDaemon(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
agpVersion: String,
|
agpVersion: String,
|
||||||
jdkProvider: JdkVersions.ProvidedJdk
|
jdkProvider: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
val buildOptions = defaultBuildOptions.copy(
|
val buildOptions = defaultBuildOptions.copy(
|
||||||
androidVersion = agpVersion
|
androidVersion = agpVersion
|
||||||
@@ -525,7 +522,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
|||||||
@JdkVersions(versions = [JavaVersion.VERSION_11])
|
@JdkVersions(versions = [JavaVersion.VERSION_11])
|
||||||
fun smokeTestWithAppleGradlePlugin(
|
fun smokeTestWithAppleGradlePlugin(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
providedJdk: JdkVersions.ProvidedJdk
|
providedJdk: JdkVersions.ProvidedJdk,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
nativeProject(
|
nativeProject(
|
||||||
|
|||||||
-3
@@ -19,9 +19,6 @@ import kotlin.test.fail
|
|||||||
@NativeGradlePluginTests
|
@NativeGradlePluginTests
|
||||||
class AppleSiliconIT : KGPBaseTest() {
|
class AppleSiliconIT : KGPBaseTest() {
|
||||||
|
|
||||||
// TODO(Dmitrii Krasnov): remove it, when KT-58104 will be fixed
|
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(statisticsForceValidation = false)
|
|
||||||
|
|
||||||
private val host = HostManager.host
|
private val host = HostManager.host
|
||||||
|
|
||||||
@DisplayName("Tests compilation")
|
@DisplayName("Tests compilation")
|
||||||
|
|||||||
+1
-4
@@ -17,9 +17,6 @@ import java.util.*
|
|||||||
@NativeGradlePluginTests
|
@NativeGradlePluginTests
|
||||||
class CommonNativeIT : KGPBaseTest() {
|
class CommonNativeIT : KGPBaseTest() {
|
||||||
|
|
||||||
// TODO(Dmitrii Krasnov): remove it, when KT-58104 will be fixed
|
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(statisticsForceValidation = false)
|
|
||||||
|
|
||||||
private val String.withPrefix get() = "native-apple-devices-common/$this"
|
private val String.withPrefix get() = "native-apple-devices-common/$this"
|
||||||
|
|
||||||
@DisplayName("Common ios")
|
@DisplayName("Common ios")
|
||||||
@@ -59,7 +56,7 @@ class CommonNativeIT : KGPBaseTest() {
|
|||||||
projectName: String,
|
projectName: String,
|
||||||
libTargets: List<String>,
|
libTargets: List<String>,
|
||||||
appTargets: List<String>,
|
appTargets: List<String>,
|
||||||
gradleVersion: GradleVersion
|
gradleVersion: GradleVersion,
|
||||||
) {
|
) {
|
||||||
nativeProject(projectName.withPrefix, gradleVersion) {
|
nativeProject(projectName.withPrefix, gradleVersion) {
|
||||||
|
|
||||||
|
|||||||
-2
@@ -47,8 +47,6 @@ class FatFrameworkIT : KGPBaseTest() {
|
|||||||
nativeProject(
|
nativeProject(
|
||||||
"native-fat-framework/smoke",
|
"native-fat-framework/smoke",
|
||||||
gradleVersion,
|
gradleVersion,
|
||||||
// TODO(Dmitrii Krasnov): return default statisticsForceValidation, when KT-58104 will be fixed
|
|
||||||
buildOptions = defaultBuildOptions.copy(statisticsForceValidation = false)
|
|
||||||
) {
|
) {
|
||||||
buildGradleKts.modify {
|
buildGradleKts.modify {
|
||||||
it.checkedReplace("iosArm32()", "watchosArm32()")
|
it.checkedReplace("iosArm32()", "watchosArm32()")
|
||||||
|
|||||||
-3
@@ -18,9 +18,6 @@ import org.junit.jupiter.api.condition.OS
|
|||||||
@NativeGradlePluginTests
|
@NativeGradlePluginTests
|
||||||
class XCFrameworkIT : KGPBaseTest() {
|
class XCFrameworkIT : KGPBaseTest() {
|
||||||
|
|
||||||
// TODO(Dmitrii Krasnov): remove it, when KT-58104 will be fixed
|
|
||||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(statisticsForceValidation = false)
|
|
||||||
|
|
||||||
@DisplayName("Assembling shared debug XCFramework for all available ios and watchos targets ")
|
@DisplayName("Assembling shared debug XCFramework for all available ios and watchos targets ")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
fun shouldAssembleXCFrameworkForAllAvailableTargets(gradleVersion: GradleVersion) {
|
fun shouldAssembleXCFrameworkForAllAvailableTargets(gradleVersion: GradleVersion) {
|
||||||
|
|||||||
+67
@@ -0,0 +1,67 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.gradle.plugin.statistics
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
|
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||||
|
import org.jetbrains.kotlin.statistics.metrics.StringAnonymizationPolicy
|
||||||
|
import org.jetbrains.kotlin.statistics.metrics.StringMetrics
|
||||||
|
import org.junit.jupiter.api.DisplayName
|
||||||
|
import kotlin.test.Test
|
||||||
|
|
||||||
|
class KotlinBuildStatHandlerTest {
|
||||||
|
|
||||||
|
@DisplayName("Checks that all KonanTarget names are presented in MPP_PLATFORMS statistic's report validator")
|
||||||
|
@Test
|
||||||
|
fun mppPlatformsShouldContainsllKonanTargetsTest() {
|
||||||
|
val regex = Regex(StringMetrics.MPP_PLATFORMS.anonymization.validationRegexp())
|
||||||
|
|
||||||
|
val konanTargetsMissedInMppPlatforms = KonanTarget::class.sealedSubclasses
|
||||||
|
.mapNotNull { sealedClass -> sealedClass.objectInstance }
|
||||||
|
.filter { sealedClass -> !regex.matches(sealedClass.name) }
|
||||||
|
|
||||||
|
assert(konanTargetsMissedInMppPlatforms.isEmpty()) {
|
||||||
|
"There are platforms $konanTargetsMissedInMppPlatforms which are not presented in MPP_PLATFORMS regex"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@DisplayName("Checks that all KotlinPlatformType names are presented in MPP_PLATFORMS statistic's report validator")
|
||||||
|
@Test
|
||||||
|
fun mppPlatformsShouldContainAllKotlinPlatformTypeTest() {
|
||||||
|
val regex = Regex(StringMetrics.MPP_PLATFORMS.anonymization.validationRegexp())
|
||||||
|
|
||||||
|
val kotlinPlatformTypesMissedInMppPlatforms = KotlinPlatformType.values()
|
||||||
|
.map { platformType -> platformType.name }
|
||||||
|
.filter { platformTypeName -> !regex.matches(platformTypeName) }
|
||||||
|
|
||||||
|
assert(kotlinPlatformTypesMissedInMppPlatforms.isEmpty()) {
|
||||||
|
"There are platform types $kotlinPlatformTypesMissedInMppPlatforms which are not presented in MPP_PLATFORMS regex"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@DisplayName("Checks that only values listed in KotlinPlatformType and KonanTarget are included in MPP_PLATFORMS")
|
||||||
|
@Test
|
||||||
|
fun mppPlatformsShouldContainOnlyKonanTargetsAndKotlinPlatformTypeTest() {
|
||||||
|
val allowedMppValues =
|
||||||
|
(StringMetrics.MPP_PLATFORMS.anonymization as StringAnonymizationPolicy.AllowedListAnonymizer)
|
||||||
|
.allowedValues
|
||||||
|
|
||||||
|
val kotlinPlatformTypesMissedInMppPlatforms = KotlinPlatformType.values()
|
||||||
|
.map { platformType -> platformType.name }
|
||||||
|
|
||||||
|
val konanTargetsMissedInMppPlatforms = KonanTarget::class.sealedSubclasses
|
||||||
|
.mapNotNull { sealedClass -> sealedClass.objectInstance }
|
||||||
|
.map { koltinTarget -> koltinTarget.name }
|
||||||
|
|
||||||
|
|
||||||
|
val extraValues = allowedMppValues - kotlinPlatformTypesMissedInMppPlatforms - konanTargetsMissedInMppPlatforms
|
||||||
|
assert(extraValues.isEmpty()) {
|
||||||
|
"There are platforms $extraValues which are presented in MPP_PLATFORMS regex," +
|
||||||
|
" but they are presented neither in konan targets nor in kotlin platform types"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+12
-39
@@ -24,62 +24,35 @@ enum class StringMetrics(val type: StringOverridePolicy, val anonymization: Stri
|
|||||||
CONCAT, AllowedListAnonymizer(
|
CONCAT, AllowedListAnonymizer(
|
||||||
listOf(
|
listOf(
|
||||||
"common",
|
"common",
|
||||||
"metadata",
|
"native",
|
||||||
"jvm",
|
"jvm",
|
||||||
"js",
|
"js",
|
||||||
"arm32",
|
"android_x64",
|
||||||
"arm64",
|
"android_x86",
|
||||||
"mips32",
|
|
||||||
"mipsel32",
|
|
||||||
"x64",
|
|
||||||
"android",
|
|
||||||
"androidJvm",
|
"androidJvm",
|
||||||
"androidApp",
|
|
||||||
"androidNativeArm",
|
|
||||||
"androidNativeArm32",
|
|
||||||
"android_arm32",
|
"android_arm32",
|
||||||
"androidNativeArm64",
|
|
||||||
"android_arm64",
|
"android_arm64",
|
||||||
"androidNative",
|
|
||||||
"androidNativeX86",
|
|
||||||
"androidNativeX64",
|
|
||||||
"iosArm",
|
|
||||||
"iosArm32",
|
|
||||||
"ios_arm32",
|
"ios_arm32",
|
||||||
"iosArm64",
|
|
||||||
"ios_arm64",
|
"ios_arm64",
|
||||||
"ios_simulator_arm64",
|
"ios_simulator_arm64",
|
||||||
"ios",
|
|
||||||
"ios_x64",
|
"ios_x64",
|
||||||
"iosSim",
|
"watchos_arm32",
|
||||||
"iosX64",
|
"watchos_arm64",
|
||||||
"watchos",
|
"watchos_x86",
|
||||||
"watchosArm32",
|
"watchos_x64",
|
||||||
"watchosArm64",
|
"watchos_simulator_arm64",
|
||||||
"watchosX86",
|
"watchos_device_arm64",
|
||||||
"tvos",
|
"tvos_arm64",
|
||||||
"tvosArm64",
|
"tvos_x64",
|
||||||
"tvosX64",
|
"tvos_simulator_arm64",
|
||||||
"linux",
|
|
||||||
"linuxArm32Hfp",
|
|
||||||
"linux_arm32_hfp",
|
"linux_arm32_hfp",
|
||||||
"linuxMips32",
|
|
||||||
"linux_mips32",
|
"linux_mips32",
|
||||||
"linuxMipsel32",
|
|
||||||
"linux_mipsel32",
|
"linux_mipsel32",
|
||||||
"linuxX64",
|
|
||||||
"linux_arm64",
|
"linux_arm64",
|
||||||
"linux_x64",
|
"linux_x64",
|
||||||
"macos",
|
|
||||||
"osx",
|
|
||||||
"macosX64",
|
|
||||||
"macos_x64",
|
"macos_x64",
|
||||||
"macos_arm64",
|
"macos_arm64",
|
||||||
"mingw",
|
|
||||||
"mingwX64",
|
|
||||||
"mingw_x64",
|
"mingw_x64",
|
||||||
"mingwX86",
|
|
||||||
"mingw_X86",
|
|
||||||
"mingw_x86",
|
"mingw_x86",
|
||||||
"wasm32",
|
"wasm32",
|
||||||
"wasm"
|
"wasm"
|
||||||
|
|||||||
Reference in New Issue
Block a user