@@ -449,7 +449,8 @@ def test_invalid_make_path_safe(path):
449449
450450class MockArchive :
451451 def __init__ (self , ts , id ):
452- self .ts = ts
452+ # Real archive objects have UTC zoned timestamps
453+ self .ts = ts .replace (tzinfo = timezone .utc )
453454 self .id = id
454455
455456 def __repr__ (self ):
@@ -475,23 +476,23 @@ def subset(lst, ids):
475476
476477 archives = [
477478 # years apart
478- MockArchive (datetime (2015 , 1 , 1 , 10 , 0 , 0 , tzinfo = None ), 1 ),
479- MockArchive (datetime (2016 , 1 , 1 , 10 , 0 , 0 , tzinfo = None ), 2 ),
480- MockArchive (datetime (2017 , 1 , 1 , 10 , 0 , 0 , tzinfo = None ), 3 ),
479+ MockArchive (datetime (2015 , 1 , 1 , 10 , 0 , 0 ), 1 ),
480+ MockArchive (datetime (2016 , 1 , 1 , 10 , 0 , 0 ), 2 ),
481+ MockArchive (datetime (2017 , 1 , 1 , 10 , 0 , 0 ), 3 ),
481482 # months apart
482- MockArchive (datetime (2017 , 2 , 1 , 10 , 0 , 0 , tzinfo = None ), 4 ),
483- MockArchive (datetime (2017 , 3 , 1 , 10 , 0 , 0 , tzinfo = None ), 5 ),
483+ MockArchive (datetime (2017 , 2 , 1 , 10 , 0 , 0 ), 4 ),
484+ MockArchive (datetime (2017 , 3 , 1 , 10 , 0 , 0 ), 5 ),
484485 # days apart
485- MockArchive (datetime (2017 , 3 , 2 , 10 , 0 , 0 , tzinfo = None ), 6 ),
486- MockArchive (datetime (2017 , 3 , 3 , 10 , 0 , 0 , tzinfo = None ), 7 ),
487- MockArchive (datetime (2017 , 3 , 4 , 10 , 0 , 0 , tzinfo = None ), 8 ),
486+ MockArchive (datetime (2017 , 3 , 2 , 10 , 0 , 0 ), 6 ),
487+ MockArchive (datetime (2017 , 3 , 3 , 10 , 0 , 0 ), 7 ),
488+ MockArchive (datetime (2017 , 3 , 4 , 10 , 0 , 0 ), 8 ),
488489 # minutes apart
489- MockArchive (datetime (2017 , 10 , 1 , 9 , 45 , 0 , tzinfo = None ), 9 ),
490- MockArchive (datetime (2017 , 10 , 1 , 9 , 55 , 0 , tzinfo = None ), 10 ),
490+ MockArchive (datetime (2017 , 10 , 1 , 9 , 45 , 0 ), 9 ),
491+ MockArchive (datetime (2017 , 10 , 1 , 9 , 55 , 0 ), 10 ),
491492 # seconds apart
492- MockArchive (datetime (2017 , 10 , 1 , 10 , 0 , 1 , tzinfo = None ), 11 ),
493- MockArchive (datetime (2017 , 10 , 1 , 10 , 0 , 3 , tzinfo = None ), 12 ),
494- MockArchive (datetime (2017 , 10 , 1 , 10 , 0 , 5 , tzinfo = None ), 13 ),
493+ MockArchive (datetime (2017 , 10 , 1 , 10 , 0 , 1 ), 11 ),
494+ MockArchive (datetime (2017 , 10 , 1 , 10 , 0 , 3 ), 12 ),
495+ MockArchive (datetime (2017 , 10 , 1 , 10 , 0 , 5 ), 13 ),
495496 ]
496497 kept_because = {}
497498 keep = prune_split (archives , rule , num_to_keep , None , kept_because )
@@ -507,12 +508,12 @@ def subset(lst, ids):
507508
508509 archives = [
509510 # oldest backup, but not last in its year
510- MockArchive (datetime (2018 , 1 , 1 , 10 , 0 , 0 , tzinfo = None ), 1 ),
511+ MockArchive (datetime (2018 , 1 , 1 , 10 , 0 , 0 ), 1 ),
511512 # an interim backup
512- MockArchive (datetime (2018 , 12 , 30 , 10 , 0 , 0 , tzinfo = None ), 2 ),
513+ MockArchive (datetime (2018 , 12 , 30 , 10 , 0 , 0 ), 2 ),
513514 # year-end backups
514- MockArchive (datetime (2018 , 12 , 31 , 10 , 0 , 0 , tzinfo = None ), 3 ),
515- MockArchive (datetime (2019 , 12 , 31 , 10 , 0 , 0 , tzinfo = None ), 4 ),
515+ MockArchive (datetime (2018 , 12 , 31 , 10 , 0 , 0 ), 3 ),
516+ MockArchive (datetime (2019 , 12 , 31 , 10 , 0 , 0 ), 4 ),
516517 ]
517518
518519 # Keep oldest when retention target can't otherwise be met
0 commit comments