Skip to content

meghrathod/friday

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

F.R.I.D.A.Y.

Compile and grade large number of student submissions(in multiple languages) in a matter of seconds without the hassle of writing unit tests.

Install

The project needs NumPy to work correctly.

If you use pip, you can install it with:

pip install numpy

Or, if you use conda, you can install it with:

conda install numpy

To install the project repo, run the following git command:

git clone https://github.com/meghrathod/friday.git

Usage

This project is a console application, and can be executed/compiled using python3.

For basic execution, use:

python3 main.py -i path/to/zip/containing/all/c/files -ti path/to/test/case/file

The zip file should contain .c files in the format:

Problemnumber_rollnumber.c

eg: P1_1234.c

Test Case Writing

The project accepts a .json file containing:

  • Test Input
  • Expected Output
  • Weightage

for each test case.

The .json is expected in the following format:

{
  "test_cases":
  [
    {
      "test_case": "Sample input 1(formatted)",
      "output": "Expected Output 1(formatted)",
      "marks": 10(Max Marks if test case passes)
    },
    {
      "test_case": "Sample input 2(formatted)",
      "output": "Expected Output 2(formatted)",
      "marks": 20(Max Marks if test case passes)
    }
  ]
}

Mandatory Flags

Flag Use
-i Specify path of zipfile containing C programs
-ti Path to .json containing test I/O and Weigtage

Optional Flags

Flag Use Default
-o Specify output path ../testResults.csv
-r Record runtime and assign relative score -
-m Max value of bonus score 10
-to Change timeout 60
-cl Use Clang instead of GCC -
-pn Specify Problem Number -
-ww Remove all whitespaces from I/O -
-abs Char by char comparison b/w I/O -

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •