summaryrefslogtreecommitdiff
path: root/yaksh/bash_code_evaluator.py
diff options
context:
space:
mode:
authorprathamesh2017-10-26 14:46:14 +0530
committerprathamesh2017-10-26 14:46:14 +0530
commit8dc6f2c9271e2e2aef9c30594df85af8b24aeeb4 (patch)
treed3c9d2ef6afbfb5307fb2b4b9e867253da98eacf /yaksh/bash_code_evaluator.py
parent1f554e7505f5a6aa1b796b2e31e1541188af56da (diff)
parent840c00b9e939d2b33058d236ef4170923e0a018b (diff)
downloadonline_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.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,