(self)
| 42 | assert result == expected |
| 43 | |
| 44 | def test_junit_fail_escape_xml_chars(self) -> None: |
| 45 | serious = False |
| 46 | messages_by_file: dict[str | None, list[str]] = { |
| 47 | "file1.py": ["Test failed", "another line < > &"] |
| 48 | } |
| 49 | expected = """<?xml version="1.0" encoding="utf-8"?> |
| 50 | <testsuite errors="0" failures="1" name="mypy" skips="0" tests="1" time="1.230"> |
| 51 | <testcase classname="mypy" file="file1.py" line="1" name="mypy-py3.14-test-plat file1.py" time="1.230"> |
| 52 | <failure message="mypy produced messages">Test failed |
| 53 | another line < > &</failure> |
| 54 | </testcase> |
| 55 | </testsuite> |
| 56 | """ |
| 57 | result = _generate_junit_contents( |
| 58 | dt=1.23, |
| 59 | serious=serious, |
| 60 | messages_by_file=messages_by_file, |
| 61 | version="3.14", |
| 62 | platform="test-plat", |
| 63 | ) |
| 64 | assert result == expected |
| 65 | |
| 66 | def test_junit_fail_two_files(self) -> None: |
| 67 | serious = False |
nothing calls this directly
no test coverage detected