Exemple #1
0
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")
Exemple #2
0
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 == ""
Exemple #3
0
    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)
Exemple #4
0
    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)