Author sbt
Recipients amaury.forgeotdarc, andrea.corbellini, belopolsky, cburroughs, christian.heimes, georg.brandl, glchapman, gregory.p.smith, jimjjewett, loewis, nascheme, ncoghlan, pitrou, python-dev, sbt
Date 2013-05-07.18:42:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1367952177.62.0.696196841087.issue1545463@psf.upfronthosting.co.za>
In-reply-to
Content
I think the problem is that the __del__ method fails on Windows, maybe because sys.stdout and sys.__stderr__ have been replaced by None.

Consider the following program:

  import os

  class C:
      def __del__(self, write=os.write):
          write(1, b"BEFORE\n")
          print("__del__ called")
          write(1, b"AFTER\n")

  l = [C()]
  l.append(l)

On Unix I get

  BEFORE
  __del__ called
  AFTER

but on Windows I only get

  BEFORE

I would suggest using os.write() instead of print() in the tests.
History
Date User Action Args
2013-05-07 18:42:57sbtsetrecipients: + sbt, loewis, nascheme, georg.brandl, glchapman, gregory.p.smith, jimjjewett, amaury.forgeotdarc, ncoghlan, belopolsky, pitrou, christian.heimes, andrea.corbellini, cburroughs, python-dev
2013-05-07 18:42:57sbtsetmessageid: <1367952177.62.0.696196841087.issue1545463@psf.upfronthosting.co.za>
2013-05-07 18:42:57sbtlinkissue1545463 messages
2013-05-07 18:42:57sbtcreate