Skip to content

A server for running tests for various kinds of exercises (programming, …)

License

Notifications You must be signed in to change notification settings

vlstill/exprtest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExprTest

Build Status

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.

Evaluators / Language Backends

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.

IS MU Integration

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.

Questionnaire Frontend

The original frontend is the questionnaire frontend which uses ability of IS to send questionnaire evaluation to an external server.

TODO: doc

Submission Folder Frontend

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).

Writing questions for IS MUNI integration

Questions are stored in question directory (defaults to /var/lib/checker/qdir), they have extension .q.hs, or other .q.?? extension.

Bug Reporting

Use GitHub bug reporting for bugs (I'm sure there are some).

About

A server for running tests for various kinds of exercises (programming, …)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published