Mercurial > hg > truffle
comparison truffle/com.oracle.truffle.tools.test/src/com/oracle/truffle/tools/test/CoverageTrackerTest.java @ 22219:1c0f490984d5
Merge with f47b601edbc626dcfe8b3636933b4834c89f7779
author | Michael Van De Vanter <michael.van.de.vanter@oracle.com> |
---|---|
date | Wed, 16 Sep 2015 15:36:22 -0700 |
parents | dc83cc1f94f2 3aad794eec0e |
children | 20380d1d41f2 |
comparison
equal
deleted
inserted
replaced
22160:0599e2df6a9f | 22219:1c0f490984d5 |
---|---|
22 * or visit www.oracle.com if you need additional information or have any | 22 * or visit www.oracle.com if you need additional information or have any |
23 * questions. | 23 * questions. |
24 */ | 24 */ |
25 package com.oracle.truffle.tools.test; | 25 package com.oracle.truffle.tools.test; |
26 | 26 |
27 import static com.oracle.truffle.tools.test.TestNodes.createExpr13TestRootNode; | |
28 import static org.junit.Assert.assertEquals; | |
29 import static org.junit.Assert.assertNotNull; | |
30 import static org.junit.Assert.assertNull; | |
31 import static org.junit.Assert.assertTrue; | |
32 | |
33 import org.junit.Test; | |
34 | |
35 import com.oracle.truffle.api.instrument.Instrumenter; | |
27 import com.oracle.truffle.api.instrument.Probe; | 36 import com.oracle.truffle.api.instrument.Probe; |
28 import com.oracle.truffle.api.instrument.StandardSyntaxTag; | 37 import com.oracle.truffle.api.instrument.StandardSyntaxTag; |
29 import com.oracle.truffle.api.nodes.Node; | 38 import com.oracle.truffle.api.nodes.Node; |
30 import com.oracle.truffle.api.nodes.RootNode; | 39 import com.oracle.truffle.api.nodes.RootNode; |
31 import com.oracle.truffle.tools.CoverageTracker; | 40 import com.oracle.truffle.tools.CoverageTracker; |
32 import static com.oracle.truffle.tools.test.TestNodes.createExpr13TestRootNode; | |
33 import static org.junit.Assert.assertEquals; | |
34 import static org.junit.Assert.assertNotNull; | |
35 import static org.junit.Assert.assertNull; | |
36 import static org.junit.Assert.assertTrue; | |
37 import org.junit.Test; | |
38 | 41 |
39 public class CoverageTrackerTest { | 42 public class CoverageTrackerTest { |
40 | 43 |
41 @Test | 44 @Test |
42 public void testNoExecution() { | 45 public void testNoExecution() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { |
46 final Instrumenter instrumenter = TestNodes.createInstrumenter(); | |
43 final CoverageTracker tool = new CoverageTracker(); | 47 final CoverageTracker tool = new CoverageTracker(); |
44 assertEquals(tool.getCounts().entrySet().size(), 0); | 48 assertEquals(tool.getCounts().entrySet().size(), 0); |
45 tool.install(); | 49 tool.install(instrumenter); |
46 assertEquals(tool.getCounts().entrySet().size(), 0); | 50 assertEquals(tool.getCounts().entrySet().size(), 0); |
47 tool.setEnabled(false); | 51 tool.setEnabled(false); |
48 assertEquals(tool.getCounts().entrySet().size(), 0); | 52 assertEquals(tool.getCounts().entrySet().size(), 0); |
49 tool.setEnabled(true); | 53 tool.setEnabled(true); |
50 assertEquals(tool.getCounts().entrySet().size(), 0); | 54 assertEquals(tool.getCounts().entrySet().size(), 0); |
53 tool.dispose(); | 57 tool.dispose(); |
54 assertEquals(tool.getCounts().entrySet().size(), 0); | 58 assertEquals(tool.getCounts().entrySet().size(), 0); |
55 } | 59 } |
56 | 60 |
57 @Test | 61 @Test |
58 public void testToolCreatedTooLate() { | 62 public void testToolCreatedTooLate() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { |
59 final RootNode expr13rootNode = createExpr13TestRootNode(); | 63 final Instrumenter instrumenter = TestNodes.createInstrumenter(); |
64 final RootNode expr13rootNode = TestNodes.createExpr13TestRootNode(instrumenter); | |
60 final CoverageTracker tool = new CoverageTracker(); | 65 final CoverageTracker tool = new CoverageTracker(); |
61 tool.install(); | 66 tool.install(instrumenter); |
62 assertEquals(13, expr13rootNode.execute(null)); | 67 assertEquals(13, expr13rootNode.execute(null)); |
63 assertTrue(tool.getCounts().isEmpty()); | 68 assertTrue(tool.getCounts().isEmpty()); |
64 tool.dispose(); | 69 tool.dispose(); |
65 } | 70 } |
66 | 71 |
67 @Test | 72 @Test |
68 public void testToolInstalledcTooLate() { | 73 public void testToolInstalledcTooLate() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { |
74 final Instrumenter instrumenter = TestNodes.createInstrumenter(); | |
69 final CoverageTracker tool = new CoverageTracker(); | 75 final CoverageTracker tool = new CoverageTracker(); |
70 final RootNode expr13rootNode = createExpr13TestRootNode(); | 76 final RootNode expr13rootNode = createExpr13TestRootNode(instrumenter); |
71 tool.install(); | 77 tool.install(instrumenter); |
72 assertEquals(13, expr13rootNode.execute(null)); | 78 assertEquals(13, expr13rootNode.execute(null)); |
73 assertTrue(tool.getCounts().isEmpty()); | 79 assertTrue(tool.getCounts().isEmpty()); |
74 tool.dispose(); | 80 tool.dispose(); |
75 } | 81 } |
76 | 82 |
77 @Test | 83 @Test |
78 public void testCountingCoverage() { | 84 public void testCountingCoverage() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { |
85 final Instrumenter instrumenter = TestNodes.createInstrumenter(); | |
79 final CoverageTracker tool = new CoverageTracker(); | 86 final CoverageTracker tool = new CoverageTracker(); |
80 tool.install(); | 87 tool.install(instrumenter); |
81 final RootNode expr13rootNode = createExpr13TestRootNode(); | 88 final RootNode expr13rootNode = createExpr13TestRootNode(instrumenter); |
82 | 89 |
83 // Not probed yet. | 90 // Not probed yet. |
84 assertEquals(13, expr13rootNode.execute(null)); | 91 assertEquals(13, expr13rootNode.execute(null)); |
85 assertTrue(tool.getCounts().isEmpty()); | 92 assertTrue(tool.getCounts().isEmpty()); |
86 | 93 |
87 final Node addNode = expr13rootNode.getChildren().iterator().next(); | 94 final Node addNode = expr13rootNode.getChildren().iterator().next(); |
88 final Probe probe = addNode.probe(); | 95 final Probe probe = instrumenter.probe(addNode); |
89 | 96 |
90 // Probed but not tagged yet. | 97 // Probed but not tagged yet. |
91 assertEquals(13, expr13rootNode.execute(null)); | 98 assertEquals(13, expr13rootNode.execute(null)); |
92 assertTrue(tool.getCounts().isEmpty()); | 99 assertTrue(tool.getCounts().isEmpty()); |
93 | 100 |