diff options
Diffstat (limited to 'yaksh/stdio_evaluator.py')
-rw-r--r-- | yaksh/stdio_evaluator.py | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/yaksh/stdio_evaluator.py b/yaksh/stdio_evaluator.py index 554d4c5..a5785ea 100644 --- a/yaksh/stdio_evaluator.py +++ b/yaksh/stdio_evaluator.py @@ -5,6 +5,7 @@ import signal # Local imports from .base_evaluator import BaseEvaluator from .grader import TimeoutException +from .compare_stdio import CompareOutputs class StdIOEvaluator(BaseEvaluator): @@ -20,18 +21,9 @@ class StdIOEvaluator(BaseEvaluator): os.killpg(os.getpgid(proc.pid), signal.SIGTERM) raise expected_output = expected_output.replace("\r", "") - if not expected_input: - error_msg = "Expected Output is\n{0} ".\ - format(str(expected_output)) - else: - error_msg = "Given Input is\n{0}\nExpected Output is\n{1}".\ - format(expected_input, str(expected_output)) - if output_err == '': - if user_output == expected_output: - success, err = True, None - else: - err = "Incorrect answer:\n" + error_msg +\ - "\nYour output is\n{0}".format(str(user_output)) - else: - err = "Error:\n{0}".format(output_err) + compare = CompareOutputs() + success, err = compare.compare_outputs(expected_output, + user_output, + expected_input + ) return success, err |