示例#1
0
    def test_execute_code_producing_std_error(self):
        runner = CodeRunner()

        err, out = runner.run(code_std_error)

        self.assertEqual(out, "i am gonna give error\n")
        self.assertEqual(err, 'Error! Come on!')
示例#2
0
    def test_execute_code_with_name_error(self):

        runner = CodeRunner()
        err, out = runner.run(code_name_error)
        self.assertEqual(out, "")
        self.assertEqual(err, """Traceback (most recent call last):\r
  File "main.py", line 3, in <module>\r
    grrr\r
NameError: name \'grrr\' is not defined\r
""")
示例#3
0
    def test_execute_code_with_compile_error(self):

        runner = CodeRunner()
        err, out = runner.run(code_compile_error)
        self.assertEqual(out, "")
        self.assertEqual(err, """  File "main.py", line 2\r
    b=5\r
    ^\r
IndentationError: unexpected indent\r
""")
示例#4
0
    def test_execute_infinite_loop(self):
        runner = CodeRunner()
        err, out = runner.run(code_infinite_loop)

        self.assertEqual(out ,"")
        self.assertEqual(err, "timeout")
示例#5
0
    def test_execute_valid_code(self):
        runner = CodeRunner()

        err, out = runner.run(code_valid_output)
        self.assertEqual(err, '')
        self.assertEqual(out, "This is my output. 6\n")