Mercurial > ~astiob > upreckon > hgweb
diff upreckon/exceptions.py @ 146:d5b6708c1955
Distutils support, reorganization and cleaning up
* Removed command-line options -t and -u.
* Reorganized code:
o all modules are now in package upreckon;
o TestCaseNotPassed and its descendants now live in a separate
module exceptions;
o load_problem now lives in module problem.
* Commented out mentions of command-line option -c in --help.
* Added a distutils-based setup.py.
author | Oleg Oshmyan <chortos@inbox.lv> |
---|---|
date | Sat, 28 May 2011 14:24:25 +0100 |
parents | |
children | 65b5c9390010 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upreckon/exceptions.py Sat May 28 14:24:25 2011 +0100 @@ -0,0 +1,37 @@ +# 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(TestCaseNotPassed): __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__ = ()