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 ifMakefileexists. 2.2. [STOP]make: Runmake buildin 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 theREADMEis missing, a penalty to final grade is applied. -
clean: Remove all generated files by running themake cleancommand. -
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
./checkPlease read cs/README.md.