|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
| 3 | +import reprlib |
3 | 4 | import sys |
4 | 5 | from typing import TYPE_CHECKING |
5 | 6 |
|
6 | 7 | from codeflash.cli_cmds.console import logger |
| 8 | +from codeflash.code_utils.code_utils import shorten_pytest_error |
7 | 9 | from codeflash.models.models import TestDiff, TestDiffScope, TestResults, TestType, VerificationType |
8 | 10 | from codeflash.verification.comparator import comparator |
9 | 11 |
|
@@ -57,11 +59,29 @@ def compare_test_results(original_results: TestResults, candidate_results: TestR |
57 | 59 | if candidate_test_failures |
58 | 60 | else "" |
59 | 61 | ) |
| 62 | + if cdd_pytest_error: |
| 63 | + cdd_pytest_error = shorten_pytest_error(cdd_pytest_error) |
60 | 64 | original_pytest_error = ( |
61 | 65 | original_test_failures.get(original_test_result.id.test_fn_qualified_name(), "") |
62 | 66 | if original_test_failures |
63 | 67 | else "" |
64 | 68 | ) |
| 69 | + if original_pytest_error: |
| 70 | + original_pytest_error = shorten_pytest_error(original_pytest_error) |
| 71 | + test_src_code = original_test_result.id.get_src_code(original_test_result.file_name) |
| 72 | + test_diff = TestDiff( |
| 73 | + scope=TestDiffScope.RETURN_VALUE, |
| 74 | + original_value=reprlib.repr(original_test_result.return_value), |
| 75 | + candidate_value=reprlib.repr(cdd_test_result.return_value), |
| 76 | + test_src_code=test_src_code, |
| 77 | + candidate_pytest_error=cdd_pytest_error, |
| 78 | + original_pass=original_test_result.did_pass, |
| 79 | + candidate_pass=cdd_test_result.did_pass, |
| 80 | + original_pytest_error=original_pytest_error, |
| 81 | + ) |
| 82 | + if not comparator(original_test_result.return_value, cdd_test_result.return_value, superset_obj=superset_obj): |
| 83 | + test_diff.scope = TestDiffScope.RETURN_VALUE |
| 84 | + test_diffs.append(test_diff) |
65 | 85 |
|
66 | 86 | if not comparator(original_test_result.return_value, cdd_test_result.return_value, superset_obj=superset_obj): |
67 | 87 | test_diffs.append( |
|
0 commit comments