[IronPython] IronPython and standard Python libraries

Martin Maly martmaly at exchange.microsoft.com
Tue May 17 23:27:14 CEST 2005


Hello,

After reading Anthony's email on CPython's standard libraries I tried to
import the libraries using IronPython to see how well IronPython does
just importing the libraries. Out of 182 modules that I tried to import
116 imported successfully (which does not unfortunately mean that they
would also run correctly) and 66 of the 182 standard Python's library
modules fail to import. The most frequent recurrent theme of the import
failures was missing
built-in modules (struct, exception, errno, ...) or unimplemented
features. The detailed results are below.

As for other testing efforts, I am currently making progress on getting
the test_builtin run. With few modifications we can run the test and the
failures also often point to missing modules (and of course, valid
bugs).

As I said in the release announcement email, I will be spending my
IronPython time over the next weeks pretty much exclusively trying to
improve our pass-rate for the regression tests and to fix as many of the
problems reported by the standard libraries. I hope by the time I am
back the picture will look much brighter.

Thanks
Martin

Running aifc.py ...   FAIL
Running anydbm.py ...   PASS
Running asynchat.py ...   FAIL
Running asyncore.py ...   FAIL
Running atexit.py ...   PASS
Running audiodev.py ...   PASS
Running base64.py ...   PASS
Running BaseHTTPServer.py ...   FAIL
Running Bastion.py ...   PASS
Running bdb.py ...   FAIL
Running binhex.py ...   FAIL
Running bisect.py ...   PASS
Running calendar.py ...   PASS
Running cgi.py ...   PASS
Running CGIHTTPServer.py ...   FAIL
Running cgitb.py ...   PASS
Running chunk.py ...   PASS
Running cmd.py ...   PASS
Running code.py ...   FAIL
Running codecs.py ...   FAIL
Running codeop.py ...   PASS
Running colorsys.py ...   PASS
Running commands.py ...   PASS
Running compileall.py ...   FAIL
Running ConfigParser.py ...   FAIL
Running Cookie.py ...   FAIL
Running copy.py ...   FAIL
Running copy_reg.py ...   PASS
Running csv.py ...   FAIL
Running dbhash.py ...   FAIL
Running difflib.py ...   PASS
Running dircache.py ...   PASS
Running dis.py ...   PASS
Running doctest.py ...   FAIL
Running DocXMLRPCServer.py ...   FAIL
Running dumbdbm.py ...   PASS
Running dummy_thread.py ...   PASS
Running dummy_threading.py ...   FAIL
Running FCNTL.py ...   PASS
Running filecmp.py ...   FAIL
Running fileinput.py ...   PASS
Running fnmatch.py ...   PASS
Running formatter.py ...   PASS
Running fpformat.py ...   PASS
Running ftplib.py ...   FAIL
Running getopt.py ...   PASS
Running getpass.py ...   PASS
Running gettext.py ...   FAIL
Running glob.py ...   PASS
Running gopherlib.py ...   PASS
Running gzip.py ...   FAIL
Running heapq.py ...   PASS
Running hmac.py ...   PASS
Running htmlentitydefs.py ...   PASS
Running htmllib.py ...   PASS
Running HTMLParser.py ...   FAIL
Running httplib.py ...   FAIL
Running ihooks.py ...   FAIL
Running imaplib.py ...   FAIL
Running imghdr.py ...   PASS
Running imputil.py ...   FAIL
Running inspect.py ...   PASS
Running keyword.py ...   PASS
Running linecache.py ...   PASS
Running locale.py ...   PASS
Running macpath.py ...   PASS
Running macurl2path.py ...   PASS
Running mailbox.py ...   PASS
Running mailcap.py ...   PASS
Running markupbase.py ...   PASS
Running mhlib.py ...   FAIL
Running mimetools.py ...   PASS
Running mimetypes.py ...   PASS
Running MimeWriter.py ...   PASS
Running mimify.py ...   FAIL
Running modulefinder.py ...   FAIL
Running multifile.py ...   PASS
Running mutex.py ...   PASS
Running netrc.py ...   PASS
Running new.py ...   PASS
Running nntplib.py ...   PASS
Running ntpath.py ...   PASS
Running nturl2path.py ...   PASS
Running opcode.py ...   PASS
Running optparse.py ...   PASS
Running os.py ...   PASS
Running os2emxpath.py ...   PASS
Running pdb.py ...   FAIL
Running pickle.py ...   PASS
Running pickletools.py ...   FAIL
Running pipes.py ...   PASS
Running pkgutil.py ...   PASS
Running platform.py ...   FAIL
Running popen2.py ...   PASS
Running poplib.py ...   PASS
Running posixfile.py ...   PASS
Running posixpath.py ...   PASS
Running pprint.py ...   FAIL
Running pre.py ...   FAIL
Running profile.py ...   FAIL
Running pstats.py ...   FAIL
Running pty.py ...   FAIL
Running pyclbr.py ...   FAIL
Running pydoc.py ...   PASS
Running py_compile.py ...   PASS
Running Queue.py ...   PASS
Running quopri.py ...   PASS
Running random.py ...   PASS
Running re.py ...   PASS
Running regex_syntax.py ...   PASS
Running repr.py ...   PASS
Running rexec.py ...   FAIL
Running rfc822.py ...   PASS
Running rlcompleter.py ...   FAIL
Running robotparser.py ...   PASS
Running sched.py ...   PASS
Running sets.py ...   PASS
Running sgmllib.py ...   PASS
Running shelve.py ...   PASS
Running shlex.py ...   PASS
Running shutil.py ...   PASS
Running SimpleHTTPServer.py ...   PASS
Running SimpleXMLRPCServer.py ...   FAIL
Running site.py ...   PASS
Running smtpd.py ...   FAIL
Running smtplib.py ...   FAIL
Running sndhdr.py ...   PASS
Running socket.py ...   PASS
Running SocketServer.py ...   FAIL
Running sre.py ...   FAIL
Running sre_compile.py ...   PASS
Running sre_constants.py ...   PASS
Running sre_parse.py ...   PASS
Running stat.py ...   PASS
Running statcache.py ...   PASS
Running statvfs.py ...   PASS
Running string.py ...   PASS
Running StringIO.py ...   PASS
Running stringold.py ...   PASS
Running stringprep.py ...   FAIL
Running sunau.py ...   PASS
Running sunaudio.py ...   PASS
Running symbol.py ...   FAIL
Running symtable.py ...   FAIL
Running tabnanny.py ...   FAIL
Running tarfile.py ...   FAIL
Running telnetlib.py ...   FAIL
Running tempfile.py ...   PASS
Running TERMIOS.py ...   PASS
Running textwrap.py ...   PASS
Running this.py ...   PASS
Running threading.py ...   PASS
Running timeit.py ...   FAIL
Running toaiff.py ...   PASS
Running token.py ...   PASS
Running tokenize.py ...   PASS
Running trace.py ...   FAIL
Running traceback.py ...   PASS
Running tty.py ...   FAIL
Running types.py ...   PASS
Running tzparse.py ...   FAIL
Running unittest.py ...   PASS
Running urllib.py ...   PASS
Running urllib2.py ...   FAIL
Running urlparse.py ...   PASS
Running UserDict.py ...   PASS
Running UserList.py ...   PASS
Running UserString.py ...   PASS
Running uu.py ...   PASS
Running warnings.py ...   PASS
Running wave.py ...   FAIL
Running weakref.py ...   FAIL
Running webbrowser.py ...   PASS
Running whichdb.py ...   FAIL
Running whrandom.py ...   FAIL
Running xdrlib.py ...   FAIL
Running xmllib.py ...   FAIL
Running xmlrpclib.py ...   PASS
Running zipfile.py ...   FAIL
Running _strptime.py ...   FAIL
Running __future__.py ...   PASS
Running __phello__.foo.py ...   FAIL
----------------------------------------
 Tests ran: 182
 Success:   116
 Failure:   66
----------------------------------------



More information about the Ironpython-users mailing list