Esempio n. 1
0
def test_update_autoclassification_bug(test_job, test_job_2,
                                       classified_failures):
    classified_failure = classified_failures[0]
    user = User.objects.create()

    # create some TextLogErrors attached to test_job_2
    text_log_errors, _ = create_lines(test_job_2, [(test_line, {})])

    # Job 1 has two failure lines so nothing should be updated
    assert classified_failure.bug_number is None

    # Create a BugJobMap
    BugJobMap.create(
        job_id=test_job.id,
        bug_id=1234,
        user=user,
    )
    mark_best_classification(text_log_errors[0], classified_failure)
    assert classified_failure.bug_number is None

    metadata = TextLogErrorMetadata.objects.get(
        text_log_error__step__job=test_job_2)
    metadata.failure_line = FailureLine.objects.get(pk=3)
    metadata.save()

    BugJobMap.create(
        job_id=test_job_2.id,
        bug_id=1234,
        user=user,
    )
    classified_failure.refresh_from_db()
    assert classified_failure.bug_number == 1234
def test_update_autoclassification_bug(test_job, test_job_2, classified_failures):
    classified_failure = classified_failures[0]
    user = User.objects.create()

    # create some TextLogErrors attached to test_job_2
    text_log_errors, _ = create_lines(test_job_2, [(test_line, {})])

    # Job 1 has two failure lines so nothing should be updated
    assert classified_failure.bug_number is None

    # Create a BugJobMap
    BugJobMap.create(
        job_id=test_job.id,
        bug_id=1234,
        user=user,
    )
    mark_best_classification(text_log_errors[0], classified_failure)
    assert classified_failure.bug_number is None

    metadata = TextLogErrorMetadata.objects.get(text_log_error__step__job=test_job_2)
    metadata.failure_line = FailureLine.objects.get(pk=3)
    metadata.save()

    BugJobMap.create(
        job_id=test_job_2.id,
        bug_id=1234,
        user=user,
    )
    classified_failure.refresh_from_db()
    assert classified_failure.bug_number == 1234
Esempio n. 3
0
def classified_failures(test_job, text_log_errors_failure_lines, test_matcher,
                        failure_classifications):
    from treeherder.model.models import ClassifiedFailure

    _, failure_lines = text_log_errors_failure_lines

    classified_failures = []

    for failure_line in failure_lines:
        if failure_line.job_guid == test_job.guid:
            classified_failure = ClassifiedFailure.objects.create()

            failure_line.error.create_match(test_matcher, classified_failure)
            mark_best_classification(failure_line.error, classified_failure)

            classified_failures.append(classified_failure)

    return classified_failures
Esempio n. 4
0
def test_update_autoclassification_bug(test_job, test_job_2, classified_failures):
    classified_failure = classified_failures[0]

    # Job 1 has two failure lines so nothing should be updated
    assert test_job.update_autoclassification_bug(1234) is None

    lines = [(test_line, {})]
    error_lines, _ = create_lines(test_job_2, lines)

    mark_best_classification(error_lines[0], classified_failures[0])
    assert classified_failure.bug_number is None

    metadata = TextLogErrorMetadata.objects.get(text_log_error__step__job=test_job_2)
    metadata.failure_line = FailureLine.objects.get(pk=3)
    metadata.save()

    assert test_job_2.update_autoclassification_bug(1234) == classified_failures[0]
    classified_failures[0].refresh_from_db()
    assert classified_failures[0].bug_number == 1234
Esempio n. 5
0
def classified_failures(test_job, text_log_errors_failure_lines, test_matcher,
                        failure_classifications):
    from treeherder.model.models import ClassifiedFailure
    from treeherder.services.elasticsearch import refresh_index

    _, failure_lines = text_log_errors_failure_lines

    classified_failures = []

    for failure_line in failure_lines:
        if failure_line.job_guid == test_job.guid:
            classified_failure = ClassifiedFailure.objects.create()

            failure_line.error.create_match(test_matcher, classified_failure)
            mark_best_classification(failure_line.error, classified_failure)

            classified_failures.append(classified_failure)

    if settings.ELASTICSEARCH_URL:
        refresh_index()

    return classified_failures
Esempio n. 6
0
def classified_failures(test_job, text_log_errors_failure_lines, test_matcher,
                        failure_classifications):
    from treeherder.model.models import ClassifiedFailure
    from treeherder.services.elasticsearch import refresh_index

    _, failure_lines = text_log_errors_failure_lines

    classified_failures = []

    for failure_line in failure_lines:
        if failure_line.job_guid == test_job.guid:
            classified_failure = ClassifiedFailure.objects.create()

            failure_line.error.create_match(test_matcher, classified_failure)
            mark_best_classification(failure_line.error, classified_failure)

            classified_failures.append(classified_failure)

    if settings.ELASTICSEARCH_URL:
        refresh_index()

    return classified_failures