예제 #1
0
 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', )])
예제 #2
0
 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', )])
예제 #3
0
 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',)
         ])
예제 #4
0
 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',)
         ])
예제 #5
0
 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',)
         ])
예제 #7
0
 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',)
         ])
예제 #8
0
 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', )])