Fix spurious testcase fail, sometimes seconds didn't match.
This commit is contained in:
parent
5ffcf6511a
commit
a08559a758
|
@ -70,6 +70,11 @@ tz = 'UTC'
|
||||||
def now():
|
def now():
|
||||||
return cPickle.dumps(datetime.datetime.now(pytz.timezone(tz)))
|
return cPickle.dumps(datetime.datetime.now(pytz.timezone(tz)))
|
||||||
|
|
||||||
|
def nowSeconds():
|
||||||
|
# apparently time.time() isn't the same thing.
|
||||||
|
# return time.time()
|
||||||
|
return int(time.mktime(time.gmtime()))
|
||||||
|
|
||||||
def fromTime(x):
|
def fromTime(x):
|
||||||
return cPickle.dumps(datetime.datetime(*time.gmtime(x)[:6], **{'tzinfo': pytz.timezone("UTC")}))
|
return cPickle.dumps(datetime.datetime(*time.gmtime(x)[:6], **{'tzinfo': pytz.timezone("UTC")}))
|
||||||
|
|
||||||
|
@ -509,7 +514,8 @@ class Bantracker(callbacks.Plugin):
|
||||||
if not reviewTime:
|
if not reviewTime:
|
||||||
# time is zero, do nothing
|
# time is zero, do nothing
|
||||||
return
|
return
|
||||||
now = time.mktime(time.gmtime())
|
|
||||||
|
now = nowSeconds()
|
||||||
lastReview = self.pendingReviews.lastReview
|
lastReview = self.pendingReviews.lastReview
|
||||||
self.pendingReviews.lastReview = now # update last time reviewed
|
self.pendingReviews.lastReview = now # update last time reviewed
|
||||||
if not lastReview:
|
if not lastReview:
|
||||||
|
@ -534,8 +540,9 @@ class Bantracker(callbacks.Plugin):
|
||||||
|
|
||||||
banAge = now - ban.when
|
banAge = now - ban.when
|
||||||
reviewWindow = lastReview - ban.when
|
reviewWindow = lastReview - ban.when
|
||||||
#self.log.debug('review ban: %s ban %s by %s (%s/%s/%s %s)', channel, ban.mask,
|
#self.log.debug('review ban: %s ban %s by %s (%s/%s/%s %s)',
|
||||||
# ban.who, reviewWindow, reviewTime, banAge, reviewTime - reviewWindow)
|
# channel, ban.mask, ban.who, reviewWindow, reviewTime,
|
||||||
|
# banAge, reviewTime - reviewWindow)
|
||||||
if reviewWindow <= reviewTime < banAge:
|
if reviewWindow <= reviewTime < banAge:
|
||||||
# ban is old enough, and inside the "review window"
|
# ban is old enough, and inside the "review window"
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -20,6 +20,7 @@ import supybot.conf as conf
|
||||||
import supybot.ircmsgs as ircmsgs
|
import supybot.ircmsgs as ircmsgs
|
||||||
import supybot.world as world
|
import supybot.world as world
|
||||||
|
|
||||||
|
import re
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
@ -241,12 +242,12 @@ class BantrackerTestCase(ChannelPluginTestCase):
|
||||||
cb.reviewBans(self.irc)
|
cb.reviewBans(self.irc)
|
||||||
# since it's a forward, it was sent already
|
# since it's a forward, it was sent already
|
||||||
self.assertFalse(cb.pendingReviews)
|
self.assertFalse(cb.pendingReviews)
|
||||||
self.assertEqual(str(self.irc.takeMsg()).strip(),
|
self.assertTrue(re.search(
|
||||||
"NOTICE #channel :Review: ban 'asd!*@*' set by bot on %s in #test, link: "\
|
r"^NOTICE #channel :Review: ban 'asd!\*@\*' set by bot on .* in #test,"\
|
||||||
"%s/bans.cgi?log=1" %(cb.bans['#test'][0].ascwhen, pluginConf.bansite()))
|
r" link: .*/bans\.cgi\?log=1$", str(self.irc.takeMsg()).strip()))
|
||||||
self.assertEqual(str(self.irc.takeMsg()).strip(),
|
self.assertTrue(re.search(
|
||||||
"NOTICE #channel :Review: quiet 'asd!*@*' set by bot on %s in #test, link: "\
|
r"^NOTICE #channel :Review: quiet 'asd!\*@\*' set by bot on .* in #test,"\
|
||||||
"%s/bans.cgi?log=2" %(cb.bans['#test'][0].ascwhen, pluginConf.bansite()))
|
r" link: .*/bans\.cgi\?log=2$", str(self.irc.takeMsg()).strip()))
|
||||||
|
|
||||||
def testReviewIgnore(self):
|
def testReviewIgnore(self):
|
||||||
pluginConf.review.setValue(True)
|
pluginConf.review.setValue(True)
|
||||||
|
|
Loading…
Reference in New Issue