Martin,<br>
<br>
Great post! <br>
<br>
Keep up the good work and don't forget to also have some _fun_ in
Hawaii and Prague (great beer and since I live in Munich you can take
my word for it ;-)<br>
<br>
Safe trip!<br>
<br>
Anthony<br>
<br>
<br><br><div><span class="gmail_quote">On 5/17/05, <b class="gmail_sendername">Martin Maly</b> &lt;<a href="mailto:martmaly@exchange.microsoft.com">martmaly@exchange.microsoft.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br><br>After reading Anthony's email on CPython's standard libraries I tried to<br>import the libraries using IronPython to see how well IronPython does<br>just importing the libraries. Out of 182 modules that I tried to import
<br>116 imported successfully (which does not unfortunately mean that they<br>would also run correctly) and 66 of the 182 standard Python's library<br>modules fail to import. The most frequent recurrent theme of the import
<br>failures was missing<br>built-in modules (struct, exception, errno, ...) or unimplemented<br>features. The detailed results are below.<br><br>As for other testing efforts, I am currently making progress on getting<br>
the test_builtin run. With few modifications we can run the test and the<br>failures also often point to missing modules (and of course, valid<br>bugs).<br><br>As I said in the release announcement email, I will be spending my
<br>IronPython time over the next weeks pretty much exclusively trying to<br>improve our pass-rate for the regression tests and to fix as many of the<br>problems reported by the standard libraries. I hope by the time I am
<br>back the picture will look much brighter.<br><br>Thanks<br>Martin<br><br>Running aifc.py ...&nbsp;&nbsp; FAIL<br>Running anydbm.py ...&nbsp;&nbsp; PASS<br>Running asynchat.py ...&nbsp;&nbsp; FAIL<br>Running asyncore.py ...&nbsp;&nbsp; FAIL<br>Running atexit.py
 ...&nbsp;&nbsp; PASS<br>Running audiodev.py ...&nbsp;&nbsp; PASS<br>Running base64.py ...&nbsp;&nbsp; PASS<br>Running BaseHTTPServer.py ...&nbsp;&nbsp; FAIL<br>Running Bastion.py ...&nbsp;&nbsp; PASS<br>Running bdb.py ...&nbsp;&nbsp; FAIL<br>Running binhex.py ...&nbsp;&nbsp; FAIL<br>Running 
bisect.py ...&nbsp;&nbsp; PASS<br>Running calendar.py ...&nbsp;&nbsp; PASS<br>Running cgi.py ...&nbsp;&nbsp; PASS<br>Running CGIHTTPServer.py ...&nbsp;&nbsp; FAIL<br>Running cgitb.py ...&nbsp;&nbsp; PASS<br>Running chunk.py ...&nbsp;&nbsp; PASS<br>Running cmd.py ...&nbsp;&nbsp; PASS<br>Running 
code.py ...&nbsp;&nbsp; FAIL<br>Running codecs.py ...&nbsp;&nbsp; FAIL<br>Running codeop.py ...&nbsp;&nbsp; PASS<br>Running colorsys.py ...&nbsp;&nbsp; PASS<br>Running commands.py ...&nbsp;&nbsp; PASS<br>Running compileall.py ...&nbsp;&nbsp; FAIL<br>Running ConfigParser.py ...&nbsp;&nbsp; FAIL
<br>Running Cookie.py ...&nbsp;&nbsp; FAIL<br>Running copy.py ...&nbsp;&nbsp; FAIL<br>Running copy_reg.py ...&nbsp;&nbsp; PASS<br>Running csv.py ...&nbsp;&nbsp; FAIL<br>Running dbhash.py ...&nbsp;&nbsp; FAIL<br>Running difflib.py ...&nbsp;&nbsp; PASS<br>Running dircache.py ...&nbsp;&nbsp; PASS
<br>Running dis.py ...&nbsp;&nbsp; PASS<br>Running doctest.py ...&nbsp;&nbsp; FAIL<br>Running DocXMLRPCServer.py ...&nbsp;&nbsp; FAIL<br>Running dumbdbm.py ...&nbsp;&nbsp; PASS<br>Running dummy_thread.py ...&nbsp;&nbsp; PASS<br>Running dummy_threading.py ...&nbsp;&nbsp; FAIL<br>Running 
FCNTL.py ...&nbsp;&nbsp; PASS<br>Running filecmp.py ...&nbsp;&nbsp; FAIL<br>Running fileinput.py ...&nbsp;&nbsp; PASS<br>Running fnmatch.py ...&nbsp;&nbsp; PASS<br>Running formatter.py ...&nbsp;&nbsp; PASS<br>Running fpformat.py ...&nbsp;&nbsp; PASS<br>Running ftplib.py ...&nbsp;&nbsp; FAIL
<br>Running getopt.py ...&nbsp;&nbsp; PASS<br>Running getpass.py ...&nbsp;&nbsp; PASS<br>Running gettext.py ...&nbsp;&nbsp; FAIL<br>Running glob.py ...&nbsp;&nbsp; PASS<br>Running gopherlib.py ...&nbsp;&nbsp; PASS<br>Running gzip.py ...&nbsp;&nbsp; FAIL<br>Running heapq.py ...&nbsp;&nbsp; PASS
<br>Running hmac.py ...&nbsp;&nbsp; PASS<br>Running htmlentitydefs.py ...&nbsp;&nbsp; PASS<br>Running htmllib.py ...&nbsp;&nbsp; PASS<br>Running HTMLParser.py ...&nbsp;&nbsp; FAIL<br>Running httplib.py ...&nbsp;&nbsp; FAIL<br>Running ihooks.py ...&nbsp;&nbsp; FAIL<br>Running imaplib.py
 ...&nbsp;&nbsp; FAIL<br>Running imghdr.py ...&nbsp;&nbsp; PASS<br>Running imputil.py ...&nbsp;&nbsp; FAIL<br>Running inspect.py ...&nbsp;&nbsp; PASS<br>Running keyword.py ...&nbsp;&nbsp; PASS<br>Running linecache.py ...&nbsp;&nbsp; PASS<br>Running locale.py ...&nbsp;&nbsp; PASS<br>Running 
