Do not require freezing for Worker.executeAfter on experimental MM

This commit is contained in:
Alexander Shabalin
2021-06-22 16:12:55 +03:00
committed by Space
parent 16e9c74523
commit cc71069a3a
3 changed files with 16 additions and 6 deletions
@@ -949,7 +949,11 @@ task worker8(type: KonanLocalTest) {
task worker9(type: KonanLocalTest) {
enabled = (project.testTarget != 'wasm32') // Workers need pthreads.
goldValue = "zzz\n42\nOK\nfirst 2\nsecond 3\nfrozen OK\n"
if (isExperimentalMM) {
goldValue = "zzz\n42\nOK\nfirst 2\nsecond 3\nunfrozen OK\nfrozen OK\n"
} else {
goldValue = "zzz\n42\nOK\nfirst 2\nsecond 3\nfrozen OK\n"
}
source = "runtime/workers/worker9.kt"
}
@@ -43,9 +43,15 @@ fun withLock(op: () -> Unit) {
@Test fun runTest3() {
val worker = Worker.start()
assertFailsWith<IllegalStateException> {
if (Platform.memoryModel == MemoryModel.EXPERIMENTAL) {
worker.executeAfter {
println("shall not happen")
println("unfrozen OK")
}
} else {
assertFailsWith<IllegalStateException> {
worker.executeAfter {
println("shall not happen")
}
}
}
assertFailsWith<IllegalArgumentException> {
@@ -81,4 +87,4 @@ fun makeCyclic(): Node {
}
assert(future.result != null)
worker.requestTermination().result
}
}