Open itsjohncs opened 11 years ago
This will make it easier to develop test harnesses for Galah because only the public tests and token tests need to be fully functional by the time the students start to submit, and test harness designers can see how the private tests are doing without the students worrying about it.
Also, a note on the implementation of this. We will have to change the UI considerably to get this working, so this might be a good time to restyle Galah a little bit to match those GitHub buttons we found under the unlicense and make everything look a little more modern.
Next to the API Client, the biggest blocker that I've observed is that students can get pretty frustrated with Galah because they are using Galah to test their code for them. This is not what Galah was intended for and will not teach students good practices.
The solution to this has been known for awhile but has never been implemented. I think it's very important that we implement it now, before the problem becomes too dire.
We will follow the Marmoset Project's example and implement three kinds of tests.
Public tests will be what the tests are like right now, run every time the student submits and the results are shown to the students.
Final tests will be tests that are only shown to the student once the due date passes (this can be implemented by having sisyphus check if any assignments need this done every minute or so). The final tests should be run every time the user submits however, they just won't be displayed to the user.
Token tests will be tests that students can use tokens to see the results of. We'll want to mimic Marmoset here, because Professor Pugh has clearly thought hard on the best way to do this and it sounds perfect. We'll want to attribute his work somehow as well (maybe a special thanks in the CONTRIBUTORS file?).
He calls these tests release tests but I've never been a fan of that term though I think I understand the motivation. I think Token tests is a little clearer but we may want to spend at least a little while thinking about what we should call them.