Ineffable — simple grader for personal use

Правка en2, от accidentallygivenfuck, 2015-07-05 15:40:00

Hello Codeforces,

I want to share with you a simple tool that I've been using for a while now.

What is ineffable?

Simple grader for local grading of solutions for problems of competitive programming contests. It is written in Python and it uses timeout Perl library to limit resources (time and memory limits) of program being tested.

Screenshots

See it at work (sample session)

Let's solve problem Cow Steeplechase of USACO 2011 November Contest.

$ # Create folder `steeple` in your desktop and another folder `steeple_tests` inside it.
$ mkdir Desktop/steeple
$ cd Desktop/steeple
$ mkdir steeple_tests
$ cd steeple_tests
$
$ # Download and extract test data into `steeple/steeple_tests/`.
$ wget -q http://usaco.org/current/data/steeple.zip
$ unzip -q steeple.zip
$ rm steeple.zip
$ cd ..
$
$ # Create file `ineff.json` and configure.
$ touch ineff.json
$ echo '{
  "pkdesc": "Cow Steeplechase (USACO Gold November 2011 Contest)",
  "pbcode": "steeple",
  "tl": 3000,
  "ml": 65536,
  "warmup": "g++ -std=c++11 -O2 -o {PROBLEM} {PROBLEM}.cpp",
  "execute": "./{PROBLEM}",
  "tstdir": "{PROBLEM}_tests/",
  "inp": "I.*",
  "out": "O.*"
}' >ineff.json
$
$ # Create `steeple.cpp` and open it with your favorite editor to code your solution.
$ touch steeple.cpp
$ vim steeple.cpp
$ # ...
$
$ # Test your solution
$ ineffable

Installation

Run the following commands on your terminal:

$ mkdir ~/.ineffable
$ cd ~/.ineffable
$ wget https://bitbucket.org/silap/ineffable/get/89f43e61ffb8.zip
$ unzip 89f43e61ffb8.zip
$ rm 89f43e61ffb8.zip
$ mv silap-ineffable-89f43e61ffb8/* .
$ rm -r silap-ineffable-89f43e61ffb8/
$ ln -s ineffable /usr/local/bin/ineffable

Or alternatively you may run this command if you have curl installed:

$ bash < <(curl -sL https://bitbucket.org/silap/ineffable/raw/218eaf2959a53a2b7a16880d8fabc5a4986f4e29/test.sh)

Configuring ineffable

Теги ineffable, grader, simple, command-line

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en10 Английский accidentallygivenfuck 2015-07-30 22:24:43 224
en9 Английский accidentallygivenfuck 2015-07-14 12:56:20 119 Run "ln -s" (symbolic link creator) with root privilege
en8 Английский accidentallygivenfuck 2015-07-06 21:34:24 26 Tiny change: 'n\nSimple grader f' -> 'n\nSimple command-line grader f'
en7 Английский accidentallygivenfuck 2015-07-06 17:44:02 164
en6 Английский accidentallygivenfuck 2015-07-05 22:49:40 55
en5 Английский accidentallygivenfuck 2015-07-05 18:09:47 0 (published)
en4 Английский accidentallygivenfuck 2015-07-05 18:08:33 334 Tiny change: 'n~~~~~\n\n<hr>\n\nAs I h' -> 'n~~~~~\n\nAs I h'
en3 Английский accidentallygivenfuck 2015-07-05 17:58:46 7021
en2 Английский accidentallygivenfuck 2015-07-05 15:40:00 625
en1 Английский accidentallygivenfuck 2015-07-05 14:56:57 1809 Initial revision (saved to drafts)