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)
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)
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))
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))
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)
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')
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'))
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')
def test_runnable_args(self): runnable = nrunner.Runnable('noop', 'uri', 'arg1', 'arg2') self.assertIn('arg1', runnable.args) self.assertIn('arg2', runnable.args)
def setUp(self): self.runnable = nrunner.Runnable('lets-image-a-kind', 'test_pick_runner_command')
def test_default_category(self): runnable = nrunner.Runnable('noop', 'noop_uri') task = nrunner.Task(runnable, 'task_id') self.assertEqual(task.category, 'test')
def test_get_dict(self): runnable = nrunner.Runnable('noop', '_uri_', 'arg1', 'arg2') self.assertEqual(runnable.get_dict(), {'kind': 'noop', 'uri': '_uri_', 'args': ('arg1', 'arg2')})
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')
def setUp(self): runnable = nrunner.Runnable('noop', 'uri') task = nrunner.Task(runnable, '1') self.runtime_task = RuntimeTask(task) self.spawner = MockRandomAliveSpawner()
def test_kind_noop(self): runnable = nrunner.Runnable('noop', None) self.assertEqual(runnable.kind, 'noop')
def setUp(self): runnable = nrunner.Runnable('noop', 'uri') self.task = nrunner.Task('1', runnable) self.spawner = MockRandomAliveSpawner()
def setUp(self): runnable = nrunner.Runnable('noop', 'uri') self.task = nrunner.Task('1', runnable) self.spawner = ProcessSpawner()
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')
def setUp(self): runnable = nrunner.Runnable('mykind', 'test_runner_command_selection') self.task = nrunner.Task('1-test_runner_command_selection', runnable)
def setUp(self): runnable = nrunner.Runnable('noop', 'uri') task = nrunner.Task(runnable, '1') self.runtime_task = RuntimeTask(task) self.spawner = ProcessSpawner()
def setUp(self): runnable = nrunner.Runnable('lets-image-a-kind', 'test_pick_runner_command') self.task = nrunner.Task('1-test_pick_runner_command', runnable)
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'}])
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)
def setUp(self): self.runnable = nrunner.Runnable('mykind', 'test_runner_command_selection')
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)
def setUp(self): runnable = nrunner.Runnable('noop', 'uri') task = nrunner.Task('1', runnable) self.runtime_task = RuntimeTask(task) self.spawner = MockSpawner()