[K/N][Tests] Migrate framework and objcexport tests
^KT-61259
This commit is contained in:
committed by
Space Team
parent
f00a145dd7
commit
025771460c
@@ -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
|
||||
}
|
||||
+24
@@ -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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user