Ejemplo n.º 1
0
    def testGetCulprit(self):
        gitiles_id = 'git_hash'
        Culprit.Create(self.gitiles_host, self.gitiles_project,
                       self.gitiles_ref, gitiles_id, 65432).put()

        culprit = Culprit.GetOrCreate(self.gitiles_host, self.gitiles_project,
                                      self.gitiles_ref, gitiles_id)

        self.assertIsNotNone(culprit)
        self.assertEqual([], culprit.failure_urlsafe_keys)
Ejemplo n.º 2
0
    def testCreateCulprit(self):
        gitiles_id = '67890'
        culprit = Culprit.GetOrCreate(
            self.gitiles_host,
            self.gitiles_project,
            self.gitiles_ref,
            gitiles_id,
            commit_position=67890,
            failure_urlsafe_keys=['failure_urlsafe_key'])

        self.assertIsNotNone(culprit)
        self.assertEqual(['failure_urlsafe_key'], culprit.failure_urlsafe_keys)
def _SaveCulpritInCompileFailures(compile_failures, culprit_commit):
  """Saves the culprit to compile failures.

  Args:
    compile_failures (list of CompileFailure): CompileFailures that are caused
      by the culprit_commit.
    culprit_commit (GitilesCommit): The commit that caused compile failure(s).
  """
  culprit_entity = Culprit.GetOrCreate(
      gitiles_host=culprit_commit.gitiles_host,
      gitiles_project=culprit_commit.gitiles_project,
      gitiles_ref=culprit_commit.gitiles_ref,
      gitiles_id=culprit_commit.gitiles_id,
      commit_position=culprit_commit.commit_position,
      failure_urlsafe_keys=[cf.key.urlsafe() for cf in compile_failures])

  for failure in compile_failures:
    failure.culprit_commit_key = culprit_entity.key
  ndb.put_multi(compile_failures)