Hi All,

    I'm in touch with Lukas on this but have no time to address it right now.  worry not :)

On Mon, Jul 11, 2011 at 3:05 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
 
Maybe cc'ing VM mailing list can help.

On Fri, Jul 1, 2011 at 9:32 AM, Lukas Renggli <renggli@gmail.com> wrote:
Hi Eliot,

I am using one of the latest VMs from your site (VM.r2434) and I
continue to have subtle problems with objects as methods (#flushCache,
#run:with:in:).

The issue is that the test coverage in Pharo is kind of broken on Cog
for a long time already. It reports methods as not covered that are
clearly covered, and tests seem to randomly fail.

I suspected that there is something wrong with the coverage code
itself. So I started to experiment with TestCoverage>>flushCache and
noticed that the current implementation

   TestCoverage>>flushCache
       self reference methodSymbol flushCache

performs not that well: The set of not covered methods is wrong and
many tests suddenly fail. If I replace it with

   TestCoverage>>flushCache
       self reference actualClass flushCache

I actually get accurate coverage information, but there are still a
few tests constantly failing. I tried to use all possible combinations
of #flushCache (also calling it on the compiled method), but only
flushing the cache on the class seems to work properly. So far so
good, but I really wonder what the correct way is to flush the cache?
:-)

For my experiments I was using the package 'AST-Tests-Semantics'. This
is a small package with lots of test methods that cover each method
but one (RBSemanticAnnotationMisssing>>#isResumable). Now the "real"
problem is that when running these tests in coverage mode, the same 4
tests always fail:

    RBSemanticTest>>testBlockScope
    RBSemanticTest>>testCascadeReceiver
    RBSemanticTest>>testClassVariableBinding
    RBSemanticTest>>testGlobalVariableBinding

Not sure of how to debug that? Do you have an idea why these otherwise
passing tests suddenly fail? If you want to try to reproduce you can
use any Pharo image with the tests loaded, or use those that I used:

    http://jenkins.lukas-renggli.ch/job/Development/lastSuccessfulBuild/artifact/omnibrowser-tests/omnibrowser-tests.changes
    http://jenkins.lukas-renggli.ch/job/Development/lastSuccessfulBuild/artifact/omnibrowser-tests/omnibrowser-tests.image

Open the Test Runner, select 'AST-Tests-Semantics' and 'Run Coverage'.

Any help or clarification would be appreciated :-)

Lukas

--
Lukas Renggli
www.lukas-renggli.ch




--
Mariano
http://marianopeck.wordpress.com





--
best,
Eliot