[PL][tests] K/N: Avoid any unexpected warnings to appear in tests
This commit is contained in:
committed by
Space Team
parent
8cae224cb4
commit
19c6208cc0
+16
-16
@@ -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
@@ -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())
|
||||
}
|
||||
|
||||
+6
-2
@@ -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)
|
||||
|
||||
+1
-1
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -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 }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user