Automatic testing of small programming assignments.
This project is an programming-language-agnostic driver for testing which invokes teacher-provided script on student's solution. For the Haskell testing tool support look at hsExprTest.
This tool was initially used in the Non-Imperative Programming course on Faculty of Informatics, Masaryk University (FI MU) and is now used in a few courses on the same faculty (with different-teacher provided components). It can be used either locally (but that is not very useful) or connected to a testing frontend, such as the frontend of IS MU. In either case, testing requires assignment files.
There is support for multiple evaluators which are plugged in using a simple script interface. The original evaluator is hsExprTest used for Haskell.
Other evaluators are mostly private to the courses which use them. Documentation for writing evaluators will be added.
For integration with IS MU, you will need a server capable of running a
web server, the exprtest
service
(documentation) and your language backends of choice.
For running the service, you can start with the systemd unit
file.
The original frontend is the questionnaire frontend which uses ability of IS to send questionnaire evaluation to an external server.
TODO: doc
The ispol
(documentation) is an
alternative frontend/glue for IS MU. It allows students to submit a file to
submission folder which is checked by ispol
and evaluated using ExprTest
service. The results are written to student's notebooks.
This frontend is now deprecated in favour of frag (which sadly has no public page to link to as far as I know).
Questions are stored in question directory (defaults to /var/lib/checker/qdir
),
they have extension .q.hs
, or other .q.??
extension.
Use GitHub bug reporting for bugs (I'm sure there are some).