World Conquest Chronicles

World Conquest Chronicles

go-code-runner, v1.3

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).

Support for the running time management (via the Go context).

Change Log

  • running of the compiled code (i.e. the executable file):
    • support for the running time management (via the Go context);
  • running of a test case set for the compiled code (i.e. the executable file):
    • support for the running time management (via the Go context).

Features

  • saving of a code to a temporary file:
    • storing of the temporary file with the code to an individual temporary directory;
  • checking of package imports used in the code written in the Go programming language:
    • checking based on the list of allowed imports;
  • compiling of a code written in the Go programming language:
    • automatic importing of the packages used in the code;
    • checking of package imports used in the code (optionally):
      • checking based on the list of allowed imports;
    • enriching of an error of the external command running by an output from the stderr stream;
  • running of the compiled code (i.e. the executable file):
    • passing of a custom input as the stdin stream;
    • returning of an output from the stdout stream;
    • enriching of an error of the external command running by an output from the stderr stream;
    • support for the running time management (via the Go context);
  • running of a test case set for the compiled code (i.e. the executable file):
    • representation of a test case:
      • input;
      • expected output;
    • checking of an actual output in each test case:
      • returning of the sentinel errors:
        • failed running — it returns on a running error;
        • unexpected output — it returns when the expected and actual outputs do not match;
    • support for the running time management (via the Go context).

Repository

Link: https://github.com/thewizardplusplus/go-code-runner/tree/v1.3.

Content: code.

License: MIT.