Note that on py3k we are actually looking at sys.stdout, not sys.__stdout__.

Merged revisions 75518 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75518 | r.david.murray | 2009-10-19 12:01:28 -0400 (Mon, 19 Oct 2009) | 3 lines

  Only run test_curses when sys.__stdout__ is a tty.  This eliminates the
  last false positive when running regrtest with -j.
........
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index 2615ffb..9273ba8 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -275,6 +275,8 @@
         curses.resetty()
 
 def test_main():
+    if not sys.stdout.isatty():
+        raise unittest.SkipTest("sys.stdout is not a tty")
     # testing setupterm() inside initscr/endwin
     # causes terminal breakage
     curses.setupterm(fd=sys.stdout.fileno())