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__ = ()