diff options
author | prathamesh | 2016-11-17 13:58:51 +0530 |
---|---|---|
committer | prathamesh | 2016-11-17 13:58:51 +0530 |
commit | 93b16753ded5f3ef07187e9413c94bd52f2e77f7 (patch) | |
tree | f137a0fd2a3036c5a6e87d323d8d14ee3d480c0b /yaksh/python_stdio_evaluator.py | |
parent | 6ac9e99453543e6a5533f5ab77c7db3c08cc0cf9 (diff) | |
parent | aa6ed71496c4a36faed9b42104c8426345bdc2e3 (diff) | |
download | online_test-93b16753ded5f3ef07187e9413c94bd52f2e77f7.tar.gz online_test-93b16753ded5f3ef07187e9413c94bd52f2e77f7.tar.bz2 online_test-93b16753ded5f3ef07187e9413c94bd52f2e77f7.zip |
Merge branch 'master' of https://github.com/FOSSEE/online_test into student-interface
Resolved
Conflicts:
yaksh/templates/yaksh/question.html
Added testarea back for now.
Diffstat (limited to 'yaksh/python_stdio_evaluator.py')
-rw-r--r-- | yaksh/python_stdio_evaluator.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/yaksh/python_stdio_evaluator.py b/yaksh/python_stdio_evaluator.py index cbbbfd6..1506685 100644 --- a/yaksh/python_stdio_evaluator.py +++ b/yaksh/python_stdio_evaluator.py @@ -31,6 +31,10 @@ def redirect_stdout(): class PythonStdioEvaluator(CodeEvaluator): """Tests the Python code obtained from Code Server""" + def setup(self): + super(PythonStdioEvaluator, self).setup() + self.files = [] + def teardown(self): # Delete the created file. if self.files: @@ -38,8 +42,7 @@ class PythonStdioEvaluator(CodeEvaluator): super(PythonStdioEvaluator, self).teardown() - def compile_code(self, user_answer, file_paths, expected_input, expected_output): - self.files = [] + def compile_code(self, user_answer, file_paths, expected_input, expected_output, weight): if file_paths: self.files = copy_files(file_paths) submitted = compile(user_answer, '<string>', mode='exec') @@ -54,13 +57,16 @@ class PythonStdioEvaluator(CodeEvaluator): self.output_value = output_buffer.getvalue().rstrip("\n") return self.output_value - def check_code(self, user_answer, file_paths, expected_input, expected_output): + def check_code(self, user_answer, file_paths, partial_grading, expected_input, + expected_output, weight): success = False + test_case_weight = 0.0 tb = None if self.output_value == expected_output: success = True err = "Correct answer" + test_case_weight = weight else: success = False err = dedent(""" @@ -68,10 +74,10 @@ class PythonStdioEvaluator(CodeEvaluator): Given input - {0} Expected output - {1} Your output - {2} - """ - .format(expected_input, - expected_output, self.output_value - ) - ) + """.format(expected_input, + expected_output, + self.output_value + ) + ) del tb - return success, err + return success, err, test_case_weight |