[Spambayes-checkins] spambayes/spambayes/test test_storage.py, 1.3, 1.4

Mark Hammond mhammond at users.sourceforge.net
Tue Dec 2 19:35:18 EST 2003


Update of /cvsroot/spambayes/spambayes/spambayes/test
In directory sc8-pr-cvs1:/tmp/cvs-serv5530

Modified Files:
	test_storage.py 
Log Message:
Use sb_test_support utilities, and prevent a warning message we explicitly
test for from being written to stdout


Index: test_storage.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/spambayes/test/test_storage.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** test_storage.py	11 Sep 2003 07:47:13 -0000	1.3
--- test_storage.py	3 Dec 2003 00:35:16 -0000	1.4
***************
*** 2,14 ****
  
  import unittest, os, sys
- 
- # Hack sys.path - 2 levels up must be on sys.path.
  try:
!     this_file = __file__
! except NameError:
!     this_file = sys.argv[0]
! sb_dir = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(this_file))))
! if sb_dir not in sys.path:
!     sys.path.append(sb_dir)
  
  from spambayes.storage import DBDictClassifier, PickledClassifier
--- 2,12 ----
  
  import unittest, os, sys
  try:
!     import cStringIO as StringIO
! except ImportError:
!     import StringIO
! 
! import sb_test_support
! sb_test_support.fix_sys_path()
  
  from spambayes.storage import DBDictClassifier, PickledClassifier
***************
*** 154,162 ****
          sys_exit = sys.exit
          sys.exit = self.success
          self.succeeded = False
          db_name = tempfile.mktemp("nodbmtest")
!         s = open_storage(db_name, True)
!         DBDictClassifier.load = DBDictClassifier_load
!         sys.exit = sys_exit
          if not self.succeeded:
              self.fail()
--- 152,168 ----
          sys_exit = sys.exit
          sys.exit = self.success
+         # redirect sys.stderr and sys.exit, as storage.py prints
+         # an error to stderr, then attempts to sys.exit
+         # (we probably could just catch SystemExit for sys.exit?)
+         sys_stderr = sys.stderr
+         sys.stderr = StringIO.StringIO()
          self.succeeded = False
          db_name = tempfile.mktemp("nodbmtest")
!         try:
!             s = open_storage(db_name, True)
!         finally:
!             DBDictClassifier.load = DBDictClassifier_load
!             sys.exit = sys_exit
!             sys.stderr = sys_stderr
          if not self.succeeded:
              self.fail()
***************
*** 172,174 ****
  
  if __name__=='__main__':
!     unittest.main(argv=sys.argv + ['suite'])
--- 178,180 ----
  
  if __name__=='__main__':
!     sb_test_support.unittest_main(argv=sys.argv + ['suite'])





More information about the Spambayes-checkins mailing list