diff options
author | King | 2018-07-12 14:00:59 -0700 |
---|---|---|
committer | GitHub | 2018-07-12 14:00:59 -0700 |
commit | 661c9d82bb680e745cc6b498131a0793b954c436 (patch) | |
tree | 9982e226f9bf81aaab98d752db3a8aba3de0c631 /yaksh/cpp_code_evaluator.py | |
parent | f61742f04f417cfb60576f9904afd0dc5c537b3c (diff) | |
parent | 714eeb188c67a6b61dfd132f0869e7679d91c8bf (diff) | |
download | online_test-661c9d82bb680e745cc6b498131a0793b954c436.tar.gz online_test-661c9d82bb680e745cc6b498131a0793b954c436.tar.bz2 online_test-661c9d82bb680e745cc6b498131a0793b954c436.zip |
Merge pull request #491 from maheshgudi/catch_compilation_error
Raise appropriate exceptions for C and Java language to the Grader
Diffstat (limited to 'yaksh/cpp_code_evaluator.py')
-rw-r--r-- | yaksh/cpp_code_evaluator.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/yaksh/cpp_code_evaluator.py b/yaksh/cpp_code_evaluator.py index 8bd3beb..d249c66 100644 --- a/yaksh/cpp_code_evaluator.py +++ b/yaksh/cpp_code_evaluator.py @@ -7,6 +7,7 @@ import subprocess # Local imports from .file_utils import copy_files, delete_files from .base_evaluator import BaseEvaluator +from .grader import CompilationError, TestCaseError class CppCodeEvaluator(BaseEvaluator): @@ -141,6 +142,7 @@ class CppCodeEvaluator(BaseEvaluator): mark_fraction = 1.0 if self.partial_grading else 0.0 else: err = "{0} \n {1}".format(stdout, stderr) + raise AssertionError(err) else: err = "Test case Error:" try: @@ -152,6 +154,7 @@ class CppCodeEvaluator(BaseEvaluator): err = "{0} \n {1}".format(err, e) except Exception: err = "{0} \n {1}".format(err, main_err) + raise TestCaseError(err) else: err = "Compilation Error:" try: @@ -163,5 +166,6 @@ class CppCodeEvaluator(BaseEvaluator): err = "{0} \n {1}".format(err, e) except Exception: err = "{0} \n {1}".format(err, stdnt_stderr) + raise CompilationError(err) return success, err, mark_fraction |