@Before public void setUp() { MockitoAnnotations.initMocks(this); CodeCoverageStore.init(this.invokeQueue); CodeCoverageStore.reset(); this.classId = CodeCoverageStore.registerClass("foo"); this.testee = new CoverageClassVisitor(this.classId, this.w); }
@Test public void shouldRegisterProbesWithCodeCoverageStore() { this.testee.registerProbes(6); this.testee.visitEnd(); CodeCoverageStore.visitProbes(this.classId, 0, new boolean[] { false, false, true, false, false, false, false }); assertEquals(Arrays.asList(CodeCoverageStore.encode(this.classId, 2)), CodeCoverageStore.getHits()); }
final List<Block> blocks = findRequriedProbeLocations(); this.parent.registerProbes(blocks.size()); final int blockCount = blocks.size(); CodeCoverageStore.registerMethod(this.classId, this.name, this.desc,
final List<Block> blocks = findRequriedProbeLocations(); this.parent.registerProbes(blocks.size()); final int blockCount = blocks.size(); CodeCoverageStore.registerMethod(this.classId, this.name, this.desc,
private byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), this.computeCache, FrameOptions.pickFlags(classfileBuffer)); final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }
private static byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), COMPUTE_CACHE, FrameOptions.pickFlags(classfileBuffer)); // The transformed classes will be given a different id than the one already loaded. // Not clear if this is desirable or not. At the point of writing this comment // pitest will merge coverage of all classes with the same fully qualified name. // If this changes this might become a bug, however it would also probably not be possible // to support powermock if this assumption changed, so this code would most likely be deleted. final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }
private byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), this.computeCache, FrameOptions.pickFlags(classfileBuffer)); final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }
private static byte[] transformBytes(final ClassLoader loader, final String className, final byte[] classfileBuffer) { final ClassReader reader = new ClassReader(classfileBuffer); final ClassWriter writer = new ComputeClassWriter( new ClassloaderByteArraySource(loader), COMPUTE_CACHE, FrameOptions.pickFlags(classfileBuffer)); // The transformed classes will be given a different id than the one already loaded. // Not clear if this is desirable or not. At the point of writing this comment // pitest will merge coverage of all classes with the same fully qualified name. // If this changes this might become a bug, however it would also probably not be possible // to support powermock if this assumption changed, so this code would most likely be deleted. final int id = CodeCoverageStore.registerClass(className); reader.accept(new CoverageClassVisitor(id, writer), ClassReader.EXPAND_FRAMES); return writer.toByteArray(); }