Code review comment for lp:~bac/charmworld/utc-smackdown

Revision history for this message
Brad Crittenden (bac) wrote :

Reviewers: mp+191291_code.launchpad.net,

Message:
Please take a look.

Description:
Make cw code tests tz agnostic.

In the past there have been some incredibly hard to debug test failures
caused by using .now() vs .utcnow(). During a routine inspection I saw
various instances of .now() being used and have replaced them.

Added a .lbox to use -cr on propose by default and set the project
to lp:charmworld.

Fixed the testdebug target to stop on failures in addition to errors.

https://code.launchpad.net/~bac/charmworld/utc-smackdown/+merge/191291

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/14486046/

Affected files (+12, -9 lines):
   .lbox
   Makefile
   [revision details]
   charmworld/jobs/tests/test_askubuntu.py
   charmworld/jobs/tests/test_review.py
   charmworld/migrations/migrate.py
   charmworld/reports.py
   charmworld/tests/test_utils.py
   charmworld/utils.py

Index: .lbox
=== added file '.lbox'
--- .lbox 1970-01-01 00:00:00 +0000
+++ .lbox 2013-10-15 20:26:51 +0000
@@ -0,0 +1,1 @@
+propose -cr -for lp:charmworld

Index: Makefile
=== modified file 'Makefile'
--- Makefile 2013-10-15 17:55:59 +0000
+++ Makefile 2013-10-15 20:04:46 +0000
@@ -122,7 +122,7 @@
   bin/test -v -s -x --with-id $(ID) charmworld

  testdebug: bin/test
- bin/test --pdb charmworld
+ bin/test --pdb --pdb-failures charmworld

  check: clear_ini clean sysdeps install lint testid

Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: tarmac-20131015180445-lmxsdrtp2xjl0ec3
+New revision: <email address hidden>

Index: charmworld/reports.py
=== modified file 'charmworld/reports.py'
--- charmworld/reports.py 2013-08-08 12:05:02 +0000
+++ charmworld/reports.py 2013-10-15 20:04:46 +0000
@@ -34,7 +34,7 @@
      def __init__(self, start_date, step, end_date=None):
          self._start_date = start_date
          if end_date is None:
- end_date = datetime.datetime.now()
+ end_date = datetime.datetime.utcnow()
          self._end_date = end_date
          self._step = step
          self._series = {}

Index: charmworld/migrations/migrate.py
=== modified file 'charmworld/migrations/migrate.py'
--- charmworld/migrations/migrate.py 2013-08-28 20:19:02 +0000
+++ charmworld/migrations/migrate.py 2013-10-15 20:04:46 +0000
@@ -98,7 +98,7 @@
          self.db.migration_version.save({
              '_id': 'version',
              'version': version,
- 'date': datetime.now(),
+ 'date': datetime.utcnow(),
          })

      def version_datastore(self):
@@ -114,7 +114,7 @@
          self.db.migration_version.insert({
              '_id': 'version',
              'version': 0,
- 'date': datetime.now(),
+ 'date': datetime.utcnow(),
          })

Index: charmworld/jobs/tests/test_askubuntu.py
=== modified file 'charmworld/jobs/tests/test_askubuntu.py'
--- charmworld/jobs/tests/test_askubuntu.py 2013-09-27 16:13:21 +0000
+++ charmworld/jobs/tests/test_askubuntu.py 2013-10-15 20:04:46 +0000
@@ -48,7 +48,7 @@
          self.assertEqual([], entries)

      def test_create_entries_from_questions(self):
- now = datetime.datetime.now()
+ now = datetime.datetime.utcnow()
          then = now - datetime.timedelta(1)
          questions = [{
              "question_id":345535,
@@ -67,7 +67,7 @@
                  "reputation":13,
                  "user_type":"registered",
                  "profile_image":"https://example.com/foo.jpg",
- "link":"http://askubuntu.com/users/130026/jjmerelo"
+ "link":"http://askubuntu.com/users/130026/jjmerelo",
              },
              "link":"http://example.com/questions/1/",
              "is_answered": False

Index: charmworld/jobs/tests/test_review.py
=== modified file 'charmworld/jobs/tests/test_review.py'
--- charmworld/jobs/tests/test_review.py 2013-09-30 16:00:47 +0000
+++ charmworld/jobs/tests/test_review.py 2013-10-15 20:04:46 +0000
@@ -7,7 +7,7 @@
  from charmworld.testing import MongoTestBase

-NOW = datetime.datetime.now()
+NOW = datetime.datetime.utcnow()
  YESTERDAY = NOW - datetime.timedelta(1)
  TWO_DAYS = NOW - datetime.timedelta(2)

Index: charmworld/tests/test_utils.py
=== modified file 'charmworld/tests/test_utils.py'
--- charmworld/tests/test_utils.py 2013-09-10 13:54:39 +0000
+++ charmworld/tests/test_utils.py 2013-10-15 20:04:46 +0000
@@ -53,7 +53,7 @@

      def test_days_apart(self):
          """A single delta will get us the correct days apart."""
- delta = datetime.now() - timedelta(10)
+ delta = datetime.utcnow() - timedelta(10)
          pretty = pretty_timedelta(delta)
          self.assertEqual('10 days', pretty)

Index: charmworld/utils.py
=== modified file 'charmworld/utils.py'
--- charmworld/utils.py 2013-09-10 13:54:39 +0000
+++ charmworld/utils.py 2013-10-15 20:04:46 +0000
@@ -50,7 +50,7 @@
      if isinstance(time1, (str, unicode)):
          time1 = parse(time1)
      if time2 is None:
- time2 = datetime.datetime.now()
+ time2 = datetime.datetime.utcnow()

      if time1 > time2:
          raise ValueError('The start date is before the end date.')

« Back to merge proposal