This is the checker used to automatically grade the Virtual Memory Allocator.
The name of the checker is check
. It is written in Python 3.6
.
It will do the multiples steps.
All steps marked with [STOP]
are required. If one failed the checker will stop.
All steps marked with [OPTIONAL]
are optional and can be disabled from config.
-
deps
: Check if all dependencies are installed on local system in order to build/run/grade the homerwork. -
build
: Build homework. 2.1. [STOP]Makefile
: Check ifMakefile
exists. 2.2. [STOP]make
: Runmake build
in order to build all binaries. 2.3. [OPT]warnings
: If warnings are detected, a penalty to final grade is applied. -
run
: Run all tests for specified tasks (all or one). 3.1 [STOP]run
: Run task for current test. Continue iff the program exited successfully. 3.2 [STOP]check
: Check if the solution is correction. Continue iff the program found solution for task/at least one subtask. 3.3 [OPT ]valgrind
: Check for memory leaks and errors. If valgrind found problems, the test grade is 0.Note
: This stage is using an explainedlegend
:UPS
: Ups, program crashed e.g null pointer dereference, negative or to big array/matrix indicesTLE
: Time Limit Exceed e.g. infinit loop or too slowMLE
: Memory Limit Exceed e.g. too much allocated memory (in total or for some segments)MEM_UPS
: Memory leaks or errors e.g. invalid memory access, unfreed dynamic-allocated arraysWA
: Wrong Answer (wrong or partial output) e.g. output is missing or has other valueOK
: Everything is OK.
-
style
: Run coding style checker to automatically report most common mistakes. -
README
: Basic check for reminding students to put a readme file before final submission.Note
: If theREADME
is missing, a penalty to final grade is applied. -
clean
: Remove all generated files by running themake clean
command. -
grade
: Print final grade (which is always non-negative).
The install.sh
script can be used to install all dependencies for check
.
Note: Please inspect the script to see which are the requirements.
sudo ./install.sh
- run entire homework
./check
Please read cs/README.md
.