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
|
||||
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")
|
||||
@OptIn(EnvironmentalVariablesOverride::class)
|
||||
@GradleAndroidTest
|
||||
@@ -30,7 +27,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldAssembleAppleFrameworkForXcodeForIosArm64(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
|
||||
nativeProject(
|
||||
@@ -78,7 +75,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldAssembleAppleFrameworkForXcodeForArm64AndX64Simulators(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
|
||||
nativeProject(
|
||||
@@ -114,7 +111,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldCheckThatMacOSFrameworkHasSymlinks(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
|
||||
nativeProject(
|
||||
@@ -148,7 +145,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldFailWithExecutingEmbedAndSignAppleFrameworkForXcode(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
nativeProject("sharedAppleFramework", gradleVersion, buildJdk = jdkProvider.location) {
|
||||
buildAndFail(
|
||||
@@ -167,7 +164,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldCheckAllRegisteredTasksWithXcodeEnvironmentForDebugIosArm64(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = agpVersion
|
||||
@@ -212,7 +209,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldCheckEmbedAndSignAppleFrameworkForXcodeDoesNotRequireXcodeEnv(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = agpVersion
|
||||
@@ -264,7 +261,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldCheckThatStaticFrameworkForArm64IsBuildAndNotEmbedded(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
|
||||
nativeProject(
|
||||
@@ -309,7 +306,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldReportConfErrorsToXcodeWhenRequestedByEmbedAndSign(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = agpVersion
|
||||
@@ -354,7 +351,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldReportCompilationErrorsToXcodeWhenRequestedByEmbedAndSign(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = agpVersion
|
||||
@@ -393,7 +390,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldPrintCompilationErrorsWithGradleStyle(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = agpVersion
|
||||
@@ -432,7 +429,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldPrintCompilationErrorsWithXcodeStyle(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = agpVersion
|
||||
@@ -475,7 +472,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
fun shouldReportErrorsToXcodeWhenEmbedAndSignRequestedAndDisableCompilerDaemon(
|
||||
gradleVersion: GradleVersion,
|
||||
agpVersion: String,
|
||||
jdkProvider: JdkVersions.ProvidedJdk
|
||||
jdkProvider: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
androidVersion = agpVersion
|
||||
@@ -525,7 +522,7 @@ class AppleFrameworkIT : KGPBaseTest() {
|
||||
@JdkVersions(versions = [JavaVersion.VERSION_11])
|
||||
fun smokeTestWithAppleGradlePlugin(
|
||||
gradleVersion: GradleVersion,
|
||||
providedJdk: JdkVersions.ProvidedJdk
|
||||
providedJdk: JdkVersions.ProvidedJdk,
|
||||
) {
|
||||
|
||||
nativeProject(
|
||||
|
||||
-3
@@ -19,9 +19,6 @@ import kotlin.test.fail
|
||||
@NativeGradlePluginTests
|
||||
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
|
||||
|
||||
@DisplayName("Tests compilation")
|
||||
|
||||
+1
-4
@@ -17,9 +17,6 @@ import java.util.*
|
||||
@NativeGradlePluginTests
|
||||
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"
|
||||
|
||||
@DisplayName("Common ios")
|
||||
@@ -59,7 +56,7 @@ class CommonNativeIT : KGPBaseTest() {
|
||||
projectName: String,
|
||||
libTargets: List<String>,
|
||||
appTargets: List<String>,
|
||||
gradleVersion: GradleVersion
|
||||
gradleVersion: GradleVersion,
|
||||
) {
|
||||
nativeProject(projectName.withPrefix, gradleVersion) {
|
||||
|
||||
|
||||
-2
@@ -47,8 +47,6 @@ class FatFrameworkIT : KGPBaseTest() {
|
||||
nativeProject(
|
||||
"native-fat-framework/smoke",
|
||||
gradleVersion,
|
||||
// TODO(Dmitrii Krasnov): return default statisticsForceValidation, when KT-58104 will be fixed
|
||||
buildOptions = defaultBuildOptions.copy(statisticsForceValidation = false)
|
||||
) {
|
||||
buildGradleKts.modify {
|
||||
it.checkedReplace("iosArm32()", "watchosArm32()")
|
||||
|
||||
-3
@@ -18,9 +18,6 @@ import org.junit.jupiter.api.condition.OS
|
||||
@NativeGradlePluginTests
|
||||
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 ")
|
||||
@GradleTest
|
||||
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(
|
||||
listOf(
|
||||
"common",
|
||||
"metadata",
|
||||
"native",
|
||||
"jvm",
|
||||
"js",
|
||||
"arm32",
|
||||
"arm64",
|
||||
"mips32",
|
||||
"mipsel32",
|
||||
"x64",
|
||||
"android",
|
||||
"android_x64",
|
||||
"android_x86",
|
||||
"androidJvm",
|
||||
"androidApp",
|
||||
"androidNativeArm",
|
||||
"androidNativeArm32",
|
||||
"android_arm32",
|
||||
"androidNativeArm64",
|
||||
"android_arm64",
|
||||
"androidNative",
|
||||
"androidNativeX86",
|
||||
"androidNativeX64",
|
||||
"iosArm",
|
||||
"iosArm32",
|
||||
"ios_arm32",
|
||||
"iosArm64",
|
||||
"ios_arm64",
|
||||
"ios_simulator_arm64",
|
||||
"ios",
|
||||
"ios_x64",
|
||||
"iosSim",
|
||||
"iosX64",
|
||||
"watchos",
|
||||
"watchosArm32",
|
||||
"watchosArm64",
|
||||
"watchosX86",
|
||||
"tvos",
|
||||
"tvosArm64",
|
||||
"tvosX64",
|
||||
"linux",
|
||||
"linuxArm32Hfp",
|
||||
"watchos_arm32",
|
||||
"watchos_arm64",
|
||||
"watchos_x86",
|
||||
"watchos_x64",
|
||||
"watchos_simulator_arm64",
|
||||
"watchos_device_arm64",
|
||||
"tvos_arm64",
|
||||
"tvos_x64",
|
||||
"tvos_simulator_arm64",
|
||||
"linux_arm32_hfp",
|
||||
"linuxMips32",
|
||||
"linux_mips32",
|
||||
"linuxMipsel32",
|
||||
"linux_mipsel32",
|
||||
"linuxX64",
|
||||
"linux_arm64",
|
||||
"linux_x64",
|
||||
"macos",
|
||||
"osx",
|
||||
"macosX64",
|
||||
"macos_x64",
|
||||
"macos_arm64",
|
||||
"mingw",
|
||||
"mingwX64",
|
||||
"mingw_x64",
|
||||
"mingwX86",
|
||||
"mingw_X86",
|
||||
"mingw_x86",
|
||||
"wasm32",
|
||||
"wasm"
|
||||
|
||||
Reference in New Issue
Block a user