From 3bc0eaff5982a9cc6f0bb4f6528c1ddbb0b03568 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Sun, 25 Jul 2021 17:23:55 +0200 Subject: [PATCH] Fix warnings in stdlib samples and test modules --- libraries/stdlib/jdk7/test/UseAutoCloseableResourceTest.kt | 2 +- libraries/stdlib/jdk7/test/UseCloseableResourceTest.kt | 2 +- libraries/stdlib/jdk8/test/collections/MapTest.kt | 5 +++-- libraries/stdlib/jdk8/test/time/DurationConversionTest.kt | 4 ++-- libraries/stdlib/jvm/test/io/UseCloseableResourceTest.kt | 2 +- .../stdlib/samples/test/samples/collections/collections.kt | 1 + .../stdlib/samples/test/samples/properties/delegates.kt | 2 ++ libraries/stdlib/test/collections/ArraysTest.kt | 7 ++++++- libraries/stdlib/test/collections/MapTest.kt | 3 ++- libraries/stdlib/test/numbers/FloorDivModTest.kt | 3 +++ libraries/stdlib/test/numbers/NumbersTest.kt | 4 ++-- libraries/stdlib/test/utils/TODOTest.kt | 2 ++ 12 files changed, 26 insertions(+), 11 deletions(-) diff --git a/libraries/stdlib/jdk7/test/UseAutoCloseableResourceTest.kt b/libraries/stdlib/jdk7/test/UseAutoCloseableResourceTest.kt index 86741b098e7..e757079b096 100644 --- a/libraries/stdlib/jdk7/test/UseAutoCloseableResourceTest.kt +++ b/libraries/stdlib/jdk7/test/UseAutoCloseableResourceTest.kt @@ -33,7 +33,7 @@ class UseAutoCloseableResourceTest { @Test fun closeFails() { val e = assertFails { - Resource(faultyClose = true).use { "" } + Resource(faultyClose = true).use { it.isClosed } } assertTrue(e is IOException) } diff --git a/libraries/stdlib/jdk7/test/UseCloseableResourceTest.kt b/libraries/stdlib/jdk7/test/UseCloseableResourceTest.kt index cbd9ccb3170..086f13d9326 100644 --- a/libraries/stdlib/jdk7/test/UseCloseableResourceTest.kt +++ b/libraries/stdlib/jdk7/test/UseCloseableResourceTest.kt @@ -32,7 +32,7 @@ class UseCloseableResourceTest { @Test fun closeFails() { val e = assertFails { - Resource(faultyClose = true).use { "" } + Resource(faultyClose = true).use { it.isClosed } } assertTrue(e is IOException) } diff --git a/libraries/stdlib/jdk8/test/collections/MapTest.kt b/libraries/stdlib/jdk8/test/collections/MapTest.kt index 6f1d49206af..db2440aff93 100644 --- a/libraries/stdlib/jdk8/test/collections/MapTest.kt +++ b/libraries/stdlib/jdk8/test/collections/MapTest.kt @@ -123,6 +123,7 @@ class MapTest { assertEquals("1null", map.compute(1) { k, v -> k.toString() + v }) } + @Suppress("USELESS_CAST") @Test fun merge() { val map = mutableMapOf(2 to "x") assertEquals("y", map.merge(3, "y") { _, _ -> null }) @@ -136,8 +137,8 @@ class MapTest { // fails due to KT-12144 val map2 = mutableMapOf(1 to null) // new value must be V&Any - assertEquals("e", map2.merge(1, "e") { old, new -> (old.length + new.length).toString() ?: null }) - assertEquals("3", map2.merge(1, "fg") { old, new -> (old.length + new.length).toString() ?: null }) + assertEquals("e", map2.merge(1, "e") { old, new -> (old.length + new.length).toString() as String? }) + assertEquals("3", map2.merge(1, "fg") { old, new -> (old.length + new.length).toString() as String? }) assertEquals(null, map2.merge(1, "3") { _, _ -> null }) assertFalse(1 in map) } diff --git a/libraries/stdlib/jdk8/test/time/DurationConversionTest.kt b/libraries/stdlib/jdk8/test/time/DurationConversionTest.kt index 3c65260ad26..af0ea61f828 100644 --- a/libraries/stdlib/jdk8/test/time/DurationConversionTest.kt +++ b/libraries/stdlib/jdk8/test/time/DurationConversionTest.kt @@ -44,7 +44,7 @@ class DurationConversionTest { @Test fun javaToKotlinRounding() { - val jtDuration1 = JTDuration.ofDays(365 * 150) + val jtDuration1 = JTDuration.ofDays(365L * 150) val jtDuration2 = jtDuration1.plusNanos(1) assertNotEquals(jtDuration1, jtDuration2) @@ -67,7 +67,7 @@ class DurationConversionTest { @Test fun randomIsoConversionEquivalence() { repeat(100) { - val duration = Duration.nanoseconds(Random.nextLong(-(1 shl 53) + 1, 1 shl 53)) + val duration = Duration.nanoseconds(Random.nextLong(-(1L shl 53) + 1, 1L shl 53)) val fromString = JTDuration.parse(duration.toIsoString()) val fromDuration = duration.toJavaDuration() diff --git a/libraries/stdlib/jvm/test/io/UseCloseableResourceTest.kt b/libraries/stdlib/jvm/test/io/UseCloseableResourceTest.kt index 489b13434b2..47952e254fb 100644 --- a/libraries/stdlib/jvm/test/io/UseCloseableResourceTest.kt +++ b/libraries/stdlib/jvm/test/io/UseCloseableResourceTest.kt @@ -44,7 +44,7 @@ class UseCloseableResourceTest { @Test fun closeFails() { val e = assertFails { - Resource(faultyClose = true).use { "" } + Resource(faultyClose = true).use { it.isClosed } } assertTrue(e is IOException) } diff --git a/libraries/stdlib/samples/test/samples/collections/collections.kt b/libraries/stdlib/samples/test/samples/collections/collections.kt index a64f822e059..c20a7671b95 100644 --- a/libraries/stdlib/samples/test/samples/collections/collections.kt +++ b/libraries/stdlib/samples/test/samples/collections/collections.kt @@ -599,6 +599,7 @@ class Collections { } @Sample + @Suppress("UNUSED_VARIABLE") fun firstNotNullOf() { data class Rectangle(val height: Int, val width: Int) { val area: Int get() = height * width diff --git a/libraries/stdlib/samples/test/samples/properties/delegates.kt b/libraries/stdlib/samples/test/samples/properties/delegates.kt index ad45a73a9d9..44433be6a5a 100644 --- a/libraries/stdlib/samples/test/samples/properties/delegates.kt +++ b/libraries/stdlib/samples/test/samples/properties/delegates.kt @@ -14,6 +14,8 @@ * limitations under the License. */ +@file:Suppress("UNUSED_ANONYMOUS_PARAMETER") + package samples.properties import kotlin.properties.Delegates diff --git a/libraries/stdlib/test/collections/ArraysTest.kt b/libraries/stdlib/test/collections/ArraysTest.kt index e19afefc900..365679b2420 100644 --- a/libraries/stdlib/test/collections/ArraysTest.kt +++ b/libraries/stdlib/test/collections/ArraysTest.kt @@ -1470,7 +1470,8 @@ class ArraysTest { doTest(build = { map {'a' + it}.toCharArray() }, reverse = { reverse() }, snapshot = { toList() }) doTest(build = { map {it % 2 == 0}.toBooleanArray() }, reverse = { reverse() }, snapshot = { toList() }) doTest(build = { map {it.toString()}.toTypedArray() }, reverse = { reverse() }, snapshot = { toList() }) - doTest(build = { map {it.toString()}.toTypedArray() as Array }, reverse = { reverse() }, snapshot = { toList() }) + @Suppress("USELESS_CAST") + doTest(build = { map {it.toString()}.toTypedArray() as Array }, reverse = { reverse() }, snapshot = { toList() }) doTest(build = { map {it.toUInt()}.toUIntArray() }, reverse = { reverse() }, snapshot = { toList() }) doTest(build = { map {it.toULong()}.toULongArray() }, reverse = { reverse() }, snapshot = { toList() }) doTest(build = { map {it.toUByte()}.toUByteArray() }, reverse = { reverse() }, snapshot = { toList() }) @@ -1503,6 +1504,7 @@ class ArraysTest { } doTest(build = { map {it.toString()}.toTypedArray() }, reverse = { from, to -> reverse(from, to) }, snapshot = { toList() }) + @Suppress("USELESS_CAST") doTest(build = { map {it.toString()}.toTypedArray() as Array }, reverse = { from, to -> reverse(from, to) }, snapshot = { toList() }) doTest(build = { map {it}.toIntArray() }, reverse = { from, to -> reverse(from, to) }, snapshot = { toList() }) @@ -1928,6 +1930,7 @@ class ArraysTest { testStableSort({ sort(1, 5) }, { sort(1, 5) }) testStableSort({ sort(0, 6) }, { sort(0, 6) }) doTest(build = { map {it.toString()}.toTypedArray() }, sort = { from, to -> sort(from, to) }, snapshot = { toList() }) + @Suppress("USELESS_CAST") doTest(build = { map {it.toString()}.toTypedArray() as Array }, sort = { from, to -> sort(from, to) }, snapshot = { toList() }) doTest(build = { map {it}.toIntArray() }, sort = { from, to -> sort(from, to) }, snapshot = { toList() }) @@ -1971,6 +1974,7 @@ class ArraysTest { testStableSort({ sortDescending(1, 5) }, { sortDescending(1, 5) }) testStableSort({ sortDescending(0, 6) }, { sortDescending(0, 6) }) doTest(build = { map {it.toString()}.toTypedArray() }, sortDescending = { from, to -> sortDescending(from, to) }, snapshot = { toList() }) + @Suppress("USELESS_CAST") doTest(build = { map {it.toString()}.toTypedArray() as Array }, sortDescending = { from, to -> sortDescending(from, to) }, snapshot = { toList() }) doTest(build = { map {it}.toIntArray() }, sortDescending = { from, to -> sortDescending(from, to) }, snapshot = { toList() }) @@ -1997,6 +2001,7 @@ class ArraysTest { checkSorted>({ sortedArray() }, { sortedArrayDescending()}, { iterator() } ) } + @Suppress("USELESS_CAST") with (arrayData("ac", "aD", "aba") { toList().toTypedArray() as Array }) { checkSorted>({ sorted() }, { sortedDescending() }, { iterator() }) checkSorted>({ sortedArray() }, { sortedArrayDescending()}, { iterator() } ) diff --git a/libraries/stdlib/test/collections/MapTest.kt b/libraries/stdlib/test/collections/MapTest.kt index 6d4021f0fd9..268294d0fa8 100644 --- a/libraries/stdlib/test/collections/MapTest.kt +++ b/libraries/stdlib/test/collections/MapTest.kt @@ -463,7 +463,7 @@ class MapTest { doTest("HashMap", mapLetterToIndex.toMap(HashMap()), "c", 2) doTest("LinkedHashMap", mapLetterToIndex.toMap(LinkedHashMap()), "d", 3) - val builtMap = buildMap { + buildMap { putAll(mapLetterToIndex) doTest("MapBuilder", this, "z", 25) } @@ -479,6 +479,7 @@ class MapTest { assertEquals("Alice", firstAdult) assertEquals("Alice", firstAdultOrNull) + @Suppress("UNUSED_VARIABLE") assertFailsWith { val firstChild = map.firstNotNullOf { (name, age) -> name.takeIf { age <= 11 } } } val firstChildOrNull = map.firstNotNullOfOrNull { (name, age) -> name.takeIf { age <= 11 } } diff --git a/libraries/stdlib/test/numbers/FloorDivModTest.kt b/libraries/stdlib/test/numbers/FloorDivModTest.kt index c42c0f961e9..8dc8a0a5218 100644 --- a/libraries/stdlib/test/numbers/FloorDivModTest.kt +++ b/libraries/stdlib/test/numbers/FloorDivModTest.kt @@ -171,7 +171,9 @@ class FloorDivModTest { } check(Long.MAX_VALUE, 2, Long.MAX_VALUE / 2, 1) + @Suppress("INTEGER_OPERATOR_RESOLVE_WILL_CHANGE") // KT-47729 check(Long.MAX_VALUE, 1.shl(30), expectedMod = 1.shl(30) - 1) + @Suppress("INTEGER_OPERATOR_RESOLVE_WILL_CHANGE") // KT-47729 check(-1L, 1.shl(30), expectedMod = 1.shl(30) - 1) check(Long.MAX_VALUE, Int.MAX_VALUE, expectedMod = 1) check(Long.MAX_VALUE, Int.MIN_VALUE, expectedMod = -1) @@ -197,6 +199,7 @@ class FloorDivModTest { check(Short.MAX_VALUE, Int.MAX_VALUE, 0, Short.MAX_VALUE.toInt()) check(Short.MAX_VALUE, Int.MIN_VALUE, -1, Int.MIN_VALUE + Short.MAX_VALUE) + @Suppress("INTEGER_OPERATOR_RESOLVE_WILL_CHANGE") // KT-47729 check((-1).toShort(), 1.shl(30), -1, 1.shl(30) - 1) } diff --git a/libraries/stdlib/test/numbers/NumbersTest.kt b/libraries/stdlib/test/numbers/NumbersTest.kt index f55eb7f2b8e..f164a26a8a3 100644 --- a/libraries/stdlib/test/numbers/NumbersTest.kt +++ b/libraries/stdlib/test/numbers/NumbersTest.kt @@ -48,7 +48,7 @@ class NumbersTest { // overflow behavior expect(Int.MIN_VALUE) { Int.MAX_VALUE + one } expect(Int.MAX_VALUE) { Int.MIN_VALUE - one } - expect(Int.MIN_VALUE) { Int.MIN_VALUE / -1 } + expect(Int.MIN_VALUE) { Int.MIN_VALUE / -one } expect(0) { (Int.MIN_VALUE % -1) + 0 } // +0 is a workaround for KT-45620 } @@ -62,7 +62,7 @@ class NumbersTest { // overflow behavior expect(Long.MIN_VALUE) { Long.MAX_VALUE + one } expect(Long.MAX_VALUE) { Long.MIN_VALUE - one } - expect(Long.MIN_VALUE) { Long.MIN_VALUE / -1L } + expect(Long.MIN_VALUE) { Long.MIN_VALUE / -one } expect(0L) { Long.MIN_VALUE % -1L } } diff --git a/libraries/stdlib/test/utils/TODOTest.kt b/libraries/stdlib/test/utils/TODOTest.kt index c9bd8bb49ca..7dcccd7d208 100644 --- a/libraries/stdlib/test/utils/TODOTest.kt +++ b/libraries/stdlib/test/utils/TODOTest.kt @@ -10,6 +10,7 @@ import kotlin.test.* class TODOTest { private class PartiallyImplementedClass { public val prop: String get() = TODO() + @Suppress("UNREACHABLE_CODE", "CAST_NEVER_SUCCEEDS") fun method1() = TODO() as String @@ -20,6 +21,7 @@ class TODOTest { TODO("what if false") else { if (value.length < 3) + @Suppress("UNREACHABLE_CODE") throw TODO("write message") }