Skip to content

adamurish/ece_test_scripts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ece_test_scripts

Test scripts made while studying UIUC.

Autograder (ECE 220)

To use the autograde feature for ECE 220, simply log into an EWS command line (in person, through FastX, or through SSH) and execute the following command:

bash <(curl -sL https://ece220.autograde.twong.dev)

Contributing

This repository is a completely student led project, so contributions are always welcome. In general, you should create a new branch to run test code and create a pull request when you are done. If you do not have access to the repository, make a fork of this one and work from there. If you are adding a new test script for a class already a part of this repository, the general process is:

  1. Create a new branch / fork
  2. Create a new folder using the naming convention class_assignment
  3. Write a test script that assumes that the completed assignment is in the same directory as the script
  4. Create an autograde.json file in the same directory (see below for details)
  5. Open a pull request and wait patiently

autograde.json

This is a json file that provides metadata to the autograder so it knows how to prepare the deliverable if needed and execute your script. It is recommented that you use a JSON text generator to make these files. This is a good example of what the final JSON should look like. This was generated by http://objgen.com/json , using the following input:

name = MP4
class = ece220
files[] = mp4/mp4.c
commands[] = gcc -Wall -g -std=c99 mp4.c -o mp4, bash test_script.sh {option}
options[0]
  display = Random
  description = Choose 25 random test cases
  option = random
options[1]
  display = All
  description = Run all possible test cases (takes ~3 mins)
  option = all

The working directory is the directory in which autograde.json resides. Here are all the parts of autograde.json:

  • name: string that is displayed to the user as an option for what to autograde
  • class: case sensitive (all lowercase by convention) name of the class for which the script is written
  • files: list of files that need to be copied from the user's repository to the working directory. Warning: do not include a / before the path
  • commands: list of commands, in order, that need to be executed from the working directory in order to run the test script. {option} Will be replaced with the selected option if options are defined.
  • options: this part is optional, so if your script has no options you can exclude this. This is a list of option objects. Each option object has:
    • display: string that is displayed to the user as the name of the option
    • description: string that is displayed to the user as the description of what the option means
    • option: string wich which {option} is replaced in all commands

About

Test scripts made while studying at UIUC.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 38.8%
  • C 32.6%
  • Shell 28.6%