Raku / tap-harness6

A TAP harness for Raku
Artistic License 2.0
8 stars 15 forks source link

A couple of unfixed bugs #11

Closed zoffixznet closed 7 years ago

zoffixznet commented 7 years ago

FWIW there are several bugs in this module that causes "test out of order" issues when people install this module and use zef.

Those bugs are fixed in the TAP::Harness that comes with rakudo.

It was probably not the original intent to have it included with rakudo, but now we have a situation that we have two TAP::Harness'es in the ecosystem; one's broken, another one isn't.

How can we end up with all working; or just one harness in the ecosystem?

Leont commented 7 years ago

The original intention was not to have to have them diverge (other than a small intentional patch), but I've been mostly absent from perl6 in the past 12 months or so due to time issues.

Actually, that one intentional patch may be the cause of those issues, I'll look into it soon

It was probably not the original intent to have it included with rakudo, but now we have a situation that we have two TAP::Harness'es in the ecosystem; one's broken, another one isn't.

Including it in rakudo was intentional, as it's a major step towards being more self-hosting. perl6 doesn't really have much of a dual-life workflow yet though, the way perl5 has it.

Leont commented 7 years ago

They are now in sync again.

perl6 doesn't really have much of a dual-life workflow yet though, the way perl5 has it.

That need remains. Or possibly this repository should stop being public once it has been in rakudo long enough for zef to depend on it (dual-life is more work but better for end-users).

zoffixznet commented 7 years ago

this repository should stop being public once it has been in rakudo long enough

I much rather it gets removed from rakudo and this repository is used instead. This way we can make all the bugfixes without a need to re-release entire rakudo. I believe @jnthn wants that as well.

The user-facing distros of Perl 6, (Rakudo Star and upcoming Perl 6 VIP), can package it, for the self-hosting part of the plan.

for zef to depend on it

It already uses TAP::Harness to run tests by default. If this module is installed, it'll use that. If it isn't, it'll use the one that currently is packaged with Rakudo. And on pre 2016.05 Rakudos that don't package it, it'll fallback to use prove

lizmat commented 7 years ago

zoffixznet: how are we going to make HARNESS_TYPE=6 the default if Tap::Harness is not in the core distribution?

zoffixznet commented 7 years ago

@lizmat we add a step to make spectest that clones it from this repo, same as it clones roast from perl6/roast repo.

lizmat commented 7 years ago

Ah, ok, that makes sense.

Leont: is your worry that you will need to support this module into perpetuity? In that case, we could move it into perl6 organization repo ?

Leont commented 7 years ago

@lizmat we add a step to make spectest that clones it from this repo, same as it clones roast from perl6/roast repo.

I would be ok with such a solution.

is your worry that you will need to support this module into perpetuity? In that case, we could move it into perl6 organization repo ?

I'm not terribly worried, but such a move does sound sensible anyway (given rakudo will soon depend on it).

zoffixznet commented 7 years ago

Thanks!

I'll do the aforementioned changes to the Makefile and throw out rakudo's version during the upcoming release.