Split up generation of test data for codegen/box/ranges into signed and

unsigned ranges/progressions.

The tests pass in JVM_IR for signed, but fail for unsigned due to
inlining being broken. We can disable the JVM_IR tests for unsigned,
while keeping them enabled for signed, to get better test coverage in
the interim until inlining is fixed.
This commit is contained in:
Mark Punzalan
2019-05-01 10:59:24 -07:00
committed by Alexander Udalov
parent 331891b0d7
commit 7efc29df7e
126 changed files with 4575 additions and 2304 deletions
@@ -0,0 +1,56 @@
// KJS_WITH_FULL_RUNTIME
// TODO: muted automatically, investigate should it be ran for JVM_IR or not
// IGNORE_BACKEND: JVM_IR
// Auto-generated by org.jetbrains.kotlin.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT!
// WITH_RUNTIME
const val MaxUI = UInt.MAX_VALUE
const val MaxUB = UByte.MAX_VALUE
const val MaxUS = UShort.MAX_VALUE
const val MaxUL = ULong.MAX_VALUE
fun box(): String {
val list1 = ArrayList<UInt>()
val range1 = (MaxUI - 5u)..MaxUI step 3
for (i in range1) {
list1.add(i)
if (list1.size > 23) break
}
if (list1 != listOf<UInt>(MaxUI - 5u, MaxUI - 2u)) {
return "Wrong elements for (MaxUI - 5u)..MaxUI step 3: $list1"
}
val list2 = ArrayList<UInt>()
val range2 = (MaxUB - 5u).toUByte()..MaxUB step 3
for (i in range2) {
list2.add(i)
if (list2.size > 23) break
}
if (list2 != listOf<UInt>((MaxUB - 5u).toUInt(), (MaxUB - 2u).toUInt())) {
return "Wrong elements for (MaxUB - 5u).toUByte()..MaxUB step 3: $list2"
}
val list3 = ArrayList<UInt>()
val range3 = (MaxUS - 5u).toUShort()..MaxUS step 3
for (i in range3) {
list3.add(i)
if (list3.size > 23) break
}
if (list3 != listOf<UInt>((MaxUS - 5u).toUInt(), (MaxUS - 2u).toUInt())) {
return "Wrong elements for (MaxUS - 5u).toUShort()..MaxUS step 3: $list3"
}
val list4 = ArrayList<ULong>()
val range4 = (MaxUL - 5u)..MaxUL step 3
for (i in range4) {
list4.add(i)
if (list4.size > 23) break
}
if (list4 != listOf<ULong>((MaxUL - 5u), (MaxUL - 2u))) {
return "Wrong elements for (MaxUL - 5u)..MaxUL step 3: $list4"
}
return "OK"
}