summaryrefslogtreecommitdiff
path: root/yaksh/java_code_evaluator.py
diff options
context:
space:
mode:
authorKing2018-07-12 14:00:59 -0700
committerGitHub2018-07-12 14:00:59 -0700
commit661c9d82bb680e745cc6b498131a0793b954c436 (patch)
tree9982e226f9bf81aaab98d752db3a8aba3de0c631 /yaksh/java_code_evaluator.py
parentf61742f04f417cfb60576f9904afd0dc5c537b3c (diff)
parent714eeb188c67a6b61dfd132f0869e7679d91c8bf (diff)
downloadonline_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/java_code_evaluator.py')
-rw-r--r--yaksh/java_code_evaluator.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/yaksh/java_code_evaluator.py b/yaksh/java_code_evaluator.py
index 5f2288d..35573c0 100644
--- a/yaksh/java_code_evaluator.py
+++ b/yaksh/java_code_evaluator.py
@@ -7,6 +7,7 @@ import subprocess
# Local imports
from .base_evaluator import BaseEvaluator
from .file_utils import copy_files, delete_files
+from .grader import CompilationError, TestCaseError
class JavaCodeEvaluator(BaseEvaluator):
@@ -149,6 +150,7 @@ class JavaCodeEvaluator(BaseEvaluator):
mark_fraction = 1.0 if self.partial_grading else 0.0
else:
err = stdout + "\n" + stderr
+ raise AssertionError(err)
else:
err = "Test case Error:"
try:
@@ -160,6 +162,7 @@ class JavaCodeEvaluator(BaseEvaluator):
err = err + "\n" + e
except Exception:
err = err + "\n" + main_err
+ raise TestCaseError(err)
else:
err = "Compilation Error:"
try:
@@ -171,5 +174,6 @@ class JavaCodeEvaluator(BaseEvaluator):
err = err + "\n" + e
except Exception:
err = err + "\n" + stdnt_stderr
+ raise CompilationError(err)
return success, err, mark_fraction