[FIR] Fix TEST SPEC tests

Ensure the test data contents for both the frontends
are identical. This is needed for proper analysis of
K2-differences.
This commit is contained in:
Nikolay Lunyak
2023-06-12 15:20:46 +03:00
committed by Space Team
parent e6633d3d92
commit 7541732752
583 changed files with 4053 additions and 5418 deletions
@@ -1,6 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 1
* DESCRIPTION: Contract isn't first statement.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 10
* DESCRIPTION: Contract with label after 'contract' keyword.
* ISSUES: KT-26153
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 11
* DESCRIPTION: Functions with contracts and external contract builder.
* ISSUES: KT-26186
*/
// FILE: builder.kt
package builder
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 12
* DESCRIPTION: Functions with contracts and external effect builder.
* ISSUES: KT-26186
*/
// FILE: builder.kt
package builder
@@ -1,6 +1,15 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 13
* DESCRIPTION: Contract function with CallsInPlace effect with not allowed implies.
* ISSUES: KT-26409
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,16 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 14
* DESCRIPTION: Contract is first statement in control flow terms, but not in tokens order terms.
* ISSUES: KT-26153
* HELPERS: functions
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,16 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 17
* DESCRIPTION: contracts with Nothing expressions in implies.
* DISCUSSION
* ISSUES: KT-25948
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 2
* DESCRIPTION: contracts with not allowed simple conditions in implies
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 3
* DESCRIPTION: contracts with not allowed complex conditions in implies.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 4
* DESCRIPTION: contracts with not allowed conditions with constants in implies.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 5
* DESCRIPTION: contracts with not allowed expressions in implies.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -2,6 +2,15 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 6
* DESCRIPTION: contracts with not function parameters in implies.
* HELPERS: typesProvider
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,16 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 7
* DESCRIPTION: Contract function with 'this' labeled by not current extensible object
* ISSUES: KT-26149
* HELPERS: typesProvider
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 8
* DESCRIPTION: Not allowed empty contract.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,14 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE -UNUSED_PARAMETER -UNREACHABLE_CODE -UNUSED_EXPRESSION
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 9
* DESCRIPTION: Function with contract as returned expression.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,12 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, common
* NUMBER: 1
* DESCRIPTION: Functions with simple contracts.
*/
import kotlin.contracts.*
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, callsInPlace
* NUMBER: 1
* DESCRIPTION: contract functions with CallsInPlace with dynamic InvocationKind.
* ISSUES: KT-26152
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1, 2, 3, 4
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, callsInPlace
* NUMBER: 2
* DESCRIPTION: functions with contract and duplicate CallsInPlace.
* ISSUES: KT-26150
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,15 @@
// !DIAGNOSTICS: -UNUSED_VARIABLE
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, common
* NUMBER: 1
* DESCRIPTION: Indirect effect functions call.
* ISSUES: KT-26175
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, returns
* NUMBER: 1
* DESCRIPTION: Using equality with expressions in implies.
* ISSUES: KT-26178
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,13 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, returns
* NUMBER: 2
* DESCRIPTION: Using equality with not labeled 'this' in implies.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,15 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, returns
* NUMBER: 3
* DESCRIPTION: Using reference equality in implies.
* ISSUES: KT-26177
* HELPERS: objects
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, returns
* NUMBER: 4
* DESCRIPTION: Using equality with literals in implies.
* ISSUES: KT-26178
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,14 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, returns
* NUMBER: 5
* DESCRIPTION: Contract on the extension function with Boolean upper bound (Boolean or Nothing) or smartcast to Boolean.
* DISCUSSION
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,13 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, returns
* NUMBER: 6
* DESCRIPTION: Contract on the extension function with smartcast to Boolean.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,15 @@
// !LANGUAGE: +AllowContractsForNonOverridableMembers +AllowReifiedGenericsInContracts
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractBuilder, effects, returns
* NUMBER: 7
* DESCRIPTION: Returns effect with type checking with generic parameter
* ISSUES: KT-26296
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,76 +0,0 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
// !DIAGNOSTICS: -FINAL_UPPER_BOUND
import kotlin.contracts.*
// TESTCASE NUMBER: 1
fun case_1(value_1: Boolean) {
contract { returns() implies (value_1) }
if (!value_1) throw Exception()
}
// TESTCASE NUMBER: 2
fun case_2(value_1: Boolean): Boolean {
contract { returns(false) implies (!value_1) }
return value_1
}
// TESTCASE NUMBER: 3
fun Boolean.case_3() {
contract { returns() implies (!this@case_3) }
if (this@case_3) throw Exception()
}
// TESTCASE NUMBER: 5
fun case_5(value_1: Any?) {
contract { returns() implies (value_1 is String) }
if (value_1 !is String) throw Exception()
}
// TESTCASE NUMBER: 6
fun case_6(value_1: Any?) {
contract { returns() implies (value_1 !is String?) }
if (value_1 is String?) throw Exception()
}
// TESTCASE NUMBER: 7
fun Any?.case_7() {
contract { returns() implies (this@case_7 is Number) }
if (this !is Number) throw Exception()
}
// TESTCASE NUMBER: 8
fun <T>T?.case_8() {
contract { returns() implies (this@case_8 !is ClassLevel3?) }
if (this is ClassLevel3?) throw Exception()
}
// TESTCASE NUMBER: 9
fun <T : Number?>T.case_9(): Boolean? {
contract { returns(null) implies (this@case_9 is Byte?) }
return if (this is Byte?) null else true
}
// TESTCASE NUMBER: 10
fun case_10(value_1: Any?) {
contract { returns() implies (value_1 == null) }
if (value_1 != null) throw Exception()
}
// TESTCASE NUMBER: 11
fun case_11(value_1: Any?): Boolean? {
contract { returns(null) implies (value_1 != null) }
return if (value_1 != null) null else true
}
// TESTCASE NUMBER: 12
fun Char.case_12() {
contract { returns() implies (<!SENSELESS_COMPARISON!>this@case_12 == null<!>) }
if (<!SENSELESS_COMPARISON!>this@case_12 != null<!>) throw Exception()
}
// TESTCASE NUMBER: 13
fun <T : Number>T?.case_13() {
contract { returns() implies (this@case_13 == null) }
if (this != null) throw Exception()
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !OPT_IN: kotlin.contracts.ExperimentalContracts
// !DIAGNOSTICS: -FINAL_UPPER_BOUND
@@ -1,5 +1,13 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractFunction
* NUMBER: 1
* DESCRIPTION: Check that recursion isn't allowed in contract functions with CallsInPlace effect.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,16 @@
// !LANGUAGE: +AllowContractsForNonOverridableMembers +AllowReifiedGenericsInContracts
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractFunction
* NUMBER: 2
* DESCRIPTION: Check report about use contracts in literal functions, lambdas or not top-level functions.
* ISSUES: KT-26149
* HELPERS: classes
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,6 +1,15 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (NEGATIVE)
*
* SECTIONS: contracts, declarations, contractFunction
* NUMBER: 4
* DESCRIPTION: Check that fun with contract and CallsInPlace effect is an inline function.
* ISSUES: KT-27090
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1
@@ -1,5 +1,13 @@
// !OPT_IN: kotlin.contracts.ExperimentalContracts
/*
* KOTLIN DIAGNOSTICS NOT LINKED SPEC TEST (POSITIVE)
*
* SECTIONS: contracts, declarations, contractFunction
* NUMBER: 1
* DESCRIPTION: Use a contract function before the declaration it.
*/
import kotlin.contracts.*
// TESTCASE NUMBER: 1