def test_json_conversion_no_sandbox(self): '''test json conversion with no sandbox''' pgm1 = Program("print('hello world')", 'python3', FireJail()) jsobj = pgm1.to_json_object() del jsobj["sandbox"] pgm2 = Program.from_json_object(json.loads(json.dumps(jsobj))) assert pgm2.sandbox == FireJail()
def test_context_manager_usage(self): '''Test usage of Program class as context manager''' with Program("print('hello world')", 'python3', FireJail()) as pgm: pgm.compile() testcase = TestCase() pgm.execute(testcase) assert testcase.real_output.strip() == "hello world"
def test_basic_usage(self): '''test basic usage of Program class''' pgm = Program("print('hello world')", 'python3', FireJail()) pgm.compile() testcase = TestCase() pgm.execute(testcase) assert testcase.real_output.strip() == "hello world"
def test_json_conversion(self): '''test json conversion''' pgm1 = Program("print('hello world')", 'python3', FireJail()) testcases = [TestCase(), TestCase("h", "h")] ev1 = Evaluation(pgm1, testcases) jsobj = ev1.to_json_object() ev2 = Evaluation.from_json_object(json.loads(json.dumps(jsobj))) assert ev1 == ev2
def test_evaluate_success(self): '''Test evaluate success''' code = ''' print("hello world") ''' pgm = Program(code, 'python3', FireJail()) testcases = [TestCase(testcase_output='hello world')] ev_obj = Evaluation( pgm, testcases, [Equal()], ) ev_obj.evaluate() assert testcases[0].scores == {'Equal': 1}
def test_evaluate_compilation(self): '''Test evaluate compilation error''' code = ''' print("hello world" ''' pgm = Program(code, 'python3', FireJail()) testcases = [TestCase(testcase_output='hello world')] ev_obj = Evaluation( pgm, testcases, [Equal()], ) ev_obj.evaluate() assert all( [isinstance(test.error, CompilationError) for test in testcases])
def test_json_conversion(self): '''test json conversion''' pgm1 = Program("print('hello world')", 'python3', FireJail()) jsobj = pgm1.to_json_object() pgm2 = Program.from_json_object(json.loads(json.dumps(jsobj))) assert pgm1 == pgm2
class TestFireJail(CTestSandBox, PythonTestSandBox, SecureTestSandBox): '''Tests for FireJail class''' sandbox = FireJail()