view upreckon/exceptions.py @ 246:1bc89faac941 2.04

Fixed: match='re' could produce duplicate test identifiers files.Files.regexp(pattern) now makes sure to return only one metafile for each matching virtual path, namely, the one that would be returned for that virtual path by files.Files.from_virtual_path.
author Oleg Oshmyan <chortos@inbox.lv>
date Thu, 03 Oct 2013 01:19:09 +0300
parents 65b5c9390010
children
line wrap: on
line source

# Copyright (c) 2010-2011 Chortos-2 <chortos@inbox.lv>

__all__ = ('TestCaseNotPassed', 'TestCaseSkipped', 'TimeLimitExceeded',
           'CPUTimeLimitExceeded', 'WallTimeLimitExceeded',
           'MemoryLimitExceeded', 'CanceledByUser', 'WrongAnswer',
           'NonZeroExitCode', 'ExceptionWrapper', 'CannotStartTestee',
           'CannotStartValidator', 'CannotReadOutputFile',
           'CannotReadInputFile', 'CannotReadAnswerFile')

class TestCaseNotPassed(Exception): __slots__ = ()
class TestCaseSkipped(TestCaseNotPassed): __slots__ = ()
class TimeLimitExceeded(TestCaseNotPassed): __slots__ = ()
class CPUTimeLimitExceeded(TimeLimitExceeded): __slots__ = ()
class WallTimeLimitExceeded(TimeLimitExceeded): __slots__ = ()
class MemoryLimitExceeded(TestCaseNotPassed): __slots__ = ()
class CanceledByUser(BaseException): __slots__ = ()

class WrongAnswer(TestCaseNotPassed):
	__slots__ = 'comment'
	def __init__(self, comment=''):
		self.comment = comment

class NonZeroExitCode(TestCaseNotPassed):
	__slots__ = 'exitcode'
	def __init__(self, exitcode):
		self.exitcode = exitcode

class ExceptionWrapper(TestCaseNotPassed):
	__slots__ = 'upstream'
	def __init__(self, upstream):
		self.upstream = upstream

class CannotStartTestee(ExceptionWrapper): __slots__ = ()
class CannotStartValidator(ExceptionWrapper): __slots__ = ()
class CannotReadOutputFile(ExceptionWrapper): __slots__ = ()
class CannotReadInputFile(ExceptionWrapper): __slots__ = ()
class CannotReadAnswerFile(ExceptionWrapper): __slots__ = ()