I have some unit testing code in one of my modules that appears to run without an error, but the unit test fails anyhow. Have a look at the output below -- the TestResult seems to have no errors and no failures, yet I get a system exit.
------------------------------------------------------------------------ --- exceptions.SystemExit Traceback (most recent call last) /Users/chris/<ipython console> /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/ unittest.py in __init__(self=<unittest.TestProgram object at 0x10ee670>, module='__main__', defaultTest=None, argv=['/usr/local/ bin/ipython'], testRunner=None, testLoader=<unittest.TestLoader object at 0x606290>) 757 self.progName = os.path.basename(argv[0]) 758 self.parseArgs(argv) --> 759 self.runTests() self.runTests = <bound method TestProgram.runTests of <unittest.TestProgram object at 0x10ee670>> 760 761 def usageExit(self, msg=None): /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/ unittest.py in runTests(self=<unittest.TestProgram object at 0x10ee670>) 795 self.testRunner = TextTestRunner (verbosity=self.verbosity) 796 result = self.testRunner.run(self.test) --> 797 sys.exit(not result.wasSuccessful()) global sys.exit = <built-in function exit> result.wasSuccessful = <bound method _TextTestResult.wasSuccessful of <unittest._TextTestResult run=3 errors=0 failures=0>> 798 799 main = TestProgram SystemExit: False Type exit or quit to exit IPython (%Exit or %Quit do so unconditionally). Any ideas what is going wrong here? Here is my testing code: class MCMCTest(unittest.TestCase): def testCoalMiningDisasters(self): """Run coal mining disasters example sampler""" print 'Running coal mining disasters test case ...' # Create an instance of the sampler self.sampler = DisasterSampler() # Specify the nimber of iterations to execute iterations = 10000 thin = 2 burn = 5000 chains = 2 # Run MCMC simulation for i in range(chains): self.failUnless(self.sampler.sample(iterations, burn=burn, thin=thin, plot=True)) # Run convergence diagnostics self.sampler.convergence() # Plot autocorrelation self.sampler.autocorrelation() # Goodness of fit x, n = self.sampler.goodness(iterations/10)['overall'] self.failIf(x/n < 0.05 or x/n > 0.95) -- Christopher Fonnesbeck + Atlanta, GA + fonnesbeck at mac.com + Contact me on AOL IM using email address -- http://mail.python.org/mailman/listinfo/python-list