|
|
While taking CGS2421 at the University of Florida, the programming projects were graded via a character-wise output comparison with a solution program. To this end, a program (Visual chk_pro) was provided for use on Windows. Alas, non-Windows users such as myself could not use this program. So, I decided to attempt to write my own output checking program. Thus, outcheck was born. (Plus, I figured it was a good way to really learn more C++.)
To use this program in conjunction with a Windows solution file (.exe), Wine needs to be installed (this is a free program). Please see here for Linux and *BSD or here for Mac OS X information.
To be fair, I have only tested this program on Linux, so no guarantees on *BSD or Mac OS X functionality (though it should work). Also, this has very similar functionality to diff combined with I/O redirects, but I intend for this program to be very user-friendly. A good rule of thumb for the usability of this program is: if redirecting input to your program doesn't work, this program won't work. There is no support for this program, but if there are any questions/comments/suggestions/bug-fixes/etc, send me an e-mail to doug@douglaswhitaker.com. I can't promise I'll have the time to respond, but I'll do my best. Also, if the program doesn't do something you want it to, feel free to have a crack at it: the source is provided below.
Features:
- Read text input files
- Execute native programs with provided input file
- Execute Windows (.exe) programs if Wine is installed
- Create files containing the output of the above programs
- Compare the outputs of the above programs
- Create a file containing the comparison
- Reset the data
File | Size | MD5 Checksum |
outcheck (Linux binary) | 52 KB | 0cd0329853cca7e462311c62a8c96e1a |
outcheck-src.tar.gz (Source code) | 18 KB | 2220e4135928b1bc0eefd11daef858ed |
Future Goals:
- Add a GUI
- Implement the ability to split lines in the output
- Intelligent line-splitting
- Custom Wine version included (no need to install another program)
- Assign point-values to lines to aid in grading
- Other suggested features