summaryrefslogtreecommitdiff
path: root/yaksh/bash_code_evaluator.py
diff options
context:
space:
mode:
authorPrabhu Ramachandran2017-10-25 15:44:38 +0530
committerGitHub2017-10-25 15:44:38 +0530
commit48f8c2b504f028e3b73622e47ba357c643f05174 (patch)
treefdf032726b80015925a19cb35aaf15b68295e8b1 /yaksh/bash_code_evaluator.py
parent07e5a3c831ad351d47de54db7179303be3506c10 (diff)
parentb82a1a25e62d7eb73f16512dc8fc5a9985596dca (diff)
downloadonline_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.py11
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,