def testClassifySuspects(self):
        """Tests ``ClassifySuspects`` classify a list of ``Suspect``s."""
        suspect1 = Suspect(self.GetDummyChangeLog(), 'src/')
        suspect1.changelog = suspect1.changelog._replace(touched_files=[
            FileChangeInfo(ChangeType.MODIFY, 'comp1/a.cc', 'comp1/b.cc')
        ])
        suspect2 = Suspect(self.GetDummyChangeLog(), 'src/')
        suspect2.changelog = suspect2.changelog._replace(touched_files=[
            FileChangeInfo(ChangeType.MODIFY, 'comp2/a.cc', 'comp2/b.cc')
        ])

        self.assertEqual(
            self.classifier.ClassifySuspects([suspect1, suspect2]),
            ['Comp1>Dummy', 'Comp2>Dummy'])
Пример #2
0
  def testCall(self):
    """Tests ``__call__`` of the filter."""
    suspect1 = Suspect(self.GetDummyChangeLog(), 'src/')
    suspect2 = Suspect(self.GetDummyChangeLog(), 'src/')
    suspect3 = Suspect(self.GetDummyChangeLog(), 'src/')

    suspect1.changelog = suspect1.changelog._replace(revision='rev1')
    suspect2.changelog = suspect2.changelog._replace(revision='rev2')
    suspect3.changelog = suspect3.changelog._replace(revision='rev3')

    ignore_revisions = set(['rev1', 'rev2'])
    suspect_filter = suspect_filters.FilterIgnoredRevisions(
        _MockGitRepository(ignore_revisions=ignore_revisions))

    self.assertSetEqual(set(suspect_filter([suspect1, suspect2, suspect3])),
                        set([suspect3]))
 def testClassifySuspectNoMatch(self):
     """Tests ``ClassifySuspect`` returns None if there is no file match."""
     suspect = Suspect(self.GetDummyChangeLog(), 'dummy')
     suspect.changelog = suspect.changelog._replace(touched_files=[
         FileChangeInfo(ChangeType.MODIFY, 'comp1.cc', 'comp1.cc')
     ])
     self.assertEqual(self.classifier.ClassifySuspect(suspect), [])
 def testClassifySuspect(self):
     """Tests ``ClassifySuspect`` method."""
     suspect = Suspect(self.GetDummyChangeLog(), 'src/')
     suspect.changelog = suspect.changelog._replace(touched_files=[
         FileChangeInfo(ChangeType.MODIFY, 'comp1/a.cc', 'comp1/b.cc')
     ])
     self.assertEqual(self.classifier.ClassifySuspect(suspect),
                      ['Comp1>Dummy'])
Пример #5
0
  def testIsSuspectFromRobotAuthor(self):
    """Tests that ``_IsSuspectFromRobotAuthor`` method returns True."""
    suspect = Suspect(self.GetDummyChangeLog(), 'src/')
    robot_author = suspect.changelog.author._replace(
        email='*****@*****.**')
    robot_cl = suspect.changelog._replace(author=robot_author)
    suspect.changelog = robot_cl

    suspect_filter = suspect_filters.FilterSuspectFromRobotAuthor()
    self.assertTrue(suspect_filter._IsSuspectFromRobotAuthor(suspect))
  def testCall(self):
    """Tests ``__call__`` method."""
    suspect = Suspect(self.GetDummyChangeLog(), 'src/')

    touched_file = FileChangeInfo.FromDict({'old_path': None,
                                            'new_path': 'a.cc',
                                            'change_type': 'add'})
    suspect.changelog = suspect.changelog._replace(
        touched_files=[touched_file]*15)
    self.assertEqual(self._feature(None)(suspect).value, 0.0)
Пример #7
0
  def testCall(self):
    """Tests ``__call__`` method."""
    suspect1 = Suspect(self.GetDummyChangeLog(), 'src/')
    suspect2 = Suspect(self.GetDummyChangeLog(), 'src/')
    robot_author = suspect2.changelog.author._replace(
        email='*****@*****.**')
    robot_cl = suspect2.changelog._replace(author=robot_author)
    suspect2.changelog = robot_cl

    suspect_filter = suspect_filters.FilterSuspectFromRobotAuthor()
    self.assertListEqual(suspect_filter([suspect1, suspect2]),
                         [suspect1])