blob: 1a7b89fa656240a4e7bdf34dc5ef4440b8e7b61a [file] [log] [blame]
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()