Skip to content

Commit

Permalink
Show test description on crash or time limit.
Browse files Browse the repository at this point in the history
  • Loading branch information
nbeloglazov committed Aug 24, 2013
1 parent 7b8bb61 commit 0a9e044
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
12 changes: 10 additions & 2 deletions tools/testers.py
Expand Up @@ -40,9 +40,17 @@ def default_tester(task, path):
exitcode, stdout, stderr = execute_process(task.execute_string, input, testdir = path, timelimit = task.test_timelimit)
if exitcode != 0 and not is_timeout(exitcode):
logger.warning('Testing crashed: %s stdout %s, stderr %s' % (exitcode, stdout, stderr))
raise Crash("Program crashed on test #%s\n%s" % (test_number, stderr))
if len(task.test_descriptions) < test_number:
message = "Program crashed on test #%s\n%s" % (test_number, stderr)
else:
message = "Program crashed on #%s\n%s\n%s" % (test_number, task.test_descriptions[test_number - 1], stderr)
raise Crash(message)
elif is_timeout(exitcode):
raise TimeLimitExceeded(test_number)
if len(task.test_descriptions) < test_number:
message = "Code execution time limit exceeded on test #%s" % test_number
else:
message = "Code execution time limit exceeded on test #%s\n%s" % (test_number, task.test_descriptions[test_number - 1])
raise TimeLimitExceeded(message)
elif not task.checker(output, stdout):
if len(task.test_descriptions) < test_number:
message = "Failed on test #%s" % test_number
Expand Down
3 changes: 1 addition & 2 deletions tools/testing_exceptions.py
Expand Up @@ -5,8 +5,7 @@ class WrongAnswer(BaseException):
pass

class TimeLimitExceeded(BaseException):
def __init__(self, test_number):
self = BaseException.__init__(self, "Code execution time limit exceeded on test #%s" % test_number)
pass

class CompilationError(BaseException):
pass
Expand Down

0 comments on commit 0a9e044

Please sign in to comment.