def test_get_subunit_from_test_run(self): repo = self.repo_impl.initialise(self.sample_url) result = repo.get_inserter() legacy_result = testtools.ExtendedToStreamDecorator(result) legacy_result.startTestRun() make_test('testrepository.tests.test_repository.Case.method', True).run(legacy_result) legacy_result.stopTestRun() inserted = result.get_id() run = repo.get_test_run(inserted) as_subunit = run.get_subunit_stream() stream = v2.ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual( [tuple(ev) for ev in log._events], [('startTestRun', ), ('status', 'testrepository.tests.test_repository.Case.method', 'inprogress', None, True, None, None, False, None, None, Wildcard), ('status', 'testrepository.tests.test_repository.Case.method', 'success', None, True, None, None, False, None, None, Wildcard), ('stopTestRun', )])
def test_with_subunit_shows_subunit_stream(self): ui, cmd = self.get_test_ui_and_cmd(options=[('subunit', True)]) cmd.repository_factory = memory.RepositoryFactory() repo = cmd.repository_factory.initialise(ui.here) inserter = repo.get_inserter() inserter.startTestRun() inserter.status(test_id='failing', test_status='fail') inserter.status(test_id='ok', test_status='success') inserter.stopTestRun() self.assertEqual(0, cmd.execute()) self.assertEqual(1, len(ui.outputs)) self.assertEqual('stream', ui.outputs[0][0]) as_subunit = BytesIO(ui.outputs[0][1]) stream = ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual([tuple(ev) for ev in log._events], [('startTestRun', ), ('status', 'failing', 'inprogress', None, True, None, None, False, None, None, Wildcard), ('status', 'failing', 'fail', None, True, None, None, False, None, None, Wildcard), ('stopTestRun', )])
def test_shows_subunit_stream(self): ui, cmd = self.get_test_ui_and_cmd(options=[('subunit', True)]) cmd.repository_factory = memory.RepositoryFactory() repo = cmd.repository_factory.initialise(ui.here) self._add_run(repo) self.assertEqual(0, cmd.execute()) # We should have seen test outputs (of the failure) and summary data. self.assertEqual([ ('stream', Wildcard), ], ui.outputs) as_subunit = BytesIO(ui.outputs[0][1]) stream = ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual( log._events, [ ('startTestRun',), ('status', 'failing', 'fail', None, True, None, None, False, None, None, None), ('status', 'ok', 'success', None, True, None, None, False, None, None, None), ('stopTestRun',) ])
def test_with_subunit_shows_subunit_stream(self): ui, cmd = self.get_test_ui_and_cmd(options=[('subunit', True)]) cmd.repository_factory = memory.RepositoryFactory() repo = cmd.repository_factory.initialise(ui.here) inserter = repo.get_inserter() inserter.startTestRun() inserter.status(test_id='failing', test_status='fail') inserter.status(test_id='ok', test_status='success') inserter.stopTestRun() self.assertEqual(0, cmd.execute()) self.assertEqual(1, len(ui.outputs)) self.assertEqual('stream', ui.outputs[0][0]) as_subunit = BytesIO(ui.outputs[0][1]) stream = ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual( log._events, [ ('startTestRun',), ('status', 'failing', 'inprogress', None, True, None, None, False, None, None, Wildcard), ('status', 'failing', 'fail', None, True, None, None, False, None, None, Wildcard), ('stopTestRun',) ])
def test_get_failing_get_subunit_stream(self): repo = self.repo_impl.initialise(self.sample_url) result = repo.get_inserter() legacy_result = testtools.ExtendedToStreamDecorator(result) legacy_result.startTestRun() make_test('testrepository.tests.test_repository.Case.method', False).run(legacy_result) legacy_result.stopTestRun() run = repo.get_failing() as_subunit = run.get_subunit_stream() stream = v2.ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual( log._events, [('startTestRun', ), ('status', 'testrepository.tests.test_repository.Case.method', 'inprogress', None, True, None, None, False, None, None, Wildcard), ('status', 'testrepository.tests.test_repository.Case.method', None, None, True, 'traceback', Wildcard, True, Wildcard, None, Wildcard), ('status', 'testrepository.tests.test_repository.Case.method', 'fail', None, True, None, None, False, None, None, Wildcard), ('stopTestRun', )])
def test_get_failing_get_subunit_stream(self): repo = self.repo_impl.initialise(self.sample_url) result = repo.get_inserter() legacy_result = testtools.ExtendedToStreamDecorator(result) legacy_result.startTestRun() make_test('testrepository.tests.test_repository.Case.method', False).run(legacy_result) legacy_result.stopTestRun() run = repo.get_failing() as_subunit = run.get_subunit_stream() stream = v2.ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual( [tuple(ev) for ev in log._events], [ ('startTestRun',), ('status', 'testrepository.tests.test_repository.Case.method', 'inprogress', None, True, None, None, False, None, None, Wildcard), ('status', 'testrepository.tests.test_repository.Case.method', None, None, True, 'traceback', Wildcard, True, Wildcard, None, Wildcard), ('status', 'testrepository.tests.test_repository.Case.method', 'fail', None, True, None, None, False, None, None, Wildcard), ('stopTestRun',) ])
def test_get_subunit_from_test_run(self): repo = self.repo_impl.initialise(self.sample_url) result = repo.get_inserter() legacy_result = testtools.ExtendedToStreamDecorator(result) legacy_result.startTestRun() make_test('testrepository.tests.test_repository.Case.method', True).run(legacy_result) legacy_result.stopTestRun() inserted = result.get_id() run = repo.get_test_run(inserted) as_subunit = run.get_subunit_stream() stream = v2.ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual( log._events, [ ('startTestRun',), ('status', 'testrepository.tests.test_repository.Case.method', 'inprogress', None, True, None, None, False, None, None, Wildcard), ('status', 'testrepository.tests.test_repository.Case.method', 'success', None, True, None, None, False, None, None, Wildcard), ('stopTestRun',) ])
def test_shows_subunit_stream(self): ui, cmd = self.get_test_ui_and_cmd(options=[('subunit', True)]) cmd.repository_factory = memory.RepositoryFactory() repo = cmd.repository_factory.initialise(ui.here) self._add_run(repo) self.assertEqual(0, cmd.execute()) # We should have seen test outputs (of the failure) and summary data. self.assertEqual([ ('stream', Wildcard), ], ui.outputs) as_subunit = BytesIO(ui.outputs[0][1]) stream = ByteStreamToStreamResult(as_subunit) log = StreamResult() log.startTestRun() try: stream.run(log) finally: log.stopTestRun() self.assertEqual(log._events, [('startTestRun', ), ('status', 'failing', 'fail', None, True, None, None, False, None, None, None), ('status', 'ok', 'success', None, True, None, None, False, None, None, None), ('stopTestRun', )])