Changeset 391 for python/trunk/Lib/test/test_curses.py
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Lib/test/test_curses.py
r2 r391 10 10 # 11 11 12 import curses, sys, tempfile, os 13 import curses.panel 12 import sys, tempfile, os 14 13 15 14 # Optionally test curses module. This currently requires that the … … 17 16 # option. If not available, nothing after this line will be executed. 18 17 19 from test.test_support import requires, TestSkipped 18 import unittest 19 from test.test_support import requires, import_module 20 20 requires('curses') 21 22 # skip all these tests on FreeBSD: test_curses currently hangs the 23 # FreeBSD buildbots, preventing other tests from running. See issue 24 # #7384. 25 if 'freebsd' in sys.platform: 26 raise unittest.SkipTest('The curses module is broken on FreeBSD. See http://bugs.python.org/issue7384.') 21 curses = import_module('curses') 22 curses.panel = import_module('curses.panel') 23 27 24 28 25 # XXX: if newterm was supported we could use it instead of initscr and not exit 29 26 term = os.environ.get('TERM') 30 27 if not term or term == 'unknown': 31 raise TestSkipped, "$TERM=%r, calling initscr() may cause exit" % term28 raise unittest.SkipTest, "$TERM=%r, calling initscr() may cause exit" % term 32 29 33 30 if sys.platform == "cygwin": 34 raise TestSkipped("cygwin's curses mostly just hangs")31 raise unittest.SkipTest("cygwin's curses mostly just hangs") 35 32 36 33 def window_funcs(stdscr): … … 222 219 curses.mouseinterval(10) 223 220 # just verify these don't cause errors 221 curses.ungetmouse(0, 0, 0, 0, curses.BUTTON1_PRESSED) 224 222 m = curses.getmouse() 225 curses.ungetmouse(*m)226 223 227 224 if hasattr(curses, 'is_term_resized'): … … 254 251 pass 255 252 253 def test_userptr_memory_leak(stdscr): 254 w = curses.newwin(10, 10) 255 p = curses.panel.new_panel(w) 256 obj = object() 257 nrefs = sys.getrefcount(obj) 258 for i in range(100): 259 p.set_userptr(obj) 260 261 p.set_userptr(None) 262 if sys.getrefcount(obj) != nrefs: 263 raise RuntimeError, "set_userptr leaked references" 264 265 def test_userptr_segfault(stdscr): 266 panel = curses.panel.new_panel(stdscr) 267 class A: 268 def __del__(self): 269 panel.set_userptr(None) 270 panel.set_userptr(A()) 271 panel.set_userptr(None) 272 256 273 def test_resize_term(stdscr): 257 274 if hasattr(curses, 'resizeterm'): … … 272 289 window_funcs(stdscr) 273 290 test_userptr_without_set(stdscr) 291 test_userptr_memory_leak(stdscr) 292 test_userptr_segfault(stdscr) 274 293 test_resize_term(stdscr) 275 294 test_issue6243(stdscr) … … 282 301 else: 283 302 if not sys.__stdout__.isatty(): 284 raise TestSkipped("sys.__stdout__ is not a tty")303 raise unittest.SkipTest("sys.__stdout__ is not a tty") 285 304 # testing setupterm() inside initscr/endwin 286 305 # causes terminal breakage
Note:
See TracChangeset
for help on using the changeset viewer.