51 Commits

Author SHA1 Message Date
Robert Tice
506f4d6afa Fixing lab io block regex to allow for blank input or blank output in a test case. 2019-03-26 09:38:24 -04:00
Robert Tice
4816baf252 Grabbing process output and comparing against known values for lab submission. 2019-03-25 16:27:56 -04:00
Robert Tice
0ec318391e Adding labs framework. Submit gets labs_io.txt from the frontend and uses that to drive test cases. TODO: need to figure out how to compare test case stdout with expected values to evaluate success. 2019-03-22 16:43:55 -04:00
Robert Tice
7cca6a37bd Changing DEBUG back to False in run.py. 2019-02-26 10:16:12 -05:00
Robert Tice
454cfa518a Adding functionality to allow command line arguments to be passed to executable. 2019-02-26 10:12:47 -05:00
Nicolas Setton
3024c55a46 Adjust regexp to know about underscores in identifiers
Fixes an issue where mains with underscores weren't considered
as mains.
2019-02-12 15:31:40 -05:00
Nicolas Setton
87cb9eb6ef Improve the heuristics to detect mains 2019-02-08 16:25:04 -05:00
Nicolas Setton
bb7bef7d56 Do not run if there is no main
Allows using the 'Run' button on packages, to have the
compiler validate them.
2019-02-08 13:37:39 -05:00
Nicolas Setton
6ca017238c Activate GNAT warnings when running Ada snippets 2019-02-07 11:41:24 -05:00
Nicolas Setton
36173c32ed Add process limits to the container 2019-02-06 15:01:42 -05:00
Nicolas Setton
0a9f16395b Add support for running C code 2019-02-06 14:36:05 -05:00
Nicolas Setton
5981b64dc5 Add support for preventing calls to 'system' in C 2019-02-06 14:35:45 -05:00
Nicolas Setton
d8362829d8 Implement the 'flow' and 'full' SPARK modes in the runner
Move the handling of extra args completely to the runner.
2019-02-04 19:41:21 -05:00
Nicolas Setton
513f947978 Implement and support the gnatprove mode
Factor some code in the runner.
2019-02-01 16:39:37 -05:00
Nicolas Setton
90e7cf1b07 Minor improvements to the handling of mains 2019-02-01 15:10:00 -05:00
Nicolas Setton
256712dfda Move the doctoring of .gpr / definition of main to the runner
One more step to simplify the handling being done at the
server level.
2019-01-25 11:24:40 -05:00
Nicolas Setton
b4a2e6403c Make runs under the 'unprivileged' user
Simplify the handling of timeouts.
2019-01-23 11:16:48 -05:00
Nicolas Setton
f82659d3cf Create a separate payload to run in the safecontainer
Part of the transition to running everything in the container.
Start a documentation section.
2019-01-22 13:14:05 -05:00
Nicolas Setton
b9dd32f5f3 Rework the way the safecontainer is created
Use two makefiles for this.
2019-01-11 11:32:30 -05:00
Nicolas Setton
6a24907d84 Add a step to cleanup the sessions on the container 2018-07-23 01:26:17 -04:00
Nicolas Setton
afd8a8e824 Protect a bit /var/tmp on the container 2018-07-23 01:25:49 -04:00
Nicolas Setton
e6c7c9ab91 Adjustments to session cleaner and container prep 2018-07-22 19:36:06 -04:00
Nicolas Setton
e7da13c482 Add a preloader mechanism to intercept fork() 2018-07-22 18:38:53 -04:00
Nicolas Setton
9bd1c0ec15 Add a script to prep a container for use 2018-07-20 01:08:29 -04:00
Nicolas Setton
8cb4282fd0 Add a soft limit to the number of running processes 2018-07-20 01:08:29 -04:00