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

Incorporating and merging with the compliance test suite #130

Open
gregsdennis opened this issue Jan 18, 2023 · 3 comments
Open

Incorporating and merging with the compliance test suite #130

gregsdennis opened this issue Jan 18, 2023 · 3 comments

Comments

@gregsdennis
Copy link
Collaborator

Both this project and the CTS have a lot of useful test cases. I think it would be ideal to maintain these in a single place.

To that end, I'd like to propose merging the CTS test cases into this project. This project seems to be ideal because it already contains test harnesses for many well-known implementations.

To do this, I'd like to add some properties to the test cases to indicate what the spec says:

  • spec-valid - A boolean that determines whether the path is valid (can be parsed) according to the spec. There are a number of test cases in the CTS to ensure that the implementation returns an error when it should.
  • spec-result - The expected result as defined by the spec. I think it's still valuable to collect consensus results as well.

There may be more needed, but this is what I can think of so far.

@gregsdennis
Copy link
Collaborator Author

Related to #127

@glyn
Copy link
Collaborator

glyn commented Jan 19, 2023

@gregsdennis If the CTS test cases were merged into this project, would the CTS project still be maintained separately? I don't think every implementor will want to add their implementation to this project (e.g. if it is closed source) just to find out if it passes the CTS.

@gregsdennis
Copy link
Collaborator Author

gregsdennis commented Jan 24, 2023

would the CTS project still be maintained separately?

No, that project could be retired.

I don't think every implementor will want to add their implementation to this project (e.g. if it is closed source) just to find out if it passes the CTS.

There's no requirement to add an implementation to the comparison to see if it passes the CTS. The "CTS" portion of the project is really just a list of test cases and expected results, just like the current CTS. It could still be run privately.


Benefits of doing this are (not limited to):

  • we maintain the test cases in one place
  • there are a lot of spec-invalid test cases in this project that are useful
  • we get to see how closely (these) implementations align with the spec
  • those implemnetations which have been implemented here get a free CTS implementation and report

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