Skip to content

josephlewis42/magpie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Magpie

Magpie is an automated testing tool aimed at automated assignment submission and processing. Currently it supports grading Scratch and Scratch2 documents.

It accepts submissions from both Email or HTTP so students do not need to use a VPN if the server hosting it is behind a firewall.

Installing

The easiest way to get the software is by running the install_magpie.sh script that you can download from the scripts folder.

The script automatically grabs the source, removes the old version and starts the new one with default settings.

Running

To run the software, run start.py with Python 2 or Python 3, it will then start the HTTP server on port 8000 and start checking

Configuration

To configure the software, run it once, then edit the config.json file in the main folder.

From here you can change:

  • the email account to check for submission from
  • the name of the tool
  • the displayed messages from the tool
  • the port the webserver starts on
  • ...

You can also configure tests on the fly by going to the configuratino page at: http://hostname:8080/config

Extending

Magpie is easy to extend, just write your own script and plop it in the plugins directory.

Magpie generates and can parse tests that conform to the Test Anything Protocol.

The Test Anything Protocol has modules available for most modern languages. Oftentimes these modules provide a wrapper to the language's normal testing framework (e.g. JUnit).

About

An automated testing framework that accepts submissions from SMTP, HTTP, etc. and uses plugins on the back-end.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published