# The Test Runner Interface
Test Runners have the single responsibility of taking a solution, running all tests and returning a standardized output.
All interactions with the Exercism website are handled automatically and are not part of this specification.
## Execution
- A Test Runner should provide an executable script. You can find more information in the [docker.md](/docs/building/tooling/test-runners/docker) file.
- The script will receive three parameters:
- The slug of the exercise (e.g. `two-fer`).
- A path to an input directory (with a trailing slash) containing the submitted solution file(s) and any other exercise file(s). This directory should be considered as read-only. It's technically possible to write into it but it's better to use `/tmp` for temporary files (e.g. for compiling sources).
- A path to an output directory (with a trailing slash). This directory is writable.
- The script must write a `results.json` file to the output directory.
- The runner must exit with an exit code of 0 if it has run successfully, regardless of the status of the tests.
### Allowed run time
The test runner gets 100% CPU with 3GB of memory for a 20 second window per solution.
Should be docker.md, not just docker , which 404s.
It seems that replacing the URL could work as seen if you go there directly .
1 Like
I’m not sure what you mean. Currently when viewing at docs/building/tooling/test-runners/interface.md at main · exercism/docs · GitHub if I click the link with anchor docker.md it tries to go to docker (sans .md) and 404s. I’m just proposing adding the .md to the actual link destination so that it doesn’t 404 anymore.
I understand.
These GitHub files are deployed as a browsable website (which is what I linked). Whatever changes proposed to the source material must still work when deployed and it seems that in this case it would if we apply what you propose.
Whilst people like you and I are more likely to use the GitHub source, the website ís the primary resource for all people using Exercism
Hope that clarifies it!
1 Like
Indeed! Thanks for your patience. I missed the beginning of your URL.
OK, glad (if I understand right) that this would be compatible with both GitHub and the deployed site. I hope it’s OK to PR, then:
exercism:main
← codingthat:patch-1
opened 08:34PM - 28 Jun 25 UTC
Works OK from the deployed site, but this way it works both there and in GitHub