diff options
author | prathamesh | 2017-10-26 14:46:14 +0530 |
---|---|---|
committer | prathamesh | 2017-10-26 14:46:14 +0530 |
commit | 8dc6f2c9271e2e2aef9c30594df85af8b24aeeb4 (patch) | |
tree | d3c9d2ef6afbfb5307fb2b4b9e867253da98eacf /yaksh/bash_code_evaluator.py | |
parent | 1f554e7505f5a6aa1b796b2e31e1541188af56da (diff) | |
parent | 840c00b9e939d2b33058d236ef4170923e0a018b (diff) | |
download | online_test-8dc6f2c9271e2e2aef9c30594df85af8b24aeeb4.tar.gz online_test-8dc6f2c9271e2e2aef9c30594df85af8b24aeeb4.tar.bz2 online_test-8dc6f2c9271e2e2aef9c30594df85af8b24aeeb4.zip |
Merge branch 'master' of https://github.com/FOSSEE/online_test into detailed_csv_download_quiz
RESOLVED
Conflicts:
yaksh/test_models.py
Diffstat (limited to 'yaksh/bash_code_evaluator.py')
-rw-r--r-- | yaksh/bash_code_evaluator.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/yaksh/bash_code_evaluator.py b/yaksh/bash_code_evaluator.py index a4f1389..288a744 100644 --- a/yaksh/bash_code_evaluator.py +++ b/yaksh/bash_code_evaluator.py @@ -77,7 +77,8 @@ class BashCodeEvaluator(BaseEvaluator): if self.test_case_args: self.tc_args_path = self.create_submit_code_file('main.args') self.write_to_submit_code_file(self.tc_args_path, self.test_case_args) - self.user_answer = self.user_answer.replace("\r", "") + shebang = "#!/bin/bash\n" + self.user_answer = shebang + self.user_answer.replace("\r", "") self.test_case = self.test_case.replace("\r", "") self.write_to_submit_code_file(self.submit_code_path, self.user_answer) self.write_to_submit_code_file(self.test_code_path, self.test_case) @@ -99,13 +100,13 @@ class BashCodeEvaluator(BaseEvaluator): return False, msg, 0.0 if not clean_test_case_path: - ret = self._run_command(clean_ref_code_path, + ret = self._run_command(["bash", clean_ref_code_path], stdin=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) proc, inst_stdout, inst_stderr = ret - ret = self._run_command(self.submit_code_path, + ret = self._run_command(["bash", self.submit_code_path], stdin=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE @@ -136,7 +137,7 @@ class BashCodeEvaluator(BaseEvaluator): for tc in test_cases: loop_count += 1 if valid_answer: - args = [clean_ref_code_path] + \ + args = ["bash", clean_ref_code_path] + \ [x for x in tc.split()] ret = self._run_command(args, stdin=None, @@ -146,7 +147,7 @@ class BashCodeEvaluator(BaseEvaluator): proc, inst_stdout, inst_stderr = ret if self.file_paths: self.files = copy_files(self.file_paths) - args = [self.submit_code_path] + \ + args = ["bash", self.submit_code_path] + \ [x for x in tc.split()] ret = self._run_command(args, stdin=None, |