# 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:
```json
{
"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:
```json
{
"action": "add",
"a": 4,
"b": 5
}
```
Expected answer:
```json
{
"sum": 9
}
```
## Execution
TODO
## License
GNU-GPL 3.
Raw data
{
"_id": null,
"home_page": "https://github.com/johndoe31415/kartfire",
"name": "kartfire",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "testcase, runner, docker",
"author": "Johannes Bauer",
"author_email": "joe@johannes-bauer.com",
"download_url": "https://files.pythonhosted.org/packages/57/77/ee5fb3b17e71e451d7153f0abb10f98838e7ac8387afe8e70f6f34bf9f65/kartfire-0.0.6.tar.gz",
"platform": null,
"description": "# KArTFire\nkartfire is the \"Known-Answer-Testing Framework\". It is intended to run a\nnumber of student's solutions inside a well-defined, network-isolated runtime\nenvironment defined by a Docker container. The solutions can be\nprogramming-language agnostic (i.e., compiled and interpreted languages are\nsupported, depending on the target container) and it is intended to deal with a\nwide array of faulty solutions:\n\n * Solutions that do not produce any output or that produce unparsable output\n * Solutions that terminate with error codes\n * Solutions that consume unlimited memory\n * Solutions that do not terminate at all\n\n## Boundary conditions\nAny testcase is defined by a JSON file that has the following form:\n\n```json\n{\n\t\"action\": \"xyz\",\n\t...\n}\n```\n\nI.e., it needs to always be a dictionary that at least has an \"action\" key in\nthe top-level. The answer can be any valid JSON object. For example, these\nwould be valid testcases with their appropriate solutions:\n\n```json\n{\n\t\"action\": \"add\",\n\t\"a\": 4,\n\t\"b\": 5\n}\n```\n\nExpected answer:\n\n```json\n{\n\t\"sum\": 9\n}\n```\n\n## Execution\nTODO\n\n## License\nGNU-GPL 3.\n",
"bugtrack_url": null,
"license": "gpl-3.0",
"summary": "Toolkit to perform known-answer testing in Docker-isolated environments",
"version": "0.0.6",
"project_urls": {
"Download": "https://github.com/johndoe31415/kartfire/archive/v0.0.6.tar.gz",
"Homepage": "https://github.com/johndoe31415/kartfire"
},
"split_keywords": [
"testcase",
" runner",
" docker"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5777ee5fb3b17e71e451d7153f0abb10f98838e7ac8387afe8e70f6f34bf9f65",
"md5": "3f6532a0d0d3d2d9e474430f125b2096",
"sha256": "f74fd2a527848e7e6f1128ea47731f2b6699f1d6f6f170513770a05ac846b903"
},
"downloads": -1,
"filename": "kartfire-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "3f6532a0d0d3d2d9e474430f125b2096",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 35230,
"upload_time": "2024-10-27T12:31:57",
"upload_time_iso_8601": "2024-10-27T12:31:57.690696Z",
"url": "https://files.pythonhosted.org/packages/57/77/ee5fb3b17e71e451d7153f0abb10f98838e7ac8387afe8e70f6f34bf9f65/kartfire-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-27 12:31:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "johndoe31415",
"github_project": "kartfire",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "kartfire"
}