| from unittest import main, TestCase |
| |
| from pytest_caching_utils import _merged_lastfailed_content |
| |
| |
| class TestPytestCachingUtils(TestCase): |
| def test_merged_lastfailed_content_with_overlap(self) -> None: |
| last_failed_source = { |
| "tools/tests/test_foo.py::test_num1": True, |
| "tools/tests/test_foo.py::test_num2": True, |
| "tools/tests/test_bar.py::test_num1": True, |
| } |
| last_failed_dest = { |
| "tools/tests/test_foo.py::test_num1": True, |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| last_failed_merged = { |
| "tools/tests/test_foo.py::test_num1": True, |
| "tools/tests/test_foo.py::test_num2": True, |
| "tools/tests/test_bar.py::test_num1": True, |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| |
| merged = _merged_lastfailed_content(last_failed_source, last_failed_dest) |
| self.assertEqual(merged, last_failed_merged) |
| |
| def test_merged_lastfailed_content_without_overlap(self) -> None: |
| last_failed_source = { |
| "tools/tests/test_foo.py::test_num1": True, |
| "tools/tests/test_foo.py::test_num2": True, |
| "tools/tests/test_bar.py::test_num1": True, |
| } |
| last_failed_dest = { |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| last_failed_merged = { |
| "tools/tests/test_foo.py::test_num1": True, |
| "tools/tests/test_foo.py::test_num2": True, |
| "tools/tests/test_bar.py::test_num1": True, |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| |
| merged = _merged_lastfailed_content(last_failed_source, last_failed_dest) |
| self.assertEqual(merged, last_failed_merged) |
| |
| def test_merged_lastfailed_content_with_empty_source(self) -> None: |
| last_failed_source = { |
| "": True, |
| } |
| last_failed_dest = { |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| last_failed_merged = { |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| |
| merged = _merged_lastfailed_content(last_failed_source, last_failed_dest) |
| self.assertEqual(merged, last_failed_merged) |
| |
| def test_merged_lastfailed_content_with_empty_dest(self) -> None: |
| last_failed_source = { |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| last_failed_dest = { |
| "": True, |
| } |
| last_failed_merged = { |
| "tools/tests/test_car.py::test_num1": True, |
| "tools/tests/test_car.py::test_num2": True, |
| } |
| |
| merged = _merged_lastfailed_content(last_failed_source, last_failed_dest) |
| self.assertEqual(merged, last_failed_merged) |
| |
| |
| if __name__ == "__main__": |
| main() |