From 9e6460701224dd0c2ada7feacd4f745f55741dbc Mon Sep 17 00:00:00 2001 From: Rami Abdelrazzaq Date: Sat, 12 Sep 2026 21:03:08 -0500 Subject: [PATCH] Add regression tests for date parser overflow --- tests/test_recipe_overflow.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/test_recipe_overflow.py diff --git a/tests/test_recipe_overflow.py b/tests/test_recipe_overflow.py new file mode 100644 index 0000000..0d920eb --- /dev/null +++ b/tests/test_recipe_overflow.py @@ -0,0 +1,24 @@ +import pytest + +from sqlite_utils import recipes + + +OVERFLOWING_DATE = "999999999999999999999999999999-01-01" + + +@pytest.mark.parametrize("fn", ("parsedate", "parsedatetime")) +def test_dateparse_overflow_raises_by_default(fn): + with pytest.raises(OverflowError): + getattr(recipes, fn)(OVERFLOWING_DATE) + + +@pytest.mark.parametrize("fn", ("parsedate", "parsedatetime")) +@pytest.mark.parametrize( + "errors,expected", + ( + (recipes.IGNORE, OVERFLOWING_DATE), + (recipes.SET_NULL, None), + ), +) +def test_dateparse_overflow_respects_errors(fn, errors, expected): + assert getattr(recipes, fn)(OVERFLOWING_DATE, errors=errors) == expected