> On 3 May 2020, at 23:18, Evan Donahue <emdon...@gmail.com> wrote:
> 
> Hello,
> 
> I am returning to some work in Pharo after about ~2.5 years and reminding 
> myself of what I was working on before I got sidetracked. It appears 
> 
> I had mostly finished for release a dynamic contracts library for run time 
> type checking based on Racket's contract library.[1] However, it relied on 
> some hackery to interact well with the TestCoverage class, since both the 
> contract and the TestCoverage wanted to replace the method during the run of 
> a test. However, since it seems in Pharo 8 the TestCoverage class is no 
> longer present, this seems like a good time to re-evaluate the project before 
> I go in to see what needs to be patched up. I therefore have three questions:
> 
> 1) Are there now any existing libraries for dynamic contracts that I should 
> use instead of patching my old library?
> 
> 2) Is MetaLinks the preferred way to intercept messages, and if so can 
> someone point me to the repo (I can't seem to find it on Github)?
> 

The MetaLinks are in the release, no need to load anything.

> 3) If 2, does MetaLinks play well with whatever is the current TestCoverage 
> alternative that I assume still does some form of message interception, e.g. 
> will the test coverage function still work properly on a MetaLink'ed message, 
> or will that require further hackery (I discovered MetaLinks after the first 
> version, so I used the more basic message replacement apis)?
> 

The test Coverage was re-implemented with MataLink, see the method 
#collectCoverageFor: in TestRunner.

This means that it should compose nicely with any other #before or #after 
MetaLink, without any need to take special care.


        Marcus


Reply via email to