Skip to content

Commit 3d684eb

Browse files
Update the README.md file
1 parent d91c2af commit 3d684eb

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,35 @@
55
[![Build Status](https://travis-ci.org/thewizardplusplus/go-code-runner.svg?branch=master)](https://travis-ci.org/thewizardplusplus/go-code-runner)
66
[![codecov](https://codecov.io/gh/thewizardplusplus/go-code-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/thewizardplusplus/go-code-runner)
77

8+
The library that implements the compiling and running of a code written in the Go programming language and running of a test case set for the compiled code (i.e. the executable file).
9+
10+
## Features
11+
12+
- saving of a code to a temporary file:
13+
- storing of the temporary file with the code to an individual temporary directory;
14+
- checking of package imports used in the code written in the Go programming language:
15+
- checking based on the set of allowed imports;
16+
- compiling of a code written in the Go programming language:
17+
- automatic importing of the packages used in the code (optionally);
18+
- checking of package imports used in the code (optionally):
19+
- checking based on the set of allowed imports;
20+
- enriching of an error of the external command running by an output from the stderr stream;
21+
- support for the running time management (via the Go context);
22+
- running of the compiled code (i.e. the executable file):
23+
- passing of a custom input as the stdin stream;
24+
- returning of an output from the stdout stream;
25+
- enriching of an error of the external command running by an output from the stderr stream;
26+
- support for the running time management (via the Go context);
27+
- running of a test case set for the compiled code (i.e. the executable file):
28+
- representation of a test case:
29+
- input;
30+
- expected output;
31+
- checking of an actual output in each test case:
32+
- returning of the [sentinel errors](https://dave.cheney.net/2016/04/27/dont-just-check-errors-handle-them-gracefully#sentinel%20errors):
33+
- failed running — it returns on a running error;
34+
- unexpected output — it returns when the expected and actual outputs do not match;
35+
- support for the running time management (via the Go context).
36+
837
## Installation
938

1039
Prepare the directory:

0 commit comments

Comments
 (0)