GSoC 2026

994

GSoC 2026 - Unify the test suite

Labels: gsoc, Status: Accepted

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

Command Palette

Search for a command to run...