[Test] Migrate tests for java 9 to regular test infrastructure
This commit is contained in:
committed by
teamcityserver
parent
ca214bef30
commit
4f73ebbcbd
@@ -0,0 +1,10 @@
|
||||
// STRING_CONCAT: indy-with-constants
|
||||
// JVM_TARGET: 9
|
||||
fun box(): String {
|
||||
val p = 3147483648u
|
||||
val a = "_"
|
||||
val b = "_"
|
||||
val s = a + "1" + "2" + 3 + 4L + b + 5.0 + 6F + '7' + true + false + 3147483647u + p
|
||||
|
||||
return if (s != "_1234_5.06.07truefalse31474836473147483648") "fail $s" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// STRING_CONCAT: indy-with-constants
|
||||
// JVM_TARGET: 9
|
||||
fun box(): String {
|
||||
val z = "0"
|
||||
val result = z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //200
|
||||
|
||||
return if (result.length != 200)
|
||||
"fail: ${result.length}" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
// STRING_CONCAT: indy-with-constants
|
||||
// JVM_TARGET: 9
|
||||
fun test(z: Long): String {
|
||||
val result = "" + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //200 z
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val result = test(0L)
|
||||
|
||||
if (result.length != 200)
|
||||
return "fail 1: ${result.length}"
|
||||
|
||||
return if (result != "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
|
||||
"fail 2: ${result}"
|
||||
else "OK"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// STRING_CONCAT: indy-with-constants
|
||||
// JVM_TARGET: 9
|
||||
fun box(): String {
|
||||
val z = "0"
|
||||
val result = z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + //200
|
||||
z //201
|
||||
|
||||
return if (result.length != 201)
|
||||
"fail: ${result.length}" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// STRING_CONCAT: indy
|
||||
// JVM_TARGET: 9
|
||||
fun box(): String {
|
||||
val z = "0"
|
||||
val result = z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //200
|
||||
|
||||
return if (result.length != 200)
|
||||
"fail: ${result.length}" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
// STRING_CONCAT: indy
|
||||
// JVM_TARGET: 9
|
||||
fun test(z: Long): String {
|
||||
val result = "" + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z //200 z
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val result = test(0L)
|
||||
|
||||
if (result.length != 200)
|
||||
return "fail 1: ${result.length}"
|
||||
|
||||
return if (result != "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
|
||||
"fail 2: ${result}"
|
||||
else "OK"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// STRING_CONCAT: indy
|
||||
// JVM_TARGET: 9
|
||||
fun box(): String {
|
||||
val z = "0"
|
||||
val result = z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z +
|
||||
z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + z + //200
|
||||
z //201
|
||||
|
||||
return if (result.length != 201)
|
||||
"fail: ${result.length}" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
// STRING_CONCAT: indy-with-constants
|
||||
// JVM_TARGET: 9
|
||||
inline class Str(val s: String)
|
||||
inline class NStr(val s: String?)
|
||||
|
||||
fun testStr(s: Str?) = "1$s$s"
|
||||
fun testNStr(ns: NStr?) = "2$ns$ns"
|
||||
|
||||
fun box(): String {
|
||||
|
||||
val test1 = testStr(Str("0"))
|
||||
if (test1 != "1Str(s=0)Str(s=0)") return "fail 1: $test1"
|
||||
|
||||
val test2 = testStr(null)
|
||||
if (test2 != "1nullnull") return "fail 2: $test2"
|
||||
|
||||
val test3 = testNStr(NStr(null))
|
||||
if (test3 != "2NStr(s=null)NStr(s=null)") return "fail 3: $test3"
|
||||
|
||||
val test4 = testNStr(NStr("0"))
|
||||
if (test4 != "2NStr(s=0)NStr(s=0)") return "fail 4: $test4"
|
||||
|
||||
val test5 = testNStr(null)
|
||||
if (test5 != "2nullnull") return "fail 5: $test5"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// JVM_TARGET: 9
|
||||
|
||||
fun test(a: String, b: String?): String {
|
||||
return a + "\u0001" + 2.toChar() + 3.toChar() + 4L + b + 5.0 + 6F + '7' + b + "\u0002" + 1.toChar()
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val test = test("O", "K")
|
||||
return if (test != "O\u0001\u0002\u00034K5.06.07K\u0002\u0001") "fail ${test}" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
// STRING_CONCAT: indy-with-constants
|
||||
// JVM_TARGET: 9
|
||||
inline fun test(crossinline s: (String) -> String): String {
|
||||
var result = "1" + s("2") + "3" + 4 + {
|
||||
"5" + s("6") + "7"
|
||||
}()
|
||||
|
||||
result += object {
|
||||
fun run() = "8" + s("9") + "10"
|
||||
}.run()
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val result = test { it }
|
||||
if (result != "12345678910") return "fail 1: $result"
|
||||
|
||||
val result2 = test { it + "_" }
|
||||
return if (result2 != "12_3456_789_10") "fail 2: $result2" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// ^ JVM_IR back-end generates SAM conversion with invokedynamic
|
||||
// WITH_RUNTIME
|
||||
|
||||
fun box(): String {
|
||||
val f = {}
|
||||
val sam = Runnable(f)
|
||||
val samJavaClass = sam::class.java
|
||||
|
||||
if (samJavaClass.simpleName != "")
|
||||
throw Exception("samJavaClass.simpleName='${samJavaClass.simpleName}'")
|
||||
|
||||
if (!samJavaClass.isAnonymousClass())
|
||||
throw Exception("!samJavaClass.isAnonymousClass(): '${samJavaClass.name}'")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
// !LANGUAGE: +PolymorphicSignature
|
||||
// TARGET_BACKEND: JVM
|
||||
// SKIP_JDK6
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.lang.invoke.MethodHandles
|
||||
import kotlin.concurrent.thread
|
||||
|
||||
fun box(): String {
|
||||
val handle = MethodHandles.arrayElementVarHandle(ByteArray::class.java)
|
||||
val array = ByteArray(10)
|
||||
|
||||
val index = 0
|
||||
|
||||
// Check that we don't consider non-Object return type of a signature-polymorphic method to be polymorphic.
|
||||
handle.weakCompareAndSetPlain(array, index, 0.toByte(), 21.toByte()) as Comparable<*>
|
||||
|
||||
val oldValue = 42.toByte()
|
||||
val newValue = (-74).toByte()
|
||||
|
||||
thread {
|
||||
Thread.sleep(400L)
|
||||
|
||||
handle.setVolatile(array, index, oldValue)
|
||||
}
|
||||
|
||||
while (!handle.compareAndSet(array, index, oldValue, newValue)) {
|
||||
Thread.sleep(10L)
|
||||
}
|
||||
|
||||
return if (handle.getVolatile(array, index) == newValue) "OK" else "Fail"
|
||||
}
|
||||
Reference in New Issue
Block a user