macpath.py ...&nbsp;&nbsp; PASS<br>Running macurl2path.py ...&nbsp;&nbsp; PASS<br>Running mailbox.py ...&nbsp;&nbsp; PASS<br>Running mailcap.py ...&nbsp;&nbsp; PASS<br>Running markupbase.py ...&nbsp;&nbsp; PASS<br>Running mhlib.py ...&nbsp;&nbsp; FAIL<br>Running mimetools.py ...&nbsp;&nbsp; PASS
<br>Running mimetypes.py ...&nbsp;&nbsp; PASS<br>Running MimeWriter.py ...&nbsp;&nbsp; PASS<br>Running mimify.py ...&nbsp;&nbsp; FAIL<br>Running modulefinder.py ...&nbsp;&nbsp; FAIL<br>Running multifile.py ...&nbsp;&nbsp; PASS<br>Running mutex.py ...&nbsp;&nbsp; PASS<br>Running netrc.py
 ...&nbsp;&nbsp; PASS<br>Running new.py ...&nbsp;&nbsp; PASS<br>Running nntplib.py ...&nbsp;&nbsp; PASS<br>Running ntpath.py ...&nbsp;&nbsp; PASS<br>Running nturl2path.py ...&nbsp;&nbsp; PASS<br>Running opcode.py ...&nbsp;&nbsp; PASS<br>Running optparse.py ...&nbsp;&nbsp; PASS<br>Running os.py
 ...&nbsp;&nbsp; PASS<br>Running os2emxpath.py ...&nbsp;&nbsp; PASS<br>Running pdb.py ...&nbsp;&nbsp; FAIL<br>Running pickle.py ...&nbsp;&nbsp; PASS<br>Running pickletools.py ...&nbsp;&nbsp; FAIL<br>Running pipes.py ...&nbsp;&nbsp; PASS<br>Running pkgutil.py ...&nbsp;&nbsp; PASS<br>Running 
