Hi! In this post I would like to introduce you to an application called Hightail.
Hightail is an automatic tester for programming contests such as CodeForces rounds. It will parse the problem statement, extract sample test cases (inputs and outputs) from it, and verify the correctness of your program against them. It is built to provide maximum automation and to relieve the contestant as much as possible.
A list of Hightail's features:
- parsing problem statements
- parsing entire contests (autoloading all problems)
- scheduling contest parsing ahead of time
- ability to comfortably view, edit and add test cases
- handling of all verdicts: WA, TLE, RE, even AC
- customizable time limits
- ability to create in/out files in your working directory
- detection of floating point values (comparing 0.1 vs. 0.10 does not give WA)
- easy-to-use UI, keyboard shortcuts
- resilient: it is multi-threaded so it will not let your program hang it; it will withstand large amounts of output from your program
- support for all contest languages (C++, Java, Python, ...)
- written in Java and should run on any OS
Some screenshots to give you an idea:
Hightail started out as a simple program that I wrote for myself quite some time ago, then it became a small open source project when some other people contributed code to it. I think that it is now sufficiently developed that it can be released to the public, i.e. announced publicly here, rather than being hidden somewhere on the net, possible to find only if you already know the name. (It's probably long overdue, actually.)
If you see bugs, have feature suggestions etc., please use GitHub to its fullest extent :) And look at the readme — it has a tutorial on how to contribute to Hightail.
I hope it will be useful to you :)