[PL][tests] K/N: Avoid any unexpected warnings to appear in tests

This commit is contained in:
Dmitriy Dolovov
2023-07-11 12:38:11 +02:00
committed by Space Team
parent 8cae224cb4
commit 19c6208cc0
8 changed files with 45 additions and 36 deletions
+16 -16
View File
@@ -77,34 +77,34 @@ class ContainerImpl : Container() {
public val newPublicProperty2 get() = "ContainerImpl.newPublicProperty2"
public val newPublicProperty3 get() = "ContainerImpl.newPublicProperty3"
public val newPublicProperty4 = "ContainerImpl.newPublicProperty4"
public open val newOpenPublicProperty1 = "ContainerImpl.newOpenPublicProperty1"
public open val newOpenPublicProperty2 get() = "ContainerImpl.newOpenPublicProperty2"
public open val newOpenPublicProperty3 get() = "ContainerImpl.newOpenPublicProperty3"
public open val newOpenPublicProperty4 = "ContainerImpl.newOpenPublicProperty4"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty1 = "ContainerImpl.newOpenPublicProperty1"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty2 get() = "ContainerImpl.newOpenPublicProperty2"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty3 get() = "ContainerImpl.newOpenPublicProperty3"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") public open val newOpenPublicProperty4 = "ContainerImpl.newOpenPublicProperty4"
protected val newProtectedProperty1 = "ContainerImpl.newProtectedProperty1"
protected val newProtectedProperty2 get() = "ContainerImpl.newProtectedProperty2"
protected val newProtectedProperty3 get() = "ContainerImpl.newProtectedProperty3"
protected val newProtectedProperty4 = "ContainerImpl.newProtectedProperty4"
protected open val newOpenProtectedProperty1 = "ContainerImpl.newOpenProtectedProperty1"
protected open val newOpenProtectedProperty2 get() = "ContainerImpl.newOpenProtectedProperty2"
protected open val newOpenProtectedProperty3 get() = "ContainerImpl.newOpenProtectedProperty3"
protected open val newOpenProtectedProperty4 = "ContainerImpl.newOpenProtectedProperty4"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty1 = "ContainerImpl.newOpenProtectedProperty1"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty2 get() = "ContainerImpl.newOpenProtectedProperty2"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty3 get() = "ContainerImpl.newOpenProtectedProperty3"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") protected open val newOpenProtectedProperty4 = "ContainerImpl.newOpenProtectedProperty4"
internal val newInternalProperty1 = "ContainerImpl.newInternalProperty1"
internal val newInternalProperty2 get() = "ContainerImpl.newInternalProperty2"
internal val newInternalProperty3 get() = "ContainerImpl.newInternalProperty3"
internal val newInternalProperty4 = "ContainerImpl.newInternalProperty4"
internal open val newOpenInternalProperty1 = "ContainerImpl.newOpenInternalProperty1"
internal open val newOpenInternalProperty2 get() = "ContainerImpl.newOpenInternalProperty2"
internal open val newOpenInternalProperty3 get() = "ContainerImpl.newOpenInternalProperty3"
internal open val newOpenInternalProperty4 = "ContainerImpl.newOpenInternalProperty4"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty1 = "ContainerImpl.newOpenInternalProperty1"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty2 get() = "ContainerImpl.newOpenInternalProperty2"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty3 get() = "ContainerImpl.newOpenInternalProperty3"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalProperty4 = "ContainerImpl.newOpenInternalProperty4"
internal val newInternalPAProperty1 = "ContainerImpl.newInternalPAProperty1"
internal val newInternalPAProperty2 get() = "ContainerImpl.newInternalPAProperty2"
internal val newInternalPAProperty3 get() = "ContainerImpl.newInternalPAProperty3"
internal val newInternalPAProperty4 = "ContainerImpl.newInternalPAProperty4"
internal open val newOpenInternalPAProperty1 = "ContainerImpl.newOpenInternalPAProperty1"
internal open val newOpenInternalPAProperty2 get() = "ContainerImpl.newOpenInternalPAProperty2"
internal open val newOpenInternalPAProperty3 get() = "ContainerImpl.newOpenInternalPAProperty3"
internal open val newOpenInternalPAProperty4 = "ContainerImpl.newOpenInternalPAProperty4"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty1 = "ContainerImpl.newOpenInternalPAProperty1"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty2 get() = "ContainerImpl.newOpenInternalPAProperty2"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty3 get() = "ContainerImpl.newOpenInternalPAProperty3"
@Suppress("NON_FINAL_MEMBER_IN_FINAL_CLASS") internal open val newOpenInternalPAProperty4 = "ContainerImpl.newOpenInternalPAProperty4"
private val newPrivateProperty1 = "ContainerImpl.newPrivateProperty1"
private val newPrivateProperty2 get() = "ContainerImpl.newPrivateProperty2"
private val newPrivateProperty3 get() = "ContainerImpl.newPrivateProperty3"
@@ -67,7 +67,7 @@ fun memberInfixToNonInfix(a: Int, b: Int): Int = (a.wrap() memberInfixToNonInfix
fun extensionInfixToNonInfix(a: Int, b: Int): Int = with(Wrapper.Companion) { (a.wrap() extensionInfixToNonInfix b.wrap()).unwrap() }
fun nonTailrecToTailrec(n: Int): Int = Functions.nonTailrecToTailrec(n, 1)
tailrec fun tailrecToNonTailrec(n: Int): Int = Functions.tailrecToNonTailrec(n, 1)
@Suppress("NO_TAIL_CALLS_FOUND") tailrec fun tailrecToNonTailrec(n: Int): Int = Functions.tailrecToNonTailrec(n, 1)
// This is required to check that default arguments are counter correctly even for inherited classes.
open class StableOpenClass {
@@ -61,8 +61,8 @@ fun box() = abiTest {
expectSuccess(91) { varargArgumentAndOtherArgumentsWithDefaultValues(100, 1) }
expectSuccess(93) { varargArgumentAndOtherArgumentsWithDefaultValues(100, 1, 2) }
expectSuccess(113) { varargArgumentAndOtherArgumentsWithDefaultValues(100, 1, 2, last = 10) }
expectSuccess(-109) { varargArgumentAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1)) }
expectSuccess(-107) { varargArgumentAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1, 2)) }
expectSuccess(-109) { @Suppress("REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_FUNCTION") varargArgumentAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1)) }
expectSuccess(-107) { @Suppress("REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_FUNCTION") varargArgumentAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1, 2)) }
expectSuccess(104) { varargArgumentWithDefaultValueAndOtherArguments(100, last = 10) }
expectSuccess(111) { varargArgumentWithDefaultValueAndOtherArguments(100, 1, last = 10) }
expectSuccess(113) { varargArgumentWithDefaultValueAndOtherArguments(100, 1, 2, last = 10) }
@@ -74,8 +74,8 @@ fun box() = abiTest {
expectSuccess(91) { varargArgumentWithDefaultValueAndOtherArgumentsWithDefaultValues(100, 1) }
expectSuccess(93) { varargArgumentWithDefaultValueAndOtherArgumentsWithDefaultValues(100, 1, 2) }
expectSuccess(113) { varargArgumentWithDefaultValueAndOtherArgumentsWithDefaultValues(100, 1, 2, last = 10) }
expectSuccess(-109) { varargArgumentWithDefaultValueAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1)) }
expectSuccess(-107) { varargArgumentWithDefaultValueAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1, 2)) }
expectSuccess(-109) { @Suppress("REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_FUNCTION") varargArgumentWithDefaultValueAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1)) }
expectSuccess(-107) { @Suppress("REDUNDANT_SPREAD_OPERATOR_IN_NAMED_FORM_IN_FUNCTION") varargArgumentWithDefaultValueAndOtherArgumentsWithDefaultValues(elements = *intArrayOf(1, 2)) }
expectSuccess(-1) { suspendToNonSuspendFunction1(1) }
expectSuccess(-2) { suspendToNonSuspendFunction2(2) }
@@ -18,9 +18,9 @@ class StableClass {
}
}
fun functionWithUnlinkedParameter(p: RemovedClass?) = "functionWithUnlinkedParameter"
fun functionWithUnlinkedParameter(@Suppress("UNUSED_PARAMETER") p: RemovedClass?) = "functionWithUnlinkedParameter"
fun functionWithUnlinkedReturnValue(): RemovedClass = TODO("functionWithUnlinkedReturnValue")
fun <T : RemovedClass> functionWithRemovedTypeParameter(a: Any?): T = TODO("functionWithRemovedTypeParameter")
fun <T : RemovedClass> functionWithRemovedTypeParameter(@Suppress("UNUSED_PARAMETER") a: Any?): T = TODO("functionWithRemovedTypeParameter")
fun referenceRemovedClassReference(): String = RemovedClass::class.simpleName.orEmpty()
fun referenceRemovedClassConstructorReference(): String = ::RemovedClass.name
+14 -9
View File
@@ -18,11 +18,11 @@ class Checker {
fun useClassAsValueParameter(c: Class): String = "Checker.useClassAsValueParameter($c)"
fun createAndPassClassAsValueParameter(): String = useClassAsValueParameter(Class())
fun useRemovedClassAsValueParameter(e: RemovedClass?): String = "FAIL: useRemovedClassAsValueParameter"
fun useRemovedClassAsValueParameter(@Suppress("UNUSED_PARAMETER") e: RemovedClass?): String = "FAIL: useRemovedClassAsValueParameter"
fun createAndPassRemovedClassAsValueParameter(): String = useRemovedClassAsValueParameter(null)
var removedClassProperty: RemovedClass? = null
protected set(value) { /* Do nothing */ }
protected set(_) { /* Do nothing */ }
fun writeToRemovedClassProperty(): String {
removedClassProperty = null
@@ -62,7 +62,8 @@ fun readVariableInFunction() {
}
fun writeVariableInFunction() {
var removed: RemovedClass?
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "CanBeVal") var removed: RemovedClass?
@Suppress("UNUSED_VALUE")
removed = null
}
@@ -76,7 +77,8 @@ fun readVariableInLocalFunction() {
fun writeVariableInLocalFunction() {
fun local() {
var removed: RemovedClass?
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "CanBeVal") var removed: RemovedClass?
@Suppress("UNUSED_VALUE")
removed = null
}
local()
@@ -95,7 +97,8 @@ fun readVariableInLocalClass() {
fun writeVariableInLocalClass() {
class Local {
fun foo() {
var removed: RemovedClass?
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "CanBeVal") var removed: RemovedClass?
@Suppress("UNUSED_VALUE")
removed = null
}
}
@@ -114,7 +117,8 @@ fun readVariableInAnonymousObject() {
fun writeVariableInAnonymousObject() {
object {
fun foo() {
var removed: RemovedClass?
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "CanBeVal") var removed: RemovedClass?
@Suppress("UNUSED_VALUE")
removed = null
}
}.foo()
@@ -133,7 +137,8 @@ fun readVariableInAnonymousObjectThroughLocalVar() {
fun writeVariableInAnonymousObjectThroughLocalVar() {
val obj = object {
fun foo() {
var removed: RemovedClass?
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "CanBeVal") var removed: RemovedClass?
@Suppress("UNUSED_VALUE")
removed = null
}
}
@@ -262,10 +267,10 @@ inline fun inlinedFunctionWithCreationOfOpenClassImplThroughReference() {
inline fun inlinedFunctionWithRemovedOpenClassAnonymousObject() {
val foo = object : RemovedOpenClass() {}
check(foo == null)
check(foo.toString().isNotEmpty())
}
inline fun inlinedFunctionWithOpenClassImplAnonymousObject() {
val foo = object : OpenClassImpl() {}
check(foo == null)
check(foo.toString().isNotEmpty())
}
@@ -27,7 +27,7 @@ import org.opentest4j.TestAbortedException
import java.io.File
@Tag("partial-linkage")
@UsePartialLinkage(UsePartialLinkage.Mode.ENABLED_WITH_WARNING)
@UsePartialLinkage(UsePartialLinkage.Mode.DEFAULT)
abstract class AbstractNativePartialLinkageTest : AbstractNativeSimpleTest() {
private inner class NativeTestConfiguration(testPath: String) : PartialLinkageTestUtils.TestConfiguration {
override val testDir = getAbsoluteFile(testPath)
@@ -218,7 +218,11 @@ abstract class AbstractNativePartialLinkageTest : AbstractNativeSimpleTest() {
companion object {
private val COMPILER_ARGS = TestCompilerArgs(
listOf("-nostdlib") // stdlib is passed explicitly.
listOf(
"-nostdlib", // stdlib is passed explicitly.
"-Xsuppress-version-warnings", // Don't fail on language version warnings.
"-Werror" // Halt on any unexpected warning.
)
)
private val DEFAULT_EXTRAS = WithTestRunnerExtras(TestRunnerType.DEFAULT)
@@ -461,7 +461,7 @@ private object NativeTestSupport {
val config = when (mode) {
UsePartialLinkage.Mode.DISABLED -> PartialLinkageConfig(PartialLinkageMode.DISABLE, PartialLinkageLogLevel.ERROR)
UsePartialLinkage.Mode.ENABLED_WITH_WARNING -> PartialLinkageConfig(PartialLinkageMode.ENABLE, PartialLinkageLogLevel.WARNING)
UsePartialLinkage.Mode.DEFAULT -> PartialLinkageConfig(PartialLinkageMode.ENABLE, PartialLinkageLogLevel.DEFAULT)
UsePartialLinkage.Mode.ENABLED_WITH_ERROR -> PartialLinkageConfig(PartialLinkageMode.ENABLE, PartialLinkageLogLevel.ERROR)
}
@@ -7,5 +7,5 @@ package org.jetbrains.kotlin.konan.blackboxtest.support.group
@Target(AnnotationTarget.CLASS)
internal annotation class UsePartialLinkage(val mode: Mode) {
enum class Mode { DISABLED, ENABLED_WITH_WARNING, ENABLED_WITH_ERROR }
enum class Mode { DISABLED, DEFAULT, ENABLED_WITH_ERROR }
}