exercism / exercism/swift-test-runner

Upgrade to version 2 spec

Open
#19 0 comments 0 reactions 0 assignees View on GitHub
x:action/improve x:knowledge/advanced x:module/test-runner x:size/large x:type/coding
Dominant language
Swift
Stars
0
Forks
11
PR merge metrics
No merged PRs in 30d

Description

We've recently updated the [test runner interface specification](https://github.com/exercism/docs/blob/main/building/tooling/test-runners/interface.md) to allow for two types of test runners, identified via a new `version` property in the `results.json` file (see [the spec for the version property](https://github.com/exercism/docs/blob/main/building/tooling/test-runners/interface.md#version)):

1. `version: 1` test runners are quite basic, and only detect if either all tests passed or not. These test runners capture the console output of the test runner and output that. They do _not_ include details on individual tests passing/failing
2. `version: 2` test runners contain detailed information on individual tests passing/failing. We've recently added a required field named `test_code`, which contains the code the test ran to verify the behavior (see [the spec for the test_code property](https://github.com/exercism/docs/blob/main/building/tooling/test-runners/interface.md#test-code)).

The test runner's output is currently what I refer to as version 1.5: it contains the individual test information, but does not yet contain the `test_code` key. If possible, the test runner should be updated to also include the test code, in which case the `version` property should also be added with `2` as its value.

You are completely free on how you want to extract the test code, either via the AST or via finding the test code in the source code text via string manipulation.

Let me know if there are any questions.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.