<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>

<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2>The following script</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>import unittest</FONT></DIV>
<DIV><FONT face="Courier New"></FONT>&nbsp;</DIV>
<DIV><BR><FONT face="Courier New" size=2>class 
MyTest(unittest.TestCase):</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>&nbsp;&nbsp;&nbsp; def 
testFirst(self):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
self.failUnless(False, 'first')</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>&nbsp;&nbsp;&nbsp; def 
testSecond(self):<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
self.failIf(False, 'second')</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><BR><FONT face="Courier New" size=2>def suite():<BR>&nbsp;&nbsp;&nbsp; 
theSuite = unittest.makeSuite(MyTest, 'test')<BR>&nbsp;&nbsp;&nbsp; return 
theSuite;</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>if __name__ == 
'__main__':<BR>&nbsp;&nbsp;&nbsp; 
unittest.TextTestRunner().run(suite())<BR>&nbsp;&nbsp;&nbsp; </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>produces the following output in Python 
2.4</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>$ python unittesterror.py<BR><FONT 
face="Courier New">F.<BR>======================================================================<BR>FAIL: 
testFirst 
(__main__.MyTest)<BR>----------------------------------------------------------------------<BR>Traceback 
(most recent call last):<BR>&nbsp; File "unittesterror.py", line 7, in 
testFirst<BR>&nbsp;&nbsp;&nbsp; self.failUnless(False, 
'first')<BR>AssertionError: first</FONT></FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" 
size=2>----------------------------------------------------------------------<BR>Ran 
2 tests in 0.000s</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>FAILED (failures=1)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>(In particular, it contains the text 'first' 
supported to the assertion.)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Executing under IronPython, the output 
is:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>$ 
/usr/local/bin/ironpython/IronPythonConsole.exe 
unittesterror.py<BR>F.<BR>======================================================================<BR>FAIL: 
testFirst 
(__main__.MyTest)<BR>----------------------------------------------------------------------<BR>&lt;type 
'AssertionError'&gt;: IronPython.Runtime.PythonAssertionError: 
AssertionError<BR>&nbsp;&nbsp; at IronPython.Runtime.Ops.Raise(Object type, 
Object value, Object traceback)<BR>&nbsp;&nbsp; at 
unittest.failUnless$f32(Object self, Object expr, Object msg) in 
c:\Python24\Lib\unittest.py:line 309<BR>&nbsp;&nbsp; at 
IronPython.Runtime.Function3.Call(Object arg0, Object arg1, Object 
arg2)<BR>&nbsp;&nbsp; at IronPython.Runtime.Ops.Call(Object func, Object arg0, 
Object arg1, Object arg2)<BR>&nbsp;&nbsp; at 
IronPython.Runtime.Method.Call(Object arg0, Object arg1)<BR>&nbsp;&nbsp; at 
IronPython.Runtime.Ops.CallWithContext(ICallerContext context, Object func, 
Object arg0, Object arg1)<BR>&nbsp;&nbsp; at __main__.testFirst$f0(Object self) 
in 
c:\usr\home\jonesl\Employee\Current\ProductDir\ResearchAndDevelopment\als_security\p<BR>roto_azn\unittesterror.py:line 
7<BR>&nbsp;&nbsp; at IronPython.Runtime.Function1.Call(Object 
arg0)<BR>&nbsp;&nbsp; at IronPython.Runtime.Ops.Call(Object func, Object 
arg0)<BR>&nbsp;&nbsp; at IronPython.Runtime.Method.Call()<BR>&nbsp;&nbsp; at 
IronPython.Runtime.Ops.CallWithContext(ICallerContext context, Object 
func)<BR>&nbsp;&nbsp; at unittest.run$f26(Object self, Object result) in 
c:\Python24\Lib\unittest.py:line 260</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" 
size=2>----------------------------------------------------------------------<BR>Ran 
2 tests in 0.172s</FONT></DIV>
<DIV><FONT face="Courier New" size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>FAILED (failures=1)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>In particular, the string argument is not present 
in the output.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><SPAN class=031503315-24012006><FONT face=Arial size=2>I have submitted 
this behavior as a bug.</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV align=left>
<TABLE width=500 align=left border=0>
  <TBODY>
  <TR>
    <TD width=300>
      <P><FONT face="Arial, Verdana, Helvetica, sans-serif" 
      size=2><STRONG>--</STRONG></FONT></P>
      <P><FONT face="Arial, Verdana, Helvetica, sans-serif" 
      size=2><STRONG>Lawrence Allan Jones</STRONG><BR><STRONG>Senior Developer / 
      Technical Advisor</STRONG><BR>Aspen Technology, Inc.<BR>2500 CityWest 
      Blvd. Suite 1500<BR>Houston, Texas 77042<BR>USA<BR>281-504-3324 
      (work)<BR>281-504-3395 (fax)<BR><A 
      href="mailto:larry.jones@aspentech.com">larry.jones@aspentech.com</A><BR><A 
      href="http://www.aspentech.com/">www.aspentech.com</A></FONT></P></TD>
    <TD vAlign=bottom align=right width=200>
      <DIV align=right><IMG height=74 
      src="http://www.aspentech.com/signature/email_2_03.gif" 
  width=192></DIV></TD></TR>
  <TR height=9>
    <TD colSpan=2><IMG height=9 
      src="http://www.aspentech.com/signature/email_2_04.gif" 
  width=500></TD></TR></TBODY></TABLE></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>

<P><FONT SIZE=2 FACE="Arial">This e-mail and any attachments are intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information. If you are not the intended recipient of this e-mail, you are hereby notified any dissemination, distribution or copying of this email, and any attachments thereto, is strictly prohibited. If you receive this email in error please immediately notify the sender and permanently delete the original copy and any copy of any e-mail, and any printout thereof.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">   </FONT> </P>