|
2 | 2 |
|
3 | 3 | ## [v1.4](https://github.com/thewizardplusplus/go-code-runner/tree/v1.4) (2021-05-15) |
4 | 4 |
|
| 5 | +Refactoring, improving of the unit tests, and the few new minor features. |
| 6 | + |
| 7 | +- compiling of a code written in the Go programming language: |
| 8 | + - support for the running time management (via the Go context); |
| 9 | +- refactoring: |
| 10 | + - adding of the `systemutils` package: |
| 11 | + - adding of the `systemutils.SaveTemporaryText()` function; |
| 12 | + - adding of the `systemutils.RunCommand()` function: |
| 13 | + - adding of the unit tests; |
| 14 | + - improving of the `coderunner` package: |
| 15 | + - accepting of an allowed import set directly instead of building it automatically; |
| 16 | + - `coderunner.CompileCode()` function: |
| 17 | + - making optional of automatic importing of the packages used in the code; |
| 18 | + - improving of the unit tests; |
| 19 | + - improving of the `testrunner` package: |
| 20 | + - passing of a runner of a single test case as a dependency. |
| 21 | + |
| 22 | +### Features |
| 23 | + |
| 24 | +- saving of a code to a temporary file: |
| 25 | + - storing of the temporary file with the code to an individual temporary directory; |
| 26 | +- checking of package imports used in the code written in the Go programming language: |
| 27 | + - checking based on the set of allowed imports; |
| 28 | +- compiling of a code written in the Go programming language: |
| 29 | + - automatic importing of the packages used in the code (optionally); |
| 30 | + - checking of package imports used in the code (optionally): |
| 31 | + - checking based on the set of allowed imports; |
| 32 | + - enriching of an error of the external command running by an output from the stderr stream; |
| 33 | + - support for the running time management (via the Go context); |
| 34 | +- running of the compiled code (i.e. the executable file): |
| 35 | + - passing of a custom input as the stdin stream; |
| 36 | + - returning of an output from the stdout stream; |
| 37 | + - enriching of an error of the external command running by an output from the stderr stream; |
| 38 | + - support for the running time management (via the Go context); |
| 39 | +- running of a test case set for the compiled code (i.e. the executable file): |
| 40 | + - representation of a test case: |
| 41 | + - input; |
| 42 | + - expected output; |
| 43 | + - checking of an actual output in each test case: |
| 44 | + - returning of the [sentinel errors](https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully#sentinel%20errors): |
| 45 | + - failed running — it returns on a running error; |
| 46 | + - unexpected output — it returns when the expected and actual outputs do not match; |
| 47 | + - support for the running time management (via the Go context). |
| 48 | + |
5 | 49 | ## [v1.3](https://github.com/thewizardplusplus/go-code-runner/tree/v1.3) (2021-04-06) |
6 | 50 |
|
7 | 51 | Support for the running time management (via the Go context). |
|
0 commit comments