diff options
author | mahesh | 2017-04-13 09:41:43 +0530 |
---|---|---|
committer | mahesh | 2017-04-13 10:11:35 +0530 |
commit | 4ab90db99afafcf3d6ab91deeaf35e5f4874502b (patch) | |
tree | 139734db0d8a48bae48f44f9e602206738af8c00 /yaksh/evaluator_tests | |
parent | de2a369a4908046eef41f01537fd39442e14365c (diff) | |
download | online_test-4ab90db99afafcf3d6ab91deeaf35e5f4874502b.tar.gz online_test-4ab90db99afafcf3d6ab91deeaf35e5f4874502b.tar.bz2 online_test-4ab90db99afafcf3d6ab91deeaf35e5f4874502b.zip |
added test case to check for stray processes
Diffstat (limited to 'yaksh/evaluator_tests')
-rw-r--r-- | yaksh/evaluator_tests/test_bash_evaluation.py | 8 | ||||
-rw-r--r-- | yaksh/evaluator_tests/test_c_cpp_evaluation.py | 10 | ||||
-rw-r--r-- | yaksh/evaluator_tests/test_java_evaluation.py | 12 | ||||
-rw-r--r-- | yaksh/evaluator_tests/test_scilab_evaluation.py | 6 |
4 files changed, 35 insertions, 1 deletions
diff --git a/yaksh/evaluator_tests/test_bash_evaluation.py b/yaksh/evaluator_tests/test_bash_evaluation.py index 482d45e..ee6949d 100644 --- a/yaksh/evaluator_tests/test_bash_evaluation.py +++ b/yaksh/evaluator_tests/test_bash_evaluation.py @@ -3,6 +3,8 @@ import unittest import os import shutil import tempfile +from psutil import Process, pid_exists +# Local Imports from yaksh.grader import Grader from yaksh.bash_code_evaluator import BashCodeEvaluator from yaksh.bash_stdio_evaluator import BashStdIOEvaluator @@ -103,6 +105,12 @@ class BashAssertionEvaluationTestCases(EvaluatorBaseTest): # Then self.assertFalse(result.get("success")) self.assert_correct_output(self.timeout_msg, result.get("error")) + parent_proc = Process(os.getpid()).children() + if parent_proc: + self.assertFalse(any(Process(parent_proc[0].pid)\ + .children(recursive=True))) + + def test_file_based_assert(self): # Given diff --git a/yaksh/evaluator_tests/test_c_cpp_evaluation.py b/yaksh/evaluator_tests/test_c_cpp_evaluation.py index 304f1cb..d3147f5 100644 --- a/yaksh/evaluator_tests/test_c_cpp_evaluation.py +++ b/yaksh/evaluator_tests/test_c_cpp_evaluation.py @@ -4,6 +4,7 @@ import os import shutil import tempfile from textwrap import dedent +from psutil import Process # Local import from yaksh.grader import Grader @@ -151,6 +152,11 @@ class CAssertionEvaluationTestCases(EvaluatorBaseTest): # Then self.assertFalse(result.get("success")) self.assert_correct_output(self.timeout_msg, result.get("error")) + parent_proc = Process(os.getpid()).children() + if parent_proc: + self.assertFalse(any(Process(parent_proc[0].pid)\ + .children(recursive=True))) + def test_file_based_assert(self): # Given @@ -401,6 +407,10 @@ class CppStdIOEvaluationTestCases(EvaluatorBaseTest): # Then self.assertFalse(result.get("success")) self.assert_correct_output(self.timeout_msg, result.get("error")) + parent_proc = Process(os.getpid()).children() + if parent_proc: + self.assertFalse(any(Process(parent_proc[0].pid)\ + .children(recursive=True))) def test_only_stdout(self): # Given diff --git a/yaksh/evaluator_tests/test_java_evaluation.py b/yaksh/evaluator_tests/test_java_evaluation.py index 3d127af..2c49a50 100644 --- a/yaksh/evaluator_tests/test_java_evaluation.py +++ b/yaksh/evaluator_tests/test_java_evaluation.py @@ -4,6 +4,9 @@ import os import shutil import tempfile from textwrap import dedent +from psutil import Process, pid_exists +import time + # Local Import from yaksh import grader as gd @@ -158,6 +161,10 @@ class JavaAssertionEvaluationTestCases(EvaluatorBaseTest): # Then self.assertFalse(result.get("success")) self.assert_correct_output(self.timeout_msg, result.get("error")) + parent_proc = Process(os.getpid()).children() + if parent_proc: + self.assertFalse(any(Process(parent_proc[0].pid)\ + .children(recursive=True))) def test_file_based_assert(self): # Given @@ -398,6 +405,11 @@ class JavaStdIOEvaluationTestCases(EvaluatorBaseTest): # Then self.assertFalse(result.get("success")) self.assert_correct_output(self.timeout_msg, result.get("error")) + parent_proc = Process(os.getpid()).children() + if parent_proc: + self.assertFalse(any(Process(parent_proc[0].pid)\ + .children(recursive=True))) + def test_only_stdout(self): # Given diff --git a/yaksh/evaluator_tests/test_scilab_evaluation.py b/yaksh/evaluator_tests/test_scilab_evaluation.py index 5a452a3..1792937 100644 --- a/yaksh/evaluator_tests/test_scilab_evaluation.py +++ b/yaksh/evaluator_tests/test_scilab_evaluation.py @@ -8,7 +8,7 @@ from yaksh import grader as gd from yaksh.grader import Grader from yaksh.scilab_code_evaluator import ScilabCodeEvaluator from yaksh.evaluator_tests.test_python_evaluation import EvaluatorBaseTest - +from psutil import Process class ScilabEvaluationTestCases(EvaluatorBaseTest): def setUp(self): @@ -136,6 +136,10 @@ class ScilabEvaluationTestCases(EvaluatorBaseTest): self.assertFalse(result.get("success")) self.assert_correct_output(self.timeout_msg, result.get("error")) + parent_proc = Process(os.getpid()).children() + if parent_proc: + self.assertFalse(any(Process(parent_proc[0].pid)\ + .children(recursive=True))) if __name__ == '__main__': unittest.main() |