Bringing your track in line with the latest changes to Problem Specifications #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We're in the process of re-opening the Problem Specifications repo, as discussed in this issue.
This PR adds
.meta/tests.toml
files for all exercises for which canonical data is defined in the Problem Specifications repo.We'll now discuss why we're making this change.
Keeping track of implemented tests
While most of the changes to the Problem Specifications repo are specific to that repo, there is one track-specific change:
In this case, the track has chosen to implement two of the three available tests.
If a track uses a test generator to generate an exercise's test suite, it must use the contents of the
tests.toml
file to determine which tests to include in the generated test suite.Tooling
To make it easy to keep the
tests.toml
up to date, tracks can use thecanonical_data_syncer
application.This application is a small, standalone binary that will compare the tests specified in the
tests.toml
files against the tests that are defined in the exercise's canonical data.It then interactively gives the maintainer the option to include or exclude test cases that are currently missing, updating the
tests.toml
file accordingly.To use the canonical data syncer tool, tracks should copying the
fetch-canonical_data_syncer
and/orfetch-canonical_data_syncer.ps1
scripts into their repository.Then, running either of these scripts will download the latest version of the tool to the track's
bin
directory.The tool can be run using
./bin/canonical_data_syncer
or.\bin\canonical_data_syncer.exe
, depending on your operating system.Changes
In this PR, we're adding
meta/tests.toml
files for all the exercises for which canonical data is defined.We've initially marked all tests as included, which means that we'll assume that your track has implemented those tests.
If there isn't anything obviously wrong with the PR, I would suggest to merge this PR first, and then later on update the
meta/tests.toml
files according to your track's actual implementation.