byuimpact/grader — pull request #1 by insertinterestingnamehere (2014-03-13 02:04:17+00:00)
Title: Initial attempts

Here are a few working initial attempts. I suspect that the `grade_imp.py` script is closest to what we want at the moment. I did include my original version because it could still be a valuable approach.
The most relevant test files are the ones for the linesweep lab.

The file `linesweep_test_both.py` shows how to compare the output between the student's solutions and the accepted solutions.

The file 'linesweep_test.py' shows how to run the tests on the student's solutions file without running them on the accepted solutions.

The files `grade_imp.py` and `linesweep_test_imp.py` do the same thing, but in a simpler manner.

It seems to me like the last version is our best bet because the code is short and simple and because it can be adapted to match the needs of different labs. Parallelism is also possible with this approach, but I didn't do it with this version. The limitiation there is that, if the test file writes output to stdout, it cannot be called in parallel on the solutions for multiple students. The downside of this approach is that each test file will have to do a little more work, but, given what little I had to do in the file `linesweep_test_imp.py`, that doesn't seem unreasonable.