]> granicus.if.org Git - python/commitdiff
initscr() will exit if there's an error. Try to catch the obvious failure
authorNeal Norwitz <nnorwitz@gmail.com>
Fri, 6 Jan 2006 04:18:21 +0000 (04:18 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Fri, 6 Jan 2006 04:18:21 +0000 (04:18 +0000)
cases if TERM isn't set or is unknown (perhaps we should only check if
unset or empty?)

Skip the test if TERM isn't set.  This seems to occur when running under
buildbot and presumably cron.

For some more info check here:
http://mail.python.org/pipermail/python-checkins/2006-January/048704.html

Will backport if it works.

Lib/test/test_curses.py

index 7481642ea13d40d58f6f97cada639fe0d75aa3a6..e137d318a8b16f76b9074182f62ccf606d3b9f3e 100644 (file)
@@ -14,10 +14,13 @@ import curses, sys, tempfile, os
 # 'curses' resource be given on the regrtest command line using the -u
 # option.  If not available, nothing after this line will be executed.
 
-from test import test_support
-test_support.requires('curses')
-if not os.isatty(sys.stdin.fileno()):
-    raise test_support.TestSkipped, "stdin is not a tty"
+from test.test_support import requires, TestSkipped
+requires('curses')
+
+# XXX: if newterm was supported we could use it instead of initscr and not exit
+term = os.environ.get('TERM')
+if not term or term == 'unknown':
+    raise TestSkipped, "$TERM=%r, calling initscr() may cause exit" % term
 
 def window_funcs(stdscr):
     "Test the methods of windows"