By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,042 Members | 1,047 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,042 IT Pros & Developers. It's quick & easy.

unit testing failure makes no sense

P: n/a
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
Aug 30 '06 #1
Share this Question
Share on Google+
1 Reply


P: n/a
li*******@mac.com wrote:
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.
sys.exit(0) is just a normal way to exit a program, and it is implemented as
'raise SystemExit'. You seem to be running your test from within ipython
which probably catches SystemExit exceptions to prevent you from losing
state. Try running your test from the shell and all should be OK.

Peter
Aug 30 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.