platform.py ...&nbsp;&nbsp; FAIL<br>Running popen2.py ...&nbsp;&nbsp; PASS<br>Running poplib.py ...&nbsp;&nbsp; PASS<br>Running posixfile.py ...&nbsp;&nbsp; PASS<br>Running posixpath.py ...&nbsp;&nbsp; PASS<br>Running pprint.py ...&nbsp;&nbsp; FAIL<br>Running pre.py ...&nbsp;&nbsp; FAIL<br>
Running profile.py ...&nbsp;&nbsp; FAIL<br>Running pstats.py ...&nbsp;&nbsp; FAIL<br>Running pty.py ...&nbsp;&nbsp; FAIL<br>Running pyclbr.py ...&nbsp;&nbsp; FAIL<br>Running pydoc.py ...&nbsp;&nbsp; PASS<br>Running py_compile.py ...&nbsp;&nbsp; PASS<br>Running Queue.py ...&nbsp;&nbsp; PASS<br>
Running quopri.py ...&nbsp;&nbsp; PASS<br>Running random.py ...&nbsp;&nbsp; PASS<br>Running re.py ...&nbsp;&nbsp; PASS<br>Running regex_syntax.py ...&nbsp;&nbsp; PASS<br>Running repr.py ...&nbsp;&nbsp; PASS<br>Running rexec.py ...&nbsp;&nbsp; FAIL<br>Running rfc822.py ...&nbsp;&nbsp; PASS<br>
Running rlcompleter.py ...&nbsp;&nbsp; FAIL<br>Running robotparser.py ...&nbsp;&nbsp; PASS<br>Running sched.py ...&nbsp;&nbsp; PASS<br>Running sets.py ...&nbsp;&nbsp; PASS<br>Running sgmllib.py ...&nbsp;&nbsp; PASS<br>Running shelve.py ...&nbsp;&nbsp; PASS<br>Running shlex.py ...&nbsp;&nbsp; PASS
<br>Running shutil.py ...&nbsp;&nbsp; PASS<br>Running SimpleHTTPServer.py ...&nbsp;&nbsp; PASS<br>Running SimpleXMLRPCServer.py ...&nbsp;&nbsp; FAIL<br>Running site.py ...&nbsp;&nbsp; PASS<br>Running smtpd.py ...&nbsp;&nbsp; FAIL<br>Running smtplib.py ...&nbsp;&nbsp; FAIL<br>Running 
sndhdr.py ...&nbsp;&nbsp; PASS<br>Running socket.py ...&nbsp;&nbsp; PASS<br>Running SocketServer.py ...&nbsp;&nbsp; FAIL<br>Running sre.py ...&nbsp;&nbsp; FAIL<br>Running sre_compile.py ...&nbsp;&nbsp; PASS<br>Running sre_constants.py ...&nbsp;&nbsp; PASS<br>Running sre_parse.py ...&nbsp;&nbsp; PASS
<br>Running stat.py ...&nbsp;&nbsp; PASS<br>Running statcache.py ...&nbsp;&nbsp; PASS<br>Running statvfs.py ...&nbsp;&nbsp; PASS<br>Running string.py ...&nbsp;&nbsp; PASS<br>Running StringIO.py ...&nbsp;&nbsp; PASS<br>Running stringold.py ...&nbsp;&nbsp; PASS<br>Running stringprep.py
 ...&nbsp;&nbsp; FAIL<br>Running sunau.py ...&nbsp;&nbsp; PASS<br>Running sunaudio.py ...&nbsp;&nbsp; PASS<br>Running symbol.py ...&nbsp;&nbsp; FAIL<br>Running symtable.py ...&nbsp;&nbsp; FAIL<br>Running tabnanny.py ...&nbsp;&nbsp; FAIL<br>Running tarfile.py ...&nbsp;&nbsp; FAIL<br>Running 
telnetlib.py ...&nbsp;&nbsp; FAIL<br>Running tempfile.py ...&nbsp;&nbsp; PASS<br>Running TERMIOS.py ...&nbsp;&nbsp; PASS<br>Running textwrap.py ...&nbsp;&nbsp; PASS<br>Running this.py ...&nbsp;&nbsp; PASS<br>Running threading.py ...&nbsp;&nbsp; PASS<br>Running timeit.py ...&nbsp;&nbsp; FAIL
<br>Running toaiff.py ...&nbsp;&nbsp; PASS<br>Running token.py ...&nbsp;&nbsp; PASS<br>Running tokenize.py ...&nbsp;&nbsp; PASS<br>Running trace.py ...&nbsp;&nbsp; FAIL<br>Running traceback.py ...&nbsp;&nbsp; PASS<br>Running tty.py ...&nbsp;&nbsp; FAIL<br>Running types.py ...&nbsp;&nbsp; PASS
<br>Running tzparse.py ...&nbsp;&nbsp; FAIL<br>Running unittest.py ...&nbsp;&nbsp; PASS<br>Running urllib.py ...&nbsp;&nbsp; PASS<br>Running urllib2.py ...&nbsp;&nbsp; FAIL<br>Running urlparse.py ...&nbsp;&nbsp; PASS<br>Running UserDict.py ...&nbsp;&nbsp; PASS<br>Running UserList.py
 ...&nbsp;&nbsp; PASS<br>Running UserString.py ...&nbsp;&nbsp; PASS<br>Running uu.py ...&nbsp;&nbsp; PASS<br>Running warnings.py ...&nbsp;&nbsp; PASS<br>Running wave.py ...&nbsp;&nbsp; FAIL<br>Running weakref.py ...&nbsp;&nbsp; FAIL<br>Running webbrowser.py ...&nbsp;&nbsp; PASS<br>Running whichdb.py
 ...&nbsp;&nbsp; FAIL<br>Running whrandom.py ...&nbsp;&nbsp; FAIL<br>Running xdrlib.py ...&nbsp;&nbsp; FAIL<br>Running xmllib.py ...&nbsp;&nbsp; FAIL<br>Running xmlrpclib.py ...&nbsp;&nbsp; PASS<br>Running zipfile.py ...&nbsp;&nbsp; FAIL<br>Running _strptime.py ...&nbsp;&nbsp; FAIL<br>Running __future__.py ...&nbsp;&nbsp; PASS
<br>Running __phello__.foo.py ...&nbsp;&nbsp; FAIL<br>----------------------------------------<br> Tests ran: 182<br> Success:&nbsp;&nbsp; 116<br> Failure:&nbsp;&nbsp; 66<br>----------------------------------------<br>_______________________________________________
<br><a href="http://users-ironpython.com">users-ironpython.com</a> mailing list<br><a href="mailto:users-ironpython.com@lists.ironpython.com">users-ironpython.com@lists.ironpython.com</a><br><a href="http://lists.ironpython.com/listinfo.cgi/users-ironpython.com">
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com</a><br></blockquote></div><br>