Flexcover 0.50 released on Google Code
May 22, 2008 on 6:21 pm | In Flex, Programming | 8 CommentsFlexcover 0.50 is now available on Google Code. This version is a lot better than the previous release, which we called “experimental” for a reason!
There are two really enormous improvements in Flexcover 0.50:
Branch (or path) coverage: the new Flexcover compiler tracks all the conditions in your code that affect control flow, and counts how many times each condition has evaluated true or false. This is an extremely powerful feature, because it looks not only at what parts of your code run, but at why and how they run. It’s fair to say that without it, we wouldn’t have considered Flexcover to be a worthy coverage tool.
Simpler build process: Flexcover 0.11’s Ant-based build/launch process gave a lot of people a hard time. It’s been scrapped and the new approach is very simple: whenever you use the Flexcover modified SDK instead of a standard one, you automatically get coverage instrumentation and metadata. No Ant needed, and no special compiler options needed either. Finally, the Coverage Viewer is an installable AIR application that launches whenever you open a coverage metadata or report file.
Check out the release notes on Google code for all the gory details.
8 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Entries and comments feeds.
Valid XHTML and CSS.
All content copyright (c) 2006-2007 Joseph Berkovitz. All Rights Reserved.
Wow, this is a really useful tool. Provides a nicer interface than the default profiler. I was trying to use this on my project (its an AIR app). I ran into this nasty byte code verification error: (Can you help?)
verify global/vu.core.util::isNullOrEmptyString()
stack:
scope:
VerifyError: Error #1013: Cannot call OP_findproperty when scopeDepth is 0.
locals: global String?
0:debugfile “/Users/oconnell/hosted-services/dev/main/concerto/website/flex/concerto2;vu/core/util;isNullOrEmptyString.as”
stack:
scope:
locals: global String?
4:debugline 26
stack:
scope:
locals: global String?
6:findpropstrict coverage
(Note — this is now entered as Issue 8 — JB)
Comment by Ryan O'Connell — May 23, 2008 #
This does look cool :-)
I have 2 comments:
1. It would be great to have a SWF as well as an air application so that the results can be published in a nightly build (ala maven2)?
2. I have tried using 0.50 with my maven2 build environment and it creates a .cvm file but all the methods are at 0%, any clues why this might be?
Thanks,
Julian Payne
Visualization R&D
ILOG S.A. Sophia Antipolis, France
Comment by Julian Payne — June 12, 2008 #
Hi Julian –
#1: We are thinking about how to best publish results online, and I see your point about the SWF. It’s a great idea and I’ll look into it.
#2: when you open a .cvm file, all percentages will always be at 0% because you have not captured any data yet. Once the coverage viewer is open on a .cvm, you can run the instrumented program and flexcover will collect the coverage data from it. At that point you will see the percentages change on the fly.
Comment by joe — June 12, 2008 #
Joe,
I will certainly test any online publication system when you have it.
For your second point, what I am trying to do is to run the unit tests during my nightly builds (using a system similar to antennae by running the flash player and communicating the results via sockets). Is it possible to run the unit tests “offline” like this and save the results so that they can then be displayed in my maven site?
Thanks,
Julian
Comment by Julian Payne — June 12, 2008 #
Yes, it is possible to automate tests like this offline with flexcover-0.50 — it is a very important capability. In order to do so, you need to do the following:
1. start the CoverageViewer app from Ant and pass the .cvm file on the command line, plus the -output option to specify the .cvr file to which the report will be written.
2. have the unit tests call CoverageManager.exit() when they are done, rather than System.exit() or fscommand(”quit”). This ensures that all coverage data is flushed correctly before the program terminates.
Comment by joe — June 12, 2008 #
[...] (of Adobe Consulting) and Joe Berkovitz haven’t been resting on their laurels. With the release of FlexCover 0.50 a few months ago the Flash world finally has a decent code coverage tool. I’ve been using it [...]
Pingback by Code Coverage for ASUnit « ActionScribe — August 11, 2008 #
This looks like just what the doctor ordered. I am going to show this some developers we have using flex, thanks for the post.
Comment by James Setaro — August 14, 2008 #
[...] thanks to Joe Berkovitz and Alex Uhlmann for creating Flexcover and opening it to Google Code. With Flexcover, [...]
Pingback by Automation with Flexcover and FlexUnit | Allen Manning — March 2, 2009 #