Просмотр исходного кода

Hopefully fixes the test failures happening at the first minute of every hour

Ask Solem 13 лет назад
Родитель
Сommit
bf674ff8dc
2 измененных файлов с 69 добавлено и 59 удалено
  1. 68 58
      celery/tests/test_task/__init__.py
  2. 1 1
      celery/tests/test_utils/test_utils_timeutils.py

+ 68 - 58
celery/tests/test_task/__init__.py

@@ -574,38 +574,38 @@ def patch_crontab_nowfun(cls, retval):
 class test_crontab_parser(unittest.TestCase):
 
     def test_parse_star(self):
-        self.assertEquals(crontab_parser(24).parse('*'), set(range(24)))
-        self.assertEquals(crontab_parser(60).parse('*'), set(range(60)))
-        self.assertEquals(crontab_parser(7).parse('*'), set(range(7)))
+        self.assertEqual(crontab_parser(24).parse('*'), set(range(24)))
+        self.assertEqual(crontab_parser(60).parse('*'), set(range(60)))
+        self.assertEqual(crontab_parser(7).parse('*'), set(range(7)))
 
     def test_parse_range(self):
-        self.assertEquals(crontab_parser(60).parse('1-10'),
+        self.assertEqual(crontab_parser(60).parse('1-10'),
                           set(range(1, 10 + 1)))
-        self.assertEquals(crontab_parser(24).parse('0-20'),
+        self.assertEqual(crontab_parser(24).parse('0-20'),
                           set(range(0, 20 + 1)))
-        self.assertEquals(crontab_parser().parse('2-10'),
+        self.assertEqual(crontab_parser().parse('2-10'),
                           set(range(2, 10 + 1)))
 
     def test_parse_groups(self):
-        self.assertEquals(crontab_parser().parse('1,2,3,4'),
+        self.assertEqual(crontab_parser().parse('1,2,3,4'),
                           set([1, 2, 3, 4]))
-        self.assertEquals(crontab_parser().parse('0,15,30,45'),
+        self.assertEqual(crontab_parser().parse('0,15,30,45'),
                           set([0, 15, 30, 45]))
 
     def test_parse_steps(self):
-        self.assertEquals(crontab_parser(8).parse('*/2'),
+        self.assertEqual(crontab_parser(8).parse('*/2'),
                           set([0, 2, 4, 6]))
-        self.assertEquals(crontab_parser().parse('*/2'),
+        self.assertEqual(crontab_parser().parse('*/2'),
                           set(i * 2 for i in xrange(30)))
-        self.assertEquals(crontab_parser().parse('*/3'),
+        self.assertEqual(crontab_parser().parse('*/3'),
                           set(i * 3 for i in xrange(20)))
 
     def test_parse_composite(self):
-        self.assertEquals(crontab_parser(8).parse('*/2'), set([0, 2, 4, 6]))
-        self.assertEquals(crontab_parser().parse('2-9/5'), set([5]))
-        self.assertEquals(crontab_parser().parse('2-10/5'), set([5, 10]))
-        self.assertEquals(crontab_parser().parse('2-11/5,3'), set([3, 5, 10]))
-        self.assertEquals(crontab_parser().parse('2-4/3,*/5,0-21/4'),
+        self.assertEqual(crontab_parser(8).parse('*/2'), set([0, 2, 4, 6]))
+        self.assertEqual(crontab_parser().parse('2-9/5'), set([5]))
+        self.assertEqual(crontab_parser().parse('2-10/5'), set([5, 10]))
+        self.assertEqual(crontab_parser().parse('2-11/5,3'), set([3, 5, 10]))
+        self.assertEqual(crontab_parser().parse('2-4/3,*/5,0-21/4'),
                 set([0, 3, 4, 5, 8, 10, 12, 15, 16,
                     20, 25, 30, 35, 40, 45, 50, 55]))
 
@@ -650,45 +650,45 @@ class test_crontab_remaining_estimate(unittest.TestCase):
     def test_next_minute(self):
         next = self.next_ocurrance(crontab(),
                                    datetime(2010, 9, 11, 14, 30, 15))
-        self.assertEquals(next, datetime(2010, 9, 11, 14, 31))
+        self.assertEqual(next, datetime(2010, 9, 11, 14, 31))
 
     def test_not_next_minute(self):
         next = self.next_ocurrance(crontab(),
                                    datetime(2010, 9, 11, 14, 59, 15))
-        self.assertEquals(next, datetime(2010, 9, 11, 15, 0))
+        self.assertEqual(next, datetime(2010, 9, 11, 15, 0))
 
     def test_this_hour(self):
         next = self.next_ocurrance(crontab(minute=[5, 42]),
                                    datetime(2010, 9, 11, 14, 30, 15))
-        self.assertEquals(next, datetime(2010, 9, 11, 14, 42))
+        self.assertEqual(next, datetime(2010, 9, 11, 14, 42))
 
     def test_not_this_hour(self):
         next = self.next_ocurrance(crontab(minute=[5, 10, 15]),
                                    datetime(2010, 9, 11, 14, 30, 15))
-        self.assertEquals(next, datetime(2010, 9, 11, 15, 5))
+        self.assertEqual(next, datetime(2010, 9, 11, 15, 5))
 
     def test_today(self):
         next = self.next_ocurrance(crontab(minute=[5, 42], hour=[12, 17]),
                                    datetime(2010, 9, 11, 14, 30, 15))
-        self.assertEquals(next, datetime(2010, 9, 11, 17, 5))
+        self.assertEqual(next, datetime(2010, 9, 11, 17, 5))
 
     def test_not_today(self):
         next = self.next_ocurrance(crontab(minute=[5, 42], hour=[12]),
                                    datetime(2010, 9, 11, 14, 30, 15))
-        self.assertEquals(next, datetime(2010, 9, 12, 12, 5))
+        self.assertEqual(next, datetime(2010, 9, 12, 12, 5))
 
     def test_weekday(self):
         next = self.next_ocurrance(crontab(minute=30,
                                            hour=14,
                                            day_of_week="sat"),
                                    datetime(2010, 9, 11, 14, 30, 15))
-        self.assertEquals(next, datetime(2010, 9, 18, 14, 30))
+        self.assertEqual(next, datetime(2010, 9, 18, 14, 30))
 
     def test_not_weekday(self):
         next = self.next_ocurrance(crontab(minute=[5, 42],
                                            day_of_week="mon-fri"),
                                    datetime(2010, 9, 11, 14, 30, 15))
-        self.assertEquals(next, datetime(2010, 9, 13, 0, 5))
+        self.assertEqual(next, datetime(2010, 9, 13, 0, 5))
 
 
 class test_crontab_is_due(unittest.TestCase):
@@ -699,25 +699,25 @@ class test_crontab_is_due(unittest.TestCase):
 
     def test_default_crontab_spec(self):
         c = crontab()
-        self.assertEquals(c.minute, set(range(60)))
-        self.assertEquals(c.hour, set(range(24)))
-        self.assertEquals(c.day_of_week, set(range(7)))
+        self.assertEqual(c.minute, set(range(60)))
+        self.assertEqual(c.hour, set(range(24)))
+        self.assertEqual(c.day_of_week, set(range(7)))
 
     def test_simple_crontab_spec(self):
         c = crontab(minute=30)
-        self.assertEquals(c.minute, set([30]))
-        self.assertEquals(c.hour, set(range(24)))
-        self.assertEquals(c.day_of_week, set(range(7)))
+        self.assertEqual(c.minute, set([30]))
+        self.assertEqual(c.hour, set(range(24)))
+        self.assertEqual(c.day_of_week, set(range(7)))
 
     def test_crontab_spec_minute_formats(self):
         c = crontab(minute=30)
-        self.assertEquals(c.minute, set([30]))
+        self.assertEqual(c.minute, set([30]))
         c = crontab(minute='30')
-        self.assertEquals(c.minute, set([30]))
+        self.assertEqual(c.minute, set([30]))
         c = crontab(minute=(30, 40, 50))
-        self.assertEquals(c.minute, set([30, 40, 50]))
+        self.assertEqual(c.minute, set([30, 40, 50]))
         c = crontab(minute=set([30, 40, 50]))
-        self.assertEquals(c.minute, set([30, 40, 50]))
+        self.assertEqual(c.minute, set([30, 40, 50]))
 
     def test_crontab_spec_invalid_minute(self):
         self.assertRaises(ValueError, crontab, minute=60)
@@ -725,11 +725,11 @@ class test_crontab_is_due(unittest.TestCase):
 
     def test_crontab_spec_hour_formats(self):
         c = crontab(hour=6)
-        self.assertEquals(c.hour, set([6]))
+        self.assertEqual(c.hour, set([6]))
         c = crontab(hour='5')
-        self.assertEquals(c.hour, set([5]))
+        self.assertEqual(c.hour, set([5]))
         c = crontab(hour=(4, 8, 12))
-        self.assertEquals(c.hour, set([4, 8, 12]))
+        self.assertEqual(c.hour, set([4, 8, 12]))
 
     def test_crontab_spec_invalid_hour(self):
         self.assertRaises(ValueError, crontab, hour=24)
@@ -737,17 +737,27 @@ class test_crontab_is_due(unittest.TestCase):
 
     def test_crontab_spec_dow_formats(self):
         c = crontab(day_of_week=5)
-        self.assertEquals(c.day_of_week, set([5]))
+        self.assertEqual(c.day_of_week, set([5]))
         c = crontab(day_of_week='5')
-        self.assertEquals(c.day_of_week, set([5]))
+        self.assertEqual(c.day_of_week, set([5]))
         c = crontab(day_of_week='fri')
-        self.assertEquals(c.day_of_week, set([5]))
+        self.assertEqual(c.day_of_week, set([5]))
         c = crontab(day_of_week='tuesday,sunday,fri')
-        self.assertEquals(c.day_of_week, set([0, 2, 5]))
+        self.assertEqual(c.day_of_week, set([0, 2, 5]))
         c = crontab(day_of_week='mon-fri')
-        self.assertEquals(c.day_of_week, set([1, 2, 3, 4, 5]))
+        self.assertEqual(c.day_of_week, set([1, 2, 3, 4, 5]))
         c = crontab(day_of_week='*/2')
-        self.assertEquals(c.day_of_week, set([0, 2, 4, 6]))
+        self.assertEqual(c.day_of_week, set([0, 2, 4, 6]))
+
+    def seconds_almost_equal(self, a, b, precision):
+        for index, skew in enumerate((+0.1, 0, -0.1)):
+            try:
+                self.assertAlmostEqual(a, b + skew, precision)
+            except AssertionError:
+                if index + 1 >= 3:
+                    raise
+            else:
+                break
 
     def test_crontab_spec_invalid_dow(self):
         self.assertRaises(ValueError, crontab, day_of_week='fooday-barday')
@@ -759,13 +769,13 @@ class test_crontab_is_due(unittest.TestCase):
         last_ran = self.now - timedelta(seconds=61)
         due, remaining = EveryMinutePeriodic().is_due(last_ran)
         self.assertTrue(due)
-        self.assertAlmostEquals(remaining, self.next_minute, 1)
+        self.seconds_almost_equal(remaining, self.next_minute, 1)
 
     def test_every_minute_execution_is_not_due(self):
         last_ran = self.now - timedelta(seconds=self.now.second)
         due, remaining = EveryMinutePeriodic().is_due(last_ran)
         self.assertFalse(due)
-        self.assertAlmostEquals(remaining, self.next_minute, 1)
+        self.seconds_almost_equal(remaining, self.next_minute, 1)
 
     # 29th of May 2010 is a saturday
     @patch_crontab_nowfun(HourlyPeriodic, datetime(2010, 5, 29, 10, 30))
@@ -773,7 +783,7 @@ class test_crontab_is_due(unittest.TestCase):
         last_ran = self.now - timedelta(seconds=61)
         due, remaining = EveryMinutePeriodic().is_due(last_ran)
         self.assertTrue(due)
-        self.assertAlmostEquals(remaining, self.next_minute, 1)
+        self.seconds_almost_equal(remaining, self.next_minute, 1)
 
     # 30th of May 2010 is a sunday
     @patch_crontab_nowfun(HourlyPeriodic, datetime(2010, 5, 30, 10, 30))
@@ -781,7 +791,7 @@ class test_crontab_is_due(unittest.TestCase):
         last_ran = self.now - timedelta(seconds=61)
         due, remaining = EveryMinutePeriodic().is_due(last_ran)
         self.assertTrue(due)
-        self.assertAlmostEquals(remaining, self.next_minute, 1)
+        self.seconds_almost_equal(remaining, self.next_minute, 1)
 
     # 31st of May 2010 is a monday
     @patch_crontab_nowfun(HourlyPeriodic, datetime(2010, 5, 31, 10, 30))
@@ -789,68 +799,68 @@ class test_crontab_is_due(unittest.TestCase):
         last_ran = self.now - timedelta(seconds=61)
         due, remaining = EveryMinutePeriodic().is_due(last_ran)
         self.assertTrue(due)
-        self.assertAlmostEquals(remaining, self.next_minute, 1)
+        self.seconds_almost_equal(remaining, self.next_minute, 1)
 
     @patch_crontab_nowfun(HourlyPeriodic, datetime(2010, 5, 10, 10, 30))
     def test_every_hour_execution_is_due(self):
         due, remaining = HourlyPeriodic().is_due(datetime(2010, 5, 10, 6, 30))
         self.assertTrue(due)
-        self.assertEquals(remaining, 60 * 60)
+        self.assertEqual(remaining, 60 * 60)
 
     @patch_crontab_nowfun(HourlyPeriodic, datetime(2010, 5, 10, 10, 29))
     def test_every_hour_execution_is_not_due(self):
         due, remaining = HourlyPeriodic().is_due(datetime(2010, 5, 10, 9, 30))
         self.assertFalse(due)
-        self.assertEquals(remaining, 60)
+        self.assertEqual(remaining, 60)
 
     @patch_crontab_nowfun(QuarterlyPeriodic, datetime(2010, 5, 10, 10, 15))
     def test_first_quarter_execution_is_due(self):
         due, remaining = QuarterlyPeriodic().is_due(
                             datetime(2010, 5, 10, 6, 30))
         self.assertTrue(due)
-        self.assertEquals(remaining, 15 * 60)
+        self.assertEqual(remaining, 15 * 60)
 
     @patch_crontab_nowfun(QuarterlyPeriodic, datetime(2010, 5, 10, 10, 30))
     def test_second_quarter_execution_is_due(self):
         due, remaining = QuarterlyPeriodic().is_due(
                             datetime(2010, 5, 10, 6, 30))
         self.assertTrue(due)
-        self.assertEquals(remaining, 15 * 60)
+        self.assertEqual(remaining, 15 * 60)
 
     @patch_crontab_nowfun(QuarterlyPeriodic, datetime(2010, 5, 10, 10, 14))
     def test_first_quarter_execution_is_not_due(self):
         due, remaining = QuarterlyPeriodic().is_due(
                             datetime(2010, 5, 10, 10, 0))
         self.assertFalse(due)
-        self.assertEquals(remaining, 60)
+        self.assertEqual(remaining, 60)
 
     @patch_crontab_nowfun(QuarterlyPeriodic, datetime(2010, 5, 10, 10, 29))
     def test_second_quarter_execution_is_not_due(self):
         due, remaining = QuarterlyPeriodic().is_due(
                             datetime(2010, 5, 10, 10, 15))
         self.assertFalse(due)
-        self.assertEquals(remaining, 60)
+        self.assertEqual(remaining, 60)
 
     @patch_crontab_nowfun(DailyPeriodic, datetime(2010, 5, 10, 7, 30))
     def test_daily_execution_is_due(self):
         due, remaining = DailyPeriodic().is_due(datetime(2010, 5, 9, 7, 30))
         self.assertTrue(due)
-        self.assertEquals(remaining, 24 * 60 * 60)
+        self.assertEqual(remaining, 24 * 60 * 60)
 
     @patch_crontab_nowfun(DailyPeriodic, datetime(2010, 5, 10, 10, 30))
     def test_daily_execution_is_not_due(self):
         due, remaining = DailyPeriodic().is_due(datetime(2010, 5, 10, 7, 30))
         self.assertFalse(due)
-        self.assertEquals(remaining, 21 * 60 * 60)
+        self.assertEqual(remaining, 21 * 60 * 60)
 
     @patch_crontab_nowfun(WeeklyPeriodic, datetime(2010, 5, 6, 7, 30))
     def test_weekly_execution_is_due(self):
         due, remaining = WeeklyPeriodic().is_due(datetime(2010, 4, 30, 7, 30))
         self.assertTrue(due)
-        self.assertEquals(remaining, 7 * 24 * 60 * 60)
+        self.assertEqual(remaining, 7 * 24 * 60 * 60)
 
     @patch_crontab_nowfun(WeeklyPeriodic, datetime(2010, 5, 7, 10, 30))
     def test_weekly_execution_is_not_due(self):
         due, remaining = WeeklyPeriodic().is_due(datetime(2010, 5, 6, 7, 30))
         self.assertFalse(due)
-        self.assertEquals(remaining, 6 * 24 * 60 * 60 - 3 * 60 * 60)
+        self.assertEqual(remaining, 6 * 24 * 60 * 60 - 3 * 60 * 60)

+ 1 - 1
celery/tests/test_utils/test_utils_timeutils.py

@@ -57,6 +57,6 @@ class test_timeutils(unittest.TestCase):
         D = timeutils.maybe_timedelta
 
         for i in (30, 30.6):
-            self.assertEquals(D(i), timedelta(seconds=i))
+            self.assertEqual(D(i), timedelta(seconds=i))
 
         self.assertEqual(D(timedelta(days=2)), timedelta(days=2))