示例#1
0
 def test_runner_from_runnable_error(self):
     runnable = nrunner.Runnable('unsupported_kind', '')
     try:
         nrunner.runner_from_runnable(
             runnable,
             nrunner.RunnerApp.RUNNABLE_KINDS_CAPABLE)
     except ValueError as e:
         self.assertEqual(str(e), 'Unsupported kind of runnable: unsupported_kind')
示例#2
0
 def test_runner_noop(self):
     runnable = nrunner.Runnable('noop', None)
     runner = nrunner.runner_from_runnable(runnable)
     results = [status for status in runner.run()]
     last_result = results[-1]
     self.assertEqual(last_result['status'], 'finished')
     self.assertIn('time_end', last_result)
示例#3
0
 def test_runner_python_unittest_empty_uri_error(self):
     runnable = nrunner.Runnable('python-unittest', '')
     runner = nrunner.runner_from_runnable(
         runnable,
         nrunner.RunnerApp.RUNNABLE_KINDS_CAPABLE)
     results = [status for status in runner.run()]
     output = 'uri is required but was not given'
     result = results[-1]
     self.assertEqual(result['status'], 'finished')
     self.assertEqual(result['result'], 'error')
     self.assertEqual(result['output'], output)
示例#4
0
 def test_runner_python_unittest(self):
     runnable = nrunner.Runnable('python-unittest', 'unittest.TestCase')
     runner = nrunner.runner_from_runnable(runnable)
     results = [status for status in runner.run()]
     output1 = ('----------------------------------------------------------'
                '------------\nRan 0 tests in ')
     output2 = 's\n\nOK\n'
     result = results[-1]
     self.assertEqual(result['status'], 'pass')
     self.assertTrue(result['output'].startswith(output1))
     self.assertTrue(result['output'].endswith(output2))
示例#5
0
 def test_runner_exec_test(self):
     runnable = nrunner.Runnable('exec-test', sys.executable, '-c',
                                 '"import time; time.sleep(0.01)"')
     runner = nrunner.runner_from_runnable(runnable)
     results = [status for status in runner.run()]
     last_result = results[-1]
     self.assertEqual(last_result['status'], 'pass')
     self.assertEqual(last_result['returncode'], 0)
     self.assertEqual(last_result['stdout'], b'')
     self.assertEqual(last_result['stderr'], b'')
     self.assertIn('time_end', last_result)
示例#6
0
 def test_runner_exec_test(self):
     runnable = nrunner.Runnable('exec-test', sys.executable, '-c',
                                 '"import time; time.sleep(0.01)"')
     runner = nrunner.runner_from_runnable(runnable)
     results = [status for status in runner.run()]
     self.assertEqual(results[-1], {
         'status': 'pass',
         'returncode': 0,
         'stdout': b'',
         'stderr': b''
     })
示例#7
0
 def test_runner_exec_test_fail(self):
     runnable = nrunner.Runnable('exec-test', '/bin/false')
     runner = nrunner.runner_from_runnable(
         runnable,
         nrunner.RunnerApp.RUNNABLE_KINDS_CAPABLE)
     results = [status for status in runner.run()]
     last_result = results[-1]
     self.assertEqual(last_result['status'], 'finished')
     self.assertEqual(last_result['result'], 'fail')
     self.assertEqual(last_result['returncode'], 1)
     self.assertEqual(last_result['stdout'], b'')
     self.assertEqual(last_result['stderr'], b'')
     self.assertIn('time_end', last_result)
示例#8
0
 def test_runner_exec(self):
     runnable = nrunner.Runnable('exec', sys.executable,
                                 '-c', 'import time; time.sleep(0.01)')
     runner = nrunner.runner_from_runnable(
         runnable,
         nrunner.RunnerApp.RUNNABLE_KINDS_CAPABLE)
     results = [status for status in runner.run()]
     last_result = results[-1]
     self.assertEqual(last_result['status'], 'finished')
     self.assertEqual(last_result['returncode'], 0)
     self.assertEqual(last_result['stdout'], b'')
     self.assertEqual(last_result['stderr'], b'')
     self.assertIn('time_end', last_result)
示例#9
0
 def test_runner_python_unittest_error(self):
     runnable = nrunner.Runnable('python-unittest', 'error')
     runner = nrunner.runner_from_runnable(
         runnable,
         nrunner.RunnerApp.RUNNABLE_KINDS_CAPABLE)
     results = [status for status in runner.run()]
     output1 = ('============================================================='
                '=========\nERROR: error')
     output2 = '\n\nFAILED (errors=1)\n'
     result = results[-1]
     self.assertEqual(result['status'], 'finished')
     self.assertEqual(result['result'], 'error')
     self.assertTrue(result['output'].startswith(output1))
     self.assertTrue(result['output'].endswith(output2))
示例#10
0
 def test_runner_python_unittest_fail(self):
     runnable = nrunner.Runnable('python-unittest', 'unittest.TestCase.fail')
     runner = nrunner.runner_from_runnable(
         runnable,
         nrunner.RunnerApp.RUNNABLE_KINDS_CAPABLE)
     results = [status for status in runner.run()]
     output1 = ('============================================================='
                '=========\nFAIL: fail (unittest.case.TestCase)'
                '\nFail immediately, with the given message.')
     output2 = '\n\nFAILED (failures=1)\n'
     result = results[-1]
     self.assertEqual(result['status'], 'finished')
     self.assertEqual(result['result'], 'fail')
     self.assertTrue(result['output'].startswith(output1))
     self.assertTrue(result['output'].endswith(output2))
示例#11
0
 def test_runner_python_unittest_skip(self):
     runnable = nrunner.Runnable(
         'python-unittest',
         'selftests.unit.test_test.TestClassTestUnit.DummyTest.skip')
     runner = nrunner.runner_from_runnable(
         runnable,
         nrunner.RunnerApp.RUNNABLE_KINDS_CAPABLE)
     results = [status for status in runner.run()]
     output1 = ('----------------------------------------------------------'
                '------------\nRan 1 test in ')
     output2 = 's\n\nOK (skipped=1)\n'
     result = results[-1]
     self.assertEqual(result['status'], 'finished')
     self.assertEqual(result['result'], 'skip')
     self.assertTrue(result['output'].startswith(output1))
     self.assertTrue(result['output'].endswith(output2))
示例#12
0
文件: runner.py 项目: tfauck/avocado
def subcommand_runnable_run(args, echo=print):
    runnable = runnable_from_args(args)
    runner = runner_from_runnable(runnable, RUNNABLE_KIND_CAPABLE)

    for status in runner.run():
        echo(status)
示例#13
0
 def test_runner_noop(self):
     runnable = nrunner.Runnable('noop')
     runner = nrunner.runner_from_runnable(runnable)
     results = [status for status in runner.run()]
     self.assertEqual(results, [{'status': 'finished'}])