Beispiel #1
0
 def test_runner_exec_test_fail(self):
     runnable = nrunner.Runnable('exec-test', '/bin/false')
     runner_klass = runnable.pick_runner_class()
     runner = runner_klass(runnable)
     results = [status for status in runner.run()]
     stdout_result = results[-3]
     stderr_result = results[-2]
     last_result = results[-1]
     self.assertEqual(stdout_result['type'], 'stdout')
     self.assertEqual(stdout_result['log'], b'')
     self.assertEqual(stderr_result['type'], 'stderr')
     self.assertEqual(stderr_result['log'], b'')
     self.assertEqual(last_result['status'], 'finished')
     self.assertEqual(last_result['result'], 'fail')
     self.assertEqual(last_result['returncode'], 1)
     self.assertIn('time', last_result)
Beispiel #2
0
 def test_runner_exec(self):
     runnable = nrunner.Runnable('exec', sys.executable, '-c',
                                 'import time; time.sleep(0.01)')
     runner_klass = runnable.pick_runner_class()
     runner = runner_klass(runnable)
     results = [status for status in runner.run()]
     stdout_result = results[-3]
     stderr_result = results[-2]
     last_result = results[-1]
     self.assertEqual(stdout_result['type'], 'stdout')
     self.assertEqual(stdout_result['log'], b'')
     self.assertEqual(stderr_result['type'], 'stderr')
     self.assertEqual(stderr_result['log'], b'')
     self.assertEqual(last_result['status'], 'finished')
     self.assertEqual(last_result['returncode'], 0)
     self.assertIn('time', last_result)
Beispiel #3
0
 def test_runner_python_unittest_fail(self):
     runnable = nrunner.Runnable('python-unittest',
                                 'unittest.TestCase.fail')
     runner_klass = runnable.pick_runner_class()
     runner = runner_klass(runnable)
     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))
Beispiel #4
0
 def test_runner_python_unittest_skip(self):
     runnable = nrunner.Runnable(
         'python-unittest',
         'selftests.unit.test_test.TestClassTestUnit.DummyTest.skip')
     runner_klass = runnable.pick_runner_class()
     runner = runner_klass(runnable)
     results = [status for status in runner.run()]
     output1 = (
         b'----------------------------------------------------------'
         b'------------\nRan 1 test in ')
     output2 = b's\n\nOK (skipped=1)\n'
     output = results[-2]
     result = results[-1]
     self.assertEqual(result['status'], 'finished')
     self.assertEqual(result['result'], 'skip')
     self.assertTrue(output['log'].startswith(output1))
     self.assertTrue(output['log'].endswith(output2))
Beispiel #5
0
    def test_runner_tap_skip(self):
        tap_script = """#!/bin/sh
echo '1..2'
echo '# Defining an basic test'
echo 'ok 1 - # SKIP description 1'
echo 'ok 2 - description 2'"""
        tap_path = os.path.join(self.tmpdir.name, 'tap.sh')

        with open(tap_path, 'w') as fp:
            fp.write(tap_script)

        runnable = nrunner.Runnable('tap', '/bin/sh', tap_path)
        runner = nrunner_tap.TAPRunner(runnable)
        results = [status for status in runner.run()]
        last_result = results[-1]
        self.assertEqual(last_result['status'], 'skip')
        self.assertEqual(last_result['returncode'], 0)
Beispiel #6
0
 def test_runnable_kwargs(self):
     runnable = nrunner.Runnable('noop', 'uri', key1='val1', key2='val2')
     self.assertEqual(runnable.kwargs.get('key1'), 'val1')
     self.assertEqual(runnable.kwargs.get('key2'), 'val2')
Beispiel #7
0
 def test_runnable_tags(self):
     runnable = nrunner.Runnable('noop', 'uri',
                                 tags={'arch': set(['x86_64', 'ppc64'])})
     self.assertIn('x86_64', runnable.tags.get('arch'))
     self.assertIn('ppc64', runnable.tags.get('arch'))
Beispiel #8
0
 def test_set_category(self):
     runnable = nrunner.Runnable('noop', 'noop_uri')
     task = nrunner.Task(runnable, 'task_id', category='new_category')
     self.assertEqual(task.category, 'new_category')
Beispiel #9
0
 def test_runnable_args(self):
     runnable = nrunner.Runnable('noop', 'uri', 'arg1', 'arg2')
     self.assertIn('arg1', runnable.args)
     self.assertIn('arg2', runnable.args)
Beispiel #10
0
 def setUp(self):
     self.runnable = nrunner.Runnable('lets-image-a-kind',
                                      'test_pick_runner_command')
Beispiel #11
0
 def test_default_category(self):
     runnable = nrunner.Runnable('noop', 'noop_uri')
     task = nrunner.Task(runnable, 'task_id')
     self.assertEqual(task.category, 'test')
Beispiel #12
0
 def test_get_dict(self):
     runnable = nrunner.Runnable('noop', '_uri_', 'arg1', 'arg2')
     self.assertEqual(runnable.get_dict(),
                      {'kind': 'noop', 'uri': '_uri_',
                       'args': ('arg1', 'arg2')})
Beispiel #13
0
 def test_runner_from_runnable_error(self):
     runnable = nrunner.Runnable('unsupported_kind', '')
     try:
         runnable.pick_runner_class()
     except ValueError as e:
         self.assertEqual(str(e), 'Unsupported kind of runnable: unsupported_kind')
Beispiel #14
0
 def setUp(self):
     runnable = nrunner.Runnable('noop', 'uri')
     task = nrunner.Task(runnable, '1')
     self.runtime_task = RuntimeTask(task)
     self.spawner = MockRandomAliveSpawner()
Beispiel #15
0
 def test_kind_noop(self):
     runnable = nrunner.Runnable('noop', None)
     self.assertEqual(runnable.kind, 'noop')
Beispiel #16
0
 def setUp(self):
     runnable = nrunner.Runnable('noop', 'uri')
     self.task = nrunner.Task('1', runnable)
     self.spawner = MockRandomAliveSpawner()
Beispiel #17
0
 def setUp(self):
     runnable = nrunner.Runnable('noop', 'uri')
     self.task = nrunner.Task('1', runnable)
     self.spawner = ProcessSpawner()
Beispiel #18
0
 def test_identifier_args(self):
     config = {'runner.identifier_format': '{uri}-{args[0]}'}
     runnable = nrunner.Runnable('exec-text', 'uri', 'arg1', 'arg2',
                                 config=config)
     self.assertEqual(runnable.identifier, 'uri-arg1')
Beispiel #19
0
 def setUp(self):
     runnable = nrunner.Runnable('mykind',
                                 'test_runner_command_selection')
     self.task = nrunner.Task('1-test_runner_command_selection', runnable)
Beispiel #20
0
 def setUp(self):
     runnable = nrunner.Runnable('noop', 'uri')
     task = nrunner.Task(runnable, '1')
     self.runtime_task = RuntimeTask(task)
     self.spawner = ProcessSpawner()
Beispiel #21
0
 def setUp(self):
     runnable = nrunner.Runnable('lets-image-a-kind',
                                 'test_pick_runner_command')
     self.task = nrunner.Task('1-test_pick_runner_command', runnable)
Beispiel #22
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'}])
Beispiel #23
0
 def test_runnable_command_args(self):
     runnable = nrunner.Runnable('noop', 'uri', 'arg1', 'arg2')
     actual_args = runnable.get_command_args()
     exp_args = ['-k', 'noop', '-u', 'uri', '-a', 'arg1', '-a', 'arg2']
     self.assertEqual(actual_args, exp_args)
Beispiel #24
0
 def setUp(self):
     self.runnable = nrunner.Runnable('mykind',
                                      'test_runner_command_selection')
Beispiel #25
0
 def test_get_json(self):
     runnable = nrunner.Runnable('noop', '_uri_', 'arg1', 'arg2')
     expected = '{"kind": "noop", "uri": "_uri_", "args": ["arg1", "arg2"]}'
     self.assertEqual(runnable.get_json(), expected)
Beispiel #26
0
 def setUp(self):
     runnable = nrunner.Runnable('noop', 'uri')
     task = nrunner.Task('1', runnable)
     self.runtime_task = RuntimeTask(task)
     self.spawner = MockSpawner()