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

Allow compliance testing of implementations #148

Open
thomaseizinger opened this issue Nov 11, 2022 · 2 comments
Open

Allow compliance testing of implementations #148

thomaseizinger opened this issue Nov 11, 2022 · 2 comments

Comments

@thomaseizinger
Copy link
Contributor

It would be good if we can offer an easy way for people to integration test that their implementations are working correctly.

I'd propose to add a test suite and a GitHub action to this repository that allows implementations to easily verify whether they are compliant.

Concretely, I am thinking of specifying a simple stdin/stdout protocol where the implementations need to provide an application that reads from stdin (each line representing a test case), exiting with an appropriate exit code.

For example:

/path/to/implementation parse-valid-str
> /ip4/127.0.0.1/tcp/1234
< exit 0
/path/to/implementation parse-invalid-str
> /foobar/1234
< exit 0
/path/to/implementation parse-valid-hex
> 047f000001910204d2
> exit 0

By providing a GitHub action, we can make sure that changes to the table (as long as accompanied with a test) are run against new implementations (assuming they run their CI regularly).

Thoughts?

@marten-seemann
Copy link
Contributor

What's the motivation behind this? More test coverage is always good, but I haven't seen a lot of problems in this part of the stack.

@thomaseizinger
Copy link
Contributor Author

What's the motivation behind this? More test coverage is always good, but I haven't seen a lot of problems in this part of the stack.

The idea was sparked by the possible breaking change of renaming the /quic codepoint.

I don't see it as a high priority item.

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

No branches or pull requests

2 participants