[Spambayes-checkins] spambayes/Outlook2000 tester.py,1.19,1.20

Mark Hammond mhammond at users.sourceforge.net
Mon Sep 8 01:51:54 EDT 2003


Update of /cvsroot/spambayes/spambayes/Outlook2000
In directory sc8-pr-cvs1:/tmp/cvs-serv22578

Modified Files:
	tester.py 
Log Message:
Accidently lost a call to a specific incremental training test - reinstate
it (and a few more tweaks trying to get it all running on an IMAP inbox)


Index: tester.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/Outlook2000/tester.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** tester.py	8 Sep 2003 02:35:46 -0000	1.19
--- tester.py	8 Sep 2003 07:51:51 -0000	1.20
***************
*** 50,54 ****
  
  def WaitForFilters():
-     import pythoncom
      # Must wait longer than normal, so when run with a timer we still work.
      filter_event.clear()
--- 50,53 ----
***************
*** 163,169 ****
              if self.FindTestMessage(folder) is None:
                  break
!             sleep(.5)
          else:
!             TestFailed("The test message remained in folder %r" % folder.Name)
          
      def _CleanTestMessageFromFolder(self, folder):
--- 162,170 ----
              if self.FindTestMessage(folder) is None:
                  break
!             for j in range(10):
!                 sleep(.05)
          else:
!             ms_folder = self.manager.message_store.GetFolder(folder)
!             TestFailed("The test message remained in folder '%s'" % ms_folder.GetFQName())
          
      def _CleanTestMessageFromFolder(self, folder):
***************
*** 352,364 ****
      WaitForFilters()
      # It should still be in the Inbox.
!     driver.CheckMessageFilteredFrom(folder1)
  
      # Manually move it to folder2
      msg.Move(folder2)
-     # re-find it in folder2
-     msg = driver.FindTestMessage(folder2)
- 
      # sleep to any processing in this folder.
      WaitForFilters()
  
      if nspam != bayes.nspam or nham != bayes.nham:
--- 353,367 ----
      WaitForFilters()
      # It should still be in the Inbox.
!     if driver.FindTestMessage(folder1) is None:
!         TestFailed("The test ham message appeared to have been filtered!")
  
      # Manually move it to folder2
      msg.Move(folder2)
      # sleep to any processing in this folder.
      WaitForFilters()
+     # re-find it in folder2
+     msg = driver.FindTestMessage(folder2)
+     if driver.FindTestMessage(folder2) is None:
+         TestFailed("Couldn't find the ham message we just moved")
  
      if nspam != bayes.nspam or nham != bayes.nham:
***************
*** 383,386 ****
--- 386,390 ----
                          mgr.config.filter.watch_include_sub)
      num = 0
+     folders = []
      for f in gen:
          print "Running ham filter tests on folder '%s'" % f.GetFQName()
***************
*** 388,391 ****
--- 392,406 ----
          _DoTestHamFilter(driver, f)
          num += 1
+         folders.append(f)
+     # Now test incremental train logic, between all these folders.
+     if len(folders)<2:
+         print "NOTE: Can't do incremental training tests as only 1 watch folder is in place"
+     else:
+         for f in folders:
+             # 'targets' is a list of all folders except this
+             targets = folders[:]
+             targets.remove(f)
+             for t in targets:
+                 _DoTestHamTrain(driver, f, t)
      print "Created a Ham message, and saw it remain in place (in %d watch folders.)" % num
  
***************
*** 614,621 ****
  def filter_message_with_event(msg, mgr, all_actions=True):
      import filter
!     try:
!         return filter._original_filter_message(msg, mgr, all_actions)
!     finally:
!         filter_event.set()
  
  def test(manager):
--- 629,636 ----
  def filter_message_with_event(msg, mgr, all_actions=True):
      import filter
!     ret = filter._original_filter_message(msg, mgr, all_actions)
!     if ret != "Failed":
!         filter_event.set() # only set if it works
!     return ret
  
  def test(manager):





More information about the Spambayes-checkins mailing list