Currently the build process using a mix of shell scripts and make files for building the student and Gradescope autograders.
Thusly, it is hard to configure and customize the build process and it currently relies on specifically formatted directories to discover test cases, starter code, and data files.
Issue
The build process is prone to errors and is hard to validate. Currently there are 3 integration tests covering some aspects of the build process.
The build process is also primarily written in make and shell, which requires that the person building the autograder be using macOS or Linux to build.
Finally, it is hard to know what to put in what directories and due to the variable nature of what is being built, files may not be put in the correct directories.
Suggestion
The build process should have major overhauls. It should be written in primarily in Python and should have unit tests covering a large swath of the cases that we have uncovered:
Public and private data files
Moving data files to student_work folder
starter code
Public and private test cases
No private test cases
Additionally, builds should still be orchestrated with a makefile.
Description
Currently the build process using a mix of shell scripts and make files for building the student and Gradescope autograders.
Thusly, it is hard to configure and customize the build process and it currently relies on specifically formatted directories to discover test cases, starter code, and data files.
Issue
The build process is prone to errors and is hard to validate. Currently there are 3 integration tests covering some aspects of the build process.
The build process is also primarily written in make and shell, which requires that the person building the autograder be using macOS or Linux to build.
Finally, it is hard to know what to put in what directories and due to the variable nature of what is being built, files may not be put in the correct directories.
Suggestion
The build process should have major overhauls. It should be written in primarily in Python and should have unit tests covering a large swath of the cases that we have uncovered:
student_work
folderAdditionally, builds should still be orchestrated with a makefile.
Acceptance Criteria