Skip to content

[3.5] bpo-30822: Fix testing of datetime module. (GH-2530) #2550

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Lib/datetime.py
Original file line number Diff line number Diff line change
Expand Up @@ -2135,7 +2135,8 @@ def _name_from_offset(delta):
_check_tzinfo_arg, _check_tzname, _check_utc_offset, _cmp, _cmperror,
_date_class, _days_before_month, _days_before_year, _days_in_month,
_format_time, _is_leap, _isoweek1monday, _math, _ord2ymd,
_time, _time_class, _tzinfo_class, _wrap_strftime, _ymd2ord)
_time, _time_class, _tzinfo_class, _wrap_strftime, _ymd2ord,
_divide_and_round)
# XXX Since import * above excludes names that start with _,
# docstring does not get overwritten. In the future, it may be
# appropriate to maintain a single module level docstring and
Expand Down
12 changes: 7 additions & 5 deletions Lib/test/datetimetester.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@ def test_constants(self):
self.assertEqual(datetime.MAXYEAR, 9999)

def test_name_cleanup(self):
if '_Fast' not in str(self):
return
if '_Pure' in self.__class__.__name__:
self.skipTest('Only run for Fast C implementation')

datetime = datetime_module
names = set(name for name in dir(datetime)
if not name.startswith('__') and not name.endswith('__'))
Expand All @@ -64,8 +65,9 @@ def test_name_cleanup(self):
self.assertEqual(names - allowed, set([]))

def test_divide_and_round(self):
if '_Fast' in str(self):
return
if '_Fast' in self.__class__.__name__:
self.skipTest('Only run for Pure Python implementation')

dar = datetime_module._divide_and_round

self.assertEqual(dar(-10, -3), 3)
Expand Down Expand Up @@ -2733,7 +2735,7 @@ def tzname(self, dt): return self.tz
self.assertRaises(TypeError, t.strftime, "%Z")

# Issue #6697:
if '_Fast' in str(self):
if '_Fast' in self.__class__.__name__:
Badtzname.tz = '\ud800'
self.assertRaises(ValueError, t.strftime, "%Z")

Expand Down
3 changes: 2 additions & 1 deletion Lib/test/test_datetime.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
for name, cls in module.__dict__.items():
if not (isinstance(cls, type) and issubclass(cls, unittest.TestCase)):
continue
cls.__name__ = name + suffix
cls.__name__ += suffix
cls.__qualname__ += suffix
@classmethod
def setUpClass(cls_, module=module):
cls_._save_sys_modules = sys.modules.copy()
Expand Down
1 change: 1 addition & 0 deletions Misc/ACKS
Original file line number Diff line number Diff line change
Expand Up @@ -1545,6 +1545,7 @@ Doobee R. Tzeck
Eren Türkay
Lionel Ulmer
Adnan Umer
Utkarsh Upadhyay
Roger Upole
Daniel Urban
Michael Urman
Expand Down