Exercism exercises in Uiua.
To test all exercises, run ./bin/verify-exercises
.
This command will iterate over all exercises and check to see if their exemplar/example implementation passes all the tests.
To test a single exercise, run ./bin/verify-exercises <exercise-slug>
.
If your track has a working test runner, the ./bin/verify-exercises-in-docker
script can also be used to test all exercises.
This script pulls (downloads) the test runner's Docker image and then uses Docker to run that image to test an exercise.
The main benefit of this approach is that it best mimics how exercises are tested in production (on the website).
Another benefit is that you don't have to install track-specific dependencies (e.g. an SDK) locally, you just need Docker installed.
To test a single exercise, run ./bin/verify-exercises-in-docker <exercise-slug>
.
configlet
is an Exercism-wide tool for working with tracks. You can download it by running:
$ ./bin/fetch-configlet
Run its lint
command to verify if exercises have the required files and if config files are correct:
$ ./bin/configlet lint
The lint command is under development.
Please re-run this command regularly to see if your track passes the latest linting rules.
Basic linting finished successfully:
- config.json exists and is valid JSON
- config.json has these valid fields:
language, slug, active, blurb, version, status, online_editor, key_features, tags
- Every concept has the required .md files
- Every concept has a valid links.json file
- Every concept has a valid .meta/config.json file
- Every concept exercise has the required .md files
- Every concept exercise has a valid .meta/config.json file
- Every practice exercise has the required .md files
- Every practice exercise has a valid .meta/config.json file
- Required track docs are present
- Required shared exercise docs are present
New (practice) exercises can be added via:
bin/add-practice-exercise <exercise-slug>
Optionally, you can also specify the exercise's difficulty (via -d
) and/or author's GitHub username (via -a
):
bin/add-practice-exercise -a foobar -d 3 <exercise-slug>