[K/N][Tests] Migrate framework and objcexport tests

^KT-61259
This commit is contained in:
Vladimir Sukharev
2024-01-22 20:12:14 +01:00
committed by Space Team
parent f00a145dd7
commit 025771460c
136 changed files with 698 additions and 416 deletions
@@ -0,0 +1,24 @@
@file:OptIn(kotlin.ExperimentalStdlibApi::class)
import kotlin.native.internal.GC
import kotlin.native.internal.isPermanent
import kotlin.test.*
private var _counter = 0
object Permanent {
var counter
get() = _counter
set(value) {
_counter = value
}
}
fun assertIsPermanent() {
assertTrue(Permanent.isPermanent())
}
fun stableRefsCount(): Long {
GC.collect()
return GC.lastGCInfo!!.rootSet.stableReferences
}
@@ -0,0 +1,24 @@
import PermanentObjects
func testPermanentObjects() throws {
PermanentObjects.PermanentObjectsKt.assertIsPermanent()
let stableRefsBefore = PermanentObjects.PermanentObjectsKt.stableRefsCount()
autoreleasepool {
for i in 0..<1000 {
PermanentObjects.Permanent().counter += 1
}
}
let stableRefsAfter = PermanentObjects.PermanentObjectsKt.stableRefsCount()
try assertEquals(actual: PermanentObjects.Permanent().counter, expected: 1000)
try assertEquals(actual: stableRefsAfter, expected: stableRefsBefore)
}
// -------- Execution of the test --------
class PermanentObjectsTests : SimpleTestProvider {
override init() {
super.init()
test("permanentObjects", testPermanentObjects)
}
}