Robert Tice
6397dd9301
Refactoring some redundancies.
2019-04-01 12:17:07 -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
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
f987815443
Change the ownership of files on container to the runner id
2019-02-01 15:10:16 -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
b86557832e
Restrict the use of Pragma Interface
2018-07-23 01:26:36 -04:00
Nicolas Setton
d3959e2ec6
Solidify the .adc mechanism and add protections
...
Make the .adc systematic, and add protection against
pragma Import and the use of machine code.
2018-07-22 18:51:13 -04:00
Nicolas Setton
a14d864f8e
Add size limit to files we accept to process
2018-07-22 12:17:37 -04:00
Nicolas Setton
8cb4282fd0
Add a soft limit to the number of running processes
2018-07-20 01:08:29 -04:00
Nicolas Setton
a2f77fed9f
Remove some obsolete comments and bits
2018-07-16 17:57:02 -04:00
Nicolas Setton
e4c668a9c5
Add support for sandboxing the executables
...
This relies on an lxc container
2018-07-09 14:35:43 -04:00
Nicolas Setton
ea3a7fc6e7
Add an "universal" spec
...
Needed to be able to run all combinations of inlined widgets:
with or without SPARK, and with or without main.
2018-06-20 14:28:30 -04:00
Nicolas Setton
38166ae13a
Run SPARK with --level=0 --no-axiom-guard
2018-06-18 14:01:25 -04:00
Nicolas Setton
65b5629234
R525-028 Add features for the SPARK course
...
Add the ability to pass extra arguments to the prover.
2018-06-05 20:07:47 -04:00
Nicolas Setton
087206674b
R525-028 Factor out code
...
Provision for allowing both "prove" and "run" buttons
on some examples.
2018-06-05 19:35:14 -04:00
Nicolas Setton
317c180aee
R525-028 Add support for editors with just a 'Run' button
...
Enable the running backend (in completely unsafe mode for now)
Code cleanup in editors.js.
For inline editors, do not require an AJAX request to get the
example base, assume everything is provided inline.
Add support for providing shadow files: these will not be displayed
in editors but will be transmitted to the backend.
2018-06-05 12:54:01 -04:00
Nicolas Setton
faef8ee40f
R525-028 call gnatprove 2018 with --checks-as-errors
...
Otherwise it reports success even when there are check errors.
2018-06-02 13:28:23 -04:00
Nicolas Setton
c9ca24e99d
Use Django directly to set the Allow-Access-Control-Origin
...
Since the cors plugin seems to only set it when an origin
header is passed to the request, which Chrome does not do.
2017-10-10 15:53:04 -04:00
Nicolas Setton
85bb873d17
Add the possibility to run programs
...
This is deactivated for now.:
2017-10-10 12:01:19 -04:00
Nicolas Setton
291b6052be
Support several server instances
...
To do this, we can no longer rely on in-memory sharing of data: instead,
use the filesystem to store the output and status of the running
processes.
2017-09-11 15:47:46 -04:00
Nicolas Setton
52ce097894
Improve error reporting
2017-09-11 11:40:12 -04:00
Nicolas Setton
97d0ff0fb7
Minor UI improvements
...
Fiddle with spacing, margin, fonts.
Improve the display of errors.
Add framework for launching several processes in succession.
2017-09-07 16:18:37 -04:00