Skip to content

Commit 53748bb

Browse files
committed
Fix transiently failing test (GR-68476)
1 parent 8d41804 commit 53748bb

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

truffle/src/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/polyglot/ThreadInitializationAndDisposalTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@
4040
*/
4141
package com.oracle.truffle.api.test.polyglot;
4242

43+
import java.lang.ref.Reference;
4344
import java.time.Duration;
4445
import java.util.concurrent.atomic.AtomicLong;
4546

46-
import com.oracle.truffle.api.test.ThreadUtils;
4747
import org.graalvm.polyglot.Context;
4848
import org.graalvm.polyglot.Engine;
4949
import org.junit.Assert;
@@ -56,6 +56,7 @@
5656
import com.oracle.truffle.api.interop.UnsupportedMessageException;
5757
import com.oracle.truffle.api.interop.UnsupportedTypeException;
5858
import com.oracle.truffle.api.nodes.RootNode;
59+
import com.oracle.truffle.api.test.ThreadUtils;
5960
import com.oracle.truffle.api.test.common.AbstractExecutableTestLanguage;
6061
import com.oracle.truffle.api.test.common.TestUtils;
6162

@@ -176,6 +177,9 @@ public void testDeadThreadDisposed() throws InterruptedException {
176177
Assert.assertEquals(threadId.get() + "," + mainThreadId, context.getBindings(DeadThreadDisposedTestLanguage.ID).getMember("initialized").asString());
177178
Assert.assertEquals(String.valueOf(threadId.get()), context.getBindings(DeadThreadDisposedTestLanguage.ID).getMember("finalized").asString());
178179
Assert.assertEquals(String.valueOf(threadId.get()), context.getBindings(DeadThreadDisposedTestLanguage.ID).getMember("disposed").asString());
180+
181+
// the thread needs to stay alive during the test
182+
Reference.reachabilityFence(t);
179183
}
180184
}
181185
}

0 commit comments

Comments
 (0)