Unify the test suite
Brief Description
In the official test suite, we don't manage the tests for different versions of JSON Schema very well. Each time there's a new release, we make a copy of the previous version and make updates to that copy. Because of this, we have multiple copies of most of the tests and every time we need to add a new test, we usually have to add a copy in several places.
The annotations test suite takes a different approach. Tests have a compatibility property indicting which versions of JSON Schema the test applies to. That allows test runners to filter the tests to which one's apply to them.
The goal of this project is to collapse the per version validation tests into one test suite using a similar approach to the annotations test suite. This will allow us to manage tests in a single suite with no more copies of identical tests.
Expected Outcomes
- A single test suite for all versions of JSON Schema
- No more copies of tests
- Tests can be easily filtered by test runners to the ones that apply to them
- Update any scripts/action in the test suite repo to use the new suite
- Update bowtie to use the new suite
- Update bowtie implementation test runners to use the new suite
Skills Required
- Good attention to detail
- Ability to work in unfamiliar programming languages. (Updating bowtie implementation test runners.)
Mentors
@jdesrosiers and @Julian as co-mentor
Expected Difficulty
small
Expected Time Commitment
90 hours
Unify the test suite
Brief Description
In the official test suite, we don't manage the tests for different versions of JSON Schema very well. Each time there's a new release, we make a copy of the previous version and make updates to that copy. Because of this, we have multiple copies of most of the tests and every time we need to add a new test, we usually have to add a copy in several places.
The annotations test suite takes a different approach. Tests have a
compatibilityproperty indicting which versions of JSON Schema the test applies to. That allows test runners to filter the tests to which one's apply to them.The goal of this project is to collapse the per version validation tests into one test suite using a similar approach to the annotations test suite. This will allow us to manage tests in a single suite with no more copies of identical tests.
Expected Outcomes
Skills Required
Mentors
@jdesrosiers and @Julian as co-mentor
Expected Difficulty
small
Expected Time Commitment
90 hours
REQUIRED QUALIFICATION TASK
Anyone hoping to be selected for this project must complete this qualification task. Any proposals we receive who have not completed the qualification task will not be considered.
Qualification task submission will be accepted up until the proposal deadline
Candidates for this project should have experience writing a test harness for the official JSON Schema Test Suite. Having the experience of writing a test harness will provide you the perspective needed to design a new test system that will work for and benefit implementers.
Your task is to write a test harness for the annotation test suite for any JSON Schema implementation you choose that supports annotati…