Awesome, thanks for the effort Marcus! I was wondering if it would be useful to use matrix-testing for MetaLinks. I imagine having example methods which employ all features of the Smalltalk syntax (syntax on a postcard?), for which all intermediate results of expressions are known, then apply MetaLinks in all possible combinations (arguments x control) and check the reifications and side-effects against the oracle. Then the tests would generate a matrix of which combinations work and which don't. This should cover most of the possible executions. Cheers, Manuel
On 28 Nov 2018, at 11:55, Marcus Denker <marcus.denker@inria.fr> wrote:
iii) How are cascaded message sends reified? Am I supposed to instrument the cascade node or the individual message sends?
https://pharo.fogbugz.com/f/cases/22702/support-before-after-intead-on-RBCas... <https://pharo.fogbugz.com/f/cases/22702/support-before-after-intead-on-RBCas...>
It turns out this is just not implemented. Single message sends *inside* should work (as it calls the same code as a normal send to emit code). But even that needs tests.
Cascade itself needs some code for links, then it will be easy to add reifications for #receiver and #value (and #operation).
Done:
https://github.com/pharo-project/pharo/pull/2018 <https://github.com/pharo-project/pharo/pull/2018>
Marcus