Thanks Maximiliano for your kind words. Regarding your particular menu entry, I guess I understand well how you did it. No need to share it with me then. Let us know how to adapt Hapao. We will improve it. For example, the small window popup at the bottom of the window is not that useful. We will fix this... Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. On Oct 6, 2014, at 12:49 PM, Maximiliano Taborda <mtaborda@gmail.com> wrote:
Hi Alexandre.
Perfect about the legends problem. Thanks.
And about the best way to exclude some methods, I don't know what it is. I use the world menu to run Hapao. In fact, I made a new entry in the world menu that fit with my needs, that is: - excludes all initialization methods, i.e. selectors named like #initialize* - excludes all the #new methods - excludes all methods that are defined in a protocol named as private, i.e. 'accessing - private' This new entry checks the coverage over a class/es hierarchy and, also, - run only the tests related to this hierarchy - not take into account the abstract methods when computing the covered percentage; if I have an abstract method without a concrete one implemented in all the subclasses, I have a design error, so my real problem is the absence of the concrete method and not the absence of the test.
If you are interested I leave you attached to this email the code related to this entry. Maybe is not the best way to implement what I need, but is a quickly one.
Congratulations for this tool, is great to easily visualize what portion of my model are not covered by tests.
Regards. Maximiliano
2014-10-05 22:27 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com>: Hi Maximiliano!
The legend problem is now fixed. Can you double check please?
What would be the best way to exclude some methods? This question slightly rephrased: how do you run Hapao? Programmatically or using the World menu?
Cheers, Alexandre
On Oct 2, 2014, at 11:34 PM, Maximiliano Taborda <mtaborda@gmail.com> wrote:
Hi Alexandre.
Yes, now it works. Thank you. But, the box with the legends don't show very well. Like in the attached image:
<RelativeDate.png>
And, a question. Is there a way to exclude some methods from the analysis? I have some class methods, used for initialize some singletons for example, that I do not want to be considered for coverage.
Regards. Maxi
2014-10-02 18:39 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com>: Hi!
Sorry, we somehow slightly messed up with the configurations. I just took the last Pharo 4.0, and loaded Roassal2:
-=-=-=-=-=-=-=-=-=-=-=-= Gofer new smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; package: 'ConfigurationOfRoassal2'; load. (Smalltalk at: #ConfigurationOfRoassal2) loadDevelopment -=-=-=-=-=-=-=-=-=-=-=-=
Then I loaded S2py: -=-=-=-=-=-=-=-=-=-=-=-= Gofer new smalltalkhubUser: 'ObjectProfile' project: 'S2py'; package: 'S2py'; load. -=-=-=-=-=-=-=-=-=-=-=-=
It works here. Can you confirm?
Sorry for having taken long to answer...
Cheers, Alexandre
On Sep 24, 2014, at 8:24 PM, Maximiliano Taborda <mtaborda@gmail.com> wrote:
Hi Alexandre,
I want to try Hapao2 to check the coverage level of Chalten, but it's not working (at least for me). I load Roassal2 and S2py in a fresh 3.0 image like you say and the new entries appear in the world menu, but the only option that partially works is the one for a particular class (Hapao @ Class ...) and after run all the tests (I see the progress showing that) a MNU is raised in the method #addMethodEdges:scope:view: of Hapa2 class because RTEdgeBuilder is not loaded.
So, could you tell me what I missed please? I need to load another thing, which?, at least the package which defines RTEdgeBuilder.
Thanks for your help.
Regards. Maxi
2014-09-16 20:10 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com>: Excellent!
Alexandre
Le 16-09-2014 à 16:15, Tudor Girba <tudor@tudorgirba.com> a écrit :
Great!
I will go over it more thoroughly in the following weeks and get back to you with feedback.
Cheers, Doru
On Tue, Sep 16, 2014 at 6:03 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote: Dear all,
We are happy to release Hapao2 for Pharo. Ricard Jacas and Alejandro Infante put quite some work on Spy2 (an über cool profiling framework for Pharo) and Hapao2. Hapao2 is about assessing the test coverage of your code and is a major revamp of Hapao1, which was presented a couple of years ago by Vanessa. Hapao2 does not only list covered and uncovered methods, as most test coverage tool on Earth will do. Hapao gives a great visualization to easily navigate in your code, assess its complexity, and give you a great visual output telling its coverage.
You need Roassal in your image:
Gofer new smalltalkhubUser: 'ObjectProfile' project: 'Roassal2'; package: 'ConfigurationOfRoassal2'; load. (Smalltalk at: #ConfigurationOfRoassal2) load
and you need S2py: MCHttpRepository location: 'http://smalltalkhub.com/mc/ObjectProfile/S2py/main' user: '' password: ''
New entries will appear in the world menu: <Screen Shot 2014-09-16 at 11.49.06 AM.png>
You can run the test coverage on : - the class classes you have modified, - on a particular - on a particular class category - on the last class categories you have modified - on the last packages you have modified
Here is a portion of a large coverage:
<Screen Shot 2014-09-16 at 12.00.11 PM.png>
A technical description of Hapao may be found on http://bergel.eu/download/papers/Berg12c-HapaoSCP.pdf
We are daily using Hapao to help us understand our tests.
Cheers, Ricardo, Alejandro & Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Every thing has its own flow"
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
<S2py-MaximilianoTaborda.73.mcz>