KArTFire
kartfire is the "Known-Answer-Testing Framework". It is intended to run a number of student's solutions inside a well-defined, network-isolated runtime environment defined by a Docker container. The solutions can be programming-language agnostic (i.e., compiled and interpreted languages are supported, depending on the target container) and it is intended to deal with a wide array of faulty solutions:
- Solutions that do not produce any output or that produce unparsable output
- Solutions that terminate with error codes
- Solutions that consume unlimited memory
- Solutions that do not terminate at all
Boundary conditions
Any testcase is defined by a JSON file that has the following form:
{
"action": "xyz",
...
}
I.e., it needs to always be a dictionary that at least has an "action" key in the top-level. The answer can be any valid JSON object. For example, these would be valid testcases with their appropriate solutions:
{
"action": "add",
"a": 4,
"b": 5
}
Expected answer:
{
"sum": 9
}
Execution
TODO
License
GNU-GPL 3.
Metadata
Release files for kartfire 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kartfire-0.0.6.tar.gz | 35.2 kB | Details |
Release files / kartfire-0.0.6.tar.gz
| Download URL | kartfire-0.0.6.tar.gz |
|---|---|
| Size | 35.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f74fd2a527848e7e6f1128ea47731f2b6699f1d6f6f170513770a05ac846b903
|
|
BLAKE2b-256 checksum How to use checksums |
5777ee5fb3b17e71e451d7153f0abb10f98838e7ac8387afe8e70f6f34bf9f65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.3
|