diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-11-01 18:34:29 +0100 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2016-11-22 01:35:07 +0100 |
commit | 6a455fe6da5ff9c741d91279a2dc6fe2fb1b472f (patch) | |
tree | fe7729ddb03a84728687d5a3068f520b0bc1c297 /test/dotty/tools/ContextEscapeDetection.java | |
parent | b3855424280a821601f126b6b4c6a731b72540ea (diff) | |
download | dotty-6a455fe6da5ff9c741d91279a2dc6fe2fb1b472f.tar.gz dotty-6a455fe6da5ff9c741d91279a2dc6fe2fb1b472f.tar.bz2 dotty-6a455fe6da5ff9c741d91279a2dc6fe2fb1b472f.zip |
Move (most) unit tests to correct locations
Should still perhaps move `test/dotc/tests.scala` and the others in the
same directory to a better more cohesive location. Would like to delete
the worksheets as well - but maybe they hold sentimental value...
Diffstat (limited to 'test/dotty/tools/ContextEscapeDetection.java')
-rw-r--r-- | test/dotty/tools/ContextEscapeDetection.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/dotty/tools/ContextEscapeDetection.java b/test/dotty/tools/ContextEscapeDetection.java new file mode 100644 index 000000000..6a47de5c6 --- /dev/null +++ b/test/dotty/tools/ContextEscapeDetection.java @@ -0,0 +1,36 @@ +package dotty.tools; + +import dotty.tools.dotc.core.Contexts; +import org.junit.*; + +import java.lang.ref.WeakReference; +import java.util.LinkedList; +import java.util.List; + +public abstract class ContextEscapeDetection { + public static class TestContext{ + public TestContext(WeakReference<Contexts.Context> context, String testName) { + this.context = context; + this.testName = testName; + } + + public final WeakReference<Contexts.Context> context; + public final String testName; + + } + public static final List<TestContext> contexts = new LinkedList<TestContext>(); + + public abstract Contexts.Context getCtx(); + + public abstract void clearCtx(); + + @Before + public synchronized void stealContext() { + contexts.add(new TestContext(new WeakReference<Contexts.Context>(this.getCtx()), this.getClass().getName())); + } + + @After + public synchronized void clearContext() { + this.clearCtx(); + } +} |