Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use TAP::Harness directly #13

Open
Leont opened this issue Sep 6, 2022 · 2 comments
Open

Use TAP::Harness directly #13

Leont opened this issue Sep 6, 2022 · 2 comments
Labels
question Further information is requested

Comments

@Leont
Copy link

Leont commented Sep 6, 2022

Currently this is shelling out to prove6, but that's really not necessary. It can just use TAP::Harness directly to run the tests instead. This would also mean you can much more easily inject code into those tests, which may make the implementation of the coverage analysis easier.

@atroxaper
Copy link
Owner

I think, it will lead to incompatibility with some projects.

Firstly, users uses prove6. They configure the project for that. They can use some hack or an unusual nuance for that. Such things will not allow me to do what I want.

Then. Touching tests code is a dirty way. I assume that rococo need to be as less invasive, as possible. It is a clean way. What about easier coverage analysis -- it is not complicated now, I think :)

Then. If user what to use prove or some different way to test, then we will have to work exactly like now.

Finally, I do not see advantages of using TAP::Harness directly in general case. Probably, I'm wrong. @Leont would you describe the concrete advantages of your proposal?

@atroxaper atroxaper added the question Further information is requested label Nov 23, 2022
@Leont
Copy link
Author

Leont commented Dec 1, 2022

Firstly, users uses prove6. They configure the project for that. They can use some hack or an unusual nuance for that. Such things will not allow me to do what I want.

Then. Touching tests code is a dirty way. I assume that rococo need to be as less invasive, as possible. It is a clean way. What about easier coverage analysis -- it is not complicated now, I think :)

I don't think I understand what you're trying to say. prove6 is really just a CLI wrapper around TAP::Harness. Both mi6 and zef will already use TAP::Harness directly when available, why wouldn't rococo be able to do so as well?

Then. If user what to use prove or some different way to test, then we will have to work exactly like now.

I don't know why anyone would want to use prove (and I'm the maintainer of prove), but there's nothing that prevents you from keeping that as a fallback possible.

Finally, I do not see advantages of using TAP::Harness directly in general case. Probably, I'm wrong. @Leont would you describe the concrete advantages of your proposal?

It's a layer of indirection less, and allows for more control over how the test scripts are called.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants