def test_result_generation(sample_gotest): job = Job() fp = BytesIO(sample_gotest.encode("utf8")) handler = GoTestHandler(job) results = handler.get_tests(fp) assert len(results) == 3 r1 = results[0] assert type(r1) == ZeusTestResult assert r1.job == job assert r1.name == "golang.org/x/sync/syncmap/TestMapMatchesRWMutex" assert r1.duration == 10.0 assert r1.result == Result.passed assert r1.message is None r2 = results[1] assert type(r2) == ZeusTestResult assert r2.job == job assert r2.name == "golang.org/x/sync/syncmap/TestMapMatchesDeepCopy" assert r2.duration == 10.0 assert r2.result == Result.passed assert r2.message is None r3 = results[2] assert type(r3) == ZeusTestResult assert r3.job == job assert r3.name == "golang.org/x/sync/syncmap/TestConcurrentRange" assert r3.duration == 0.0 assert r3.result == Result.failed assert ( r3.message == "\tmap_test.go:169: Range visited 1024 elements of 1024-element Map\n")
def test_result_generation(sample_xunit): job = Job() fp = BytesIO(sample_xunit.encode("utf8")) handler = XunitHandler(job) results = handler.get_tests(fp) assert len(results) == 2 r1 = results[0] assert type(r1) == ZeusTestResult assert r1.job == job assert r1.name == "tests.test_report" assert r1.duration == 0.0 assert r1.result == Result.failed assert (r1.message == """tests/test_report.py:1: in <module> > import mock E ImportError: No module named mock""") r2 = results[1] assert type(r2) == ZeusTestResult assert r2.job == job assert r2.name == "tests.test_report.ParseTestResultsTest.test_simple" assert r2.duration == 1.65796279907 assert r2.result == Result.passed assert r2.message == ""
def post(self, build: Build): """ Create a new job. """ result = self.schema_from_request(job_schema, partial=True) if result.errors: return self.respond(result.errors, 403) data = result.data job = Job(build=build, repository_id=build.repository_id, **data) db.session.add(job) db.session.commit() aggregate_build_stats_for_job.delay(job_id=job.id) return self.respond_with_schema(job_schema, job)
def post(self, build: Build): """ Create a new job. """ data = self.schema_from_request(job_schema, partial=True) job = Job(build=build, repository_id=build.repository_id, **data) if job.status != Status.queued and not job.date_started: job.date_started = timezone.now() db.session.add(job) try: db.session.commit() except IntegrityError: db.session.rollback() return self.respond(status=422) aggregate_build_stats_for_job.delay(job_id=job.id) return self.respond_with_schema(job_schema, job)