From bf1c9774aac82cf5a3a15399fcd878782d702041 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Mon, 26 Jun 2023 03:09:14 +0300 Subject: [PATCH] Fix the ConcurrentModification test that fails in jdk9+ Modification registration seems to changed in Java 9. Now if the asked capacity in `ensureCapacity` function is less than current capacity, no modification is registered. --- .../stdlib/native-wasm/src/kotlin/collections/ArrayList.kt | 2 +- libraries/stdlib/test/collections/ConcurrentModificationTest.kt | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/libraries/stdlib/native-wasm/src/kotlin/collections/ArrayList.kt b/libraries/stdlib/native-wasm/src/kotlin/collections/ArrayList.kt index 047b72ae172..82b6debfe6e 100644 --- a/libraries/stdlib/native-wasm/src/kotlin/collections/ArrayList.kt +++ b/libraries/stdlib/native-wasm/src/kotlin/collections/ArrayList.kt @@ -167,8 +167,8 @@ actual class ArrayList private constructor( final actual fun ensureCapacity(minCapacity: Int) { if (backingList != null) throw IllegalStateException() // just in case somebody casts subList to ArrayList - registerModification() if (minCapacity <= backingArray.size) return + registerModification() ensureCapacityInternal(minCapacity) } diff --git a/libraries/stdlib/test/collections/ConcurrentModificationTest.kt b/libraries/stdlib/test/collections/ConcurrentModificationTest.kt index ec33bfeafa0..252cf843777 100644 --- a/libraries/stdlib/test/collections/ConcurrentModificationTest.kt +++ b/libraries/stdlib/test/collections/ConcurrentModificationTest.kt @@ -139,8 +139,6 @@ class ConcurrentModificationTest { val operations = listOf>>( CollectionOperation("trimToSize()") { trimToSize() }, CollectionOperation("ensureCapacity(minCapacity > capacity)") { ensureCapacity(100) }, - CollectionOperation("ensureCapacity(minCapacity < capacity)") { ensureCapacity(1) }, - CollectionOperation("ensureCapacity(minCapacity == size)") { ensureCapacity(size) }, ) fun testThrowsCME(withArrayList: WithCollection>) {