I'd do the follwiing:
1. make a sub named shell to overwrite the existing one that calls .shell
on Proc.
2. make a class that inherits from Proc: class MyProc is Proc { }
3. Look at https://github.com/rakudo/rakudo/blob/nom/src/core/Proc.pm and
decide what methods you need to override to get the behaviour you want.
4. return a MyProc from your custom shell()
LL
On Tue, Feb 28, 2017 at 12:45 AM Brian Duggan <[email protected]> wrote:
> Hi perl6-users,
>
> Suppose I have a file like this:
>
> # module.pm
> sub hello is export {
> shell "echo hello world"
> }
>
> and another like this:
>
> # test.t
> use module;
> hello;
>
> I want to have 'hello' invoke a 'shell' that I write,
> rather than the real one, so that I can mock the
> behavior of a command. What would be the best way
> to do this?
>
> thanks
> Brian
>