diff options
author | Prabhu Ramachandran | 2017-10-25 15:44:38 +0530 |
---|---|---|
committer | GitHub | 2017-10-25 15:44:38 +0530 |
commit | 48f8c2b504f028e3b73622e47ba357c643f05174 (patch) | |
tree | fdf032726b80015925a19cb35aaf15b68295e8b1 /yaksh/bash_code_evaluator.py | |
parent | 07e5a3c831ad351d47de54db7179303be3506c10 (diff) | |
parent | b82a1a25e62d7eb73f16512dc8fc5a9985596dca (diff) | |
download | online_test-48f8c2b504f028e3b73622e47ba357c643f05174.tar.gz online_test-48f8c2b504f028e3b73622e47ba357c643f05174.tar.bz2 online_test-48f8c2b504f028e3b73622e47ba357c643f05174.zip |
Merge pull request #369 from maheshgudi/0.7_bugfix
Grade User bugfix
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, |