def test_get_build_failure_reasons_multiple_failures(self): project = self.create_project(name="test", slug="project-slug") build = self.create_build(project, result=Result.failed, target="D1", label="Some sweet diff") job = self.create_job(build=build, result=Result.failed) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed) for reason in ("missing_tests", "timeout", "aborted"): db.session.add( FailureReason( step_id=jobstep.id, job_id=job.id, build_id=build.id, project_id=project.id, reason=reason ) ) jobstep2 = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed) for reason in ("timeout", "insufficient_politeness"): db.session.add( FailureReason( step_id=jobstep2.id, job_id=job.id, build_id=build.id, project_id=project.id, reason=reason ) ) jobstep3 = self.create_jobstep( jobphase, status=Status.finished, result=Result.infra_failed, replacement_id=jobstep.id ) # shouldn't be included because jobstep3 is replaced db.session.add( FailureReason( step_id=jobstep3.id, job_id=job.id, build_id=build.id, project_id=project.id, reason="infra_reasons" ) ) db.session.commit() self.assertEquals( _get_build_failure_reasons(build), ["aborted", "insufficient_politeness", "missing_tests", "timeout"] )
def test_get_build_failure_reasons_multiple_failures(self): project = self.create_project(name='test', slug='project-slug') build = self.create_build(project, result=Result.failed, target='D1', label='Some sweet diff') job = self.create_job(build=build, result=Result.failed) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed) for reason in ('missing_tests', 'timeout', 'aborted'): db.session.add( FailureReason(step_id=jobstep.id, job_id=job.id, build_id=build.id, project_id=project.id, reason=reason)) jobstep2 = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed) for reason in ('timeout', 'insufficient_politeness'): db.session.add( FailureReason(step_id=jobstep2.id, job_id=job.id, build_id=build.id, project_id=project.id, reason=reason)) db.session.commit() self.assertEquals( _get_build_failure_reasons(build), ['aborted', 'insufficient_politeness', 'missing_tests', 'timeout'])
def test_get_build_failure_reasons_no_failures(self): project = self.create_project(name='test', slug='project-slug') build = self.create_build(project, result=Result.passed, target='D1', label='Some sweet diff') self.assertEquals(_get_build_failure_reasons(build), [])
def test_get_build_failure_reasons_multiple_failures(self): project = self.create_project(name='test', slug='project-slug') build = self.create_build(project, result=Result.failed, target='D1', label='Some sweet diff') job = self.create_job(build=build, result=Result.failed) jobphase = self.create_jobphase(job) jobstep = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed) for reason in ('missing_tests', 'timeout', 'aborted'): db.session.add(FailureReason(step_id=jobstep.id, job_id=job.id, build_id=build.id, project_id=project.id, reason=reason)) jobstep2 = self.create_jobstep(jobphase, status=Status.finished, result=Result.failed) for reason in ('timeout', 'insufficient_politeness'): db.session.add(FailureReason(step_id=jobstep2.id, job_id=job.id, build_id=build.id, project_id=project.id, reason=reason)) db.session.commit() self.assertEquals(_get_build_failure_reasons(build), ['aborted', 'insufficient_politeness', 'missing_tests', 'timeout'])
def test_get_build_failure_reasons_no_failures(self): project = self.create_project(name='test', slug='project-slug') build = self.create_build(project, result=Result.passed, target='D1', label='Some sweet diff') self.assertEquals(_get_build_failure_reasons(build), [])
def test_get_build_failure_reasons_no_failures(self): project = self.create_project(name="test", slug="project-slug") build = self.create_build(project, result=Result.passed, target="D1", label="Some sweet diff") self.assertEquals(_get_build_failure_reasons(build), [])