This is Kaiwei's implementation of CS400 grading script.
Folder structure:
# This is the testing code directory for the AVLTreeUnitTest written in Junit 5
AVLTreeUnitTest
|- scr
| |- main/java # This is where the student code will be placed
| - UnitTestRunner.java # This is the main class which will launch the unit test
| - TestResultListener.java # This is a listener for the test purpose
# This is the directory where we put all the submission files
# Unzip the large zip files downloading from the zybook and put all those zip files
# for each student into this directory
submission
|- Kaiwei_Tu_ktu5wisc.edu_2020-09-21_18-22-46.zip # A sample submission zip file
result
|- placeholder.log # A sample log file
# This is a python script which will automatically grade all the student submission
# in the <submission_dir> directory.
#
# Usage: python3 grade_script -i <submission_dir> -o <logs_dir> -g <csv_path> -t <tests_dir>
#
# <submission_dir> is where all the submission zip file stays.
# <logs_dir> is where all the grading log will be written to.
# <csv_path> is a csv generated by the script which contains all the student's grade
# <tests_dir> is where the test is
#
# Sample: python3 grade_script.py -i submission -o result -t AVLTreeUnitTest -g grade.csv
grade_script.py
# A script run as following
# ./runtest.sh RBTreeUnitTest
# python3 grade_script.py -i submission -o result -t RBTreeUnitTest -g grade.csv
runtest.sh
# A generated result csv with following columns:
# Name, Email, Submission Timestamp, score, overall
grade_result_2020-09-22_19-51-51.csv
Clone the repo and run the tests.
git clone git@github.com:Kaiweitu/CS400_Grading_Script.git
cd CS400_Grading_Script
# Copy all the submission zip files into the submission directory
./runtest.sh