[Python-checkins] r70775 - in python/trunk/Lib/test: test_bsddb3.py test_bz2.py test_ctypes.py test_curses.py test_dbm.py test_fork1.py test_gdbm.py test_ioctl.py test_multiprocessing.py test_nis.py test_ossaudiodev.py test_resource.py test_sqlite.py test_startfile.py test_support.py test_xml_etree_c.py test_zlib.py
r.david.murray
python-checkins at python.org
Tue Mar 31 01:05:50 CEST 2009
Author: r.david.murray
Date: Tue Mar 31 01:05:48 2009
New Revision: 70775
Log:
Change more tests to use import_module for the modules that
should cause tests to be skipped. Also rename import_function
to the more descriptive get_attribute and add a docstring.
Modified:
python/trunk/Lib/test/test_bsddb3.py
python/trunk/Lib/test/test_bz2.py
python/trunk/Lib/test/test_ctypes.py
python/trunk/Lib/test/test_curses.py
python/trunk/Lib/test/test_dbm.py
python/trunk/Lib/test/test_fork1.py
python/trunk/Lib/test/test_gdbm.py
python/trunk/Lib/test/test_ioctl.py
python/trunk/Lib/test/test_multiprocessing.py
python/trunk/Lib/test/test_nis.py
python/trunk/Lib/test/test_ossaudiodev.py
python/trunk/Lib/test/test_resource.py
python/trunk/Lib/test/test_sqlite.py
python/trunk/Lib/test/test_startfile.py
python/trunk/Lib/test/test_support.py
python/trunk/Lib/test/test_xml_etree_c.py
python/trunk/Lib/test/test_zlib.py
Modified: python/trunk/Lib/test/test_bsddb3.py
==============================================================================
--- python/trunk/Lib/test/test_bsddb3.py (original)
+++ python/trunk/Lib/test/test_bsddb3.py Tue Mar 31 01:05:48 2009
@@ -7,7 +7,11 @@
import tempfile
import time
import unittest
-from test.test_support import requires, verbose, run_unittest, unlink, rmtree
+from test.test_support import (requires, verbose, run_unittest, unlink, rmtree,
+ import_module)
+
+#Skip test if bsddb cannot import _bsddb.
+import_module('bsddb')
# When running as a script instead of within the regrtest framework, skip the
# requires test, since it's obvious we want to run them.
Modified: python/trunk/Lib/test/test_bz2.py
==============================================================================
--- python/trunk/Lib/test/test_bz2.py (original)
+++ python/trunk/Lib/test/test_bz2.py Tue Mar 31 01:05:48 2009
@@ -1,6 +1,6 @@
#!/usr/bin/python
from test import test_support
-from test.test_support import TESTFN
+from test.test_support import TESTFN, import_module
import unittest
from cStringIO import StringIO
@@ -8,7 +8,7 @@
import subprocess
import sys
-import bz2
+bz2 = import_module('bz2')
from bz2 import BZ2File, BZ2Compressor, BZ2Decompressor
has_cmdline_bunzip2 = sys.platform not in ("win32", "os2emx", "riscos")
Modified: python/trunk/Lib/test/test_ctypes.py
==============================================================================
--- python/trunk/Lib/test/test_ctypes.py (original)
+++ python/trunk/Lib/test/test_ctypes.py Tue Mar 31 01:05:48 2009
@@ -1,6 +1,9 @@
import unittest
-from test.test_support import run_unittest
+from test.test_support import run_unittest, import_module
+#Skip tests if _ctypes module does not exist
+import_module('_ctypes')
+
import ctypes.test
def test_main():
Modified: python/trunk/Lib/test/test_curses.py
==============================================================================
--- python/trunk/Lib/test/test_curses.py (original)
+++ python/trunk/Lib/test/test_curses.py Tue Mar 31 01:05:48 2009
@@ -9,15 +9,16 @@
# Only called, not tested: getmouse(), ungetmouse()
#
-import curses, sys, tempfile, os
-import curses.panel
+import sys, tempfile, os
# Optionally test curses module. This currently requires that the
# '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.test_support import requires
+from test.test_support import requires, import_module
requires('curses')
+curses = import_module('curses')
+curses.panel = import_module('curses.panel')
# XXX: if newterm was supported we could use it instead of initscr and not exit
term = os.environ.get('TERM')
Modified: python/trunk/Lib/test/test_dbm.py
==============================================================================
--- python/trunk/Lib/test/test_dbm.py (original)
+++ python/trunk/Lib/test/test_dbm.py Tue Mar 31 01:05:48 2009
@@ -1,6 +1,6 @@
from test import test_support
import unittest
-import dbm
+dbm = test_support.import_module('dbm')
class DbmTestCase(unittest.TestCase):
Modified: python/trunk/Lib/test/test_fork1.py
==============================================================================
--- python/trunk/Lib/test/test_fork1.py (original)
+++ python/trunk/Lib/test/test_fork1.py Tue Mar 31 01:05:48 2009
@@ -4,10 +4,10 @@
import os
import time
from test.fork_wait import ForkWait
-from test.test_support import run_unittest, reap_children, import_function
+from test.test_support import run_unittest, reap_children, get_attribute
#Skip test if fork does not exist.
-import_function(os, 'fork')
+get_attribute(os, 'fork')
class ForkTest(ForkWait):
Modified: python/trunk/Lib/test/test_gdbm.py
==============================================================================
--- python/trunk/Lib/test/test_gdbm.py (original)
+++ python/trunk/Lib/test/test_gdbm.py Tue Mar 31 01:05:48 2009
@@ -1,7 +1,8 @@
-import gdbm
import unittest
import os
-from test.test_support import verbose, TESTFN, run_unittest, unlink
+from test.test_support import (verbose, TESTFN, run_unittest, unlink,
+ import_module)
+gdbm = import_module('gdbm')
filename = TESTFN
Modified: python/trunk/Lib/test/test_ioctl.py
==============================================================================
--- python/trunk/Lib/test/test_ioctl.py (original)
+++ python/trunk/Lib/test/test_ioctl.py Tue Mar 31 01:05:48 2009
@@ -1,12 +1,9 @@
import unittest
-from test.test_support import run_unittest
+from test.test_support import run_unittest, import_module, get_attribute
import os, struct
-try:
- import fcntl, termios
-except ImportError:
- raise unittest.SkipTest("No fcntl or termios module")
-if not hasattr(termios,'TIOCGPGRP'):
- raise unittest.SkipTest("termios module doesn't have TIOCGPGRP")
+fcntl = import_module('fcntl')
+termios = import_module('termios')
+get_attribute(termios, 'TIOCGPGRP') #Can't run tests without this feature
try:
tty = open("/dev/tty", "r")
Modified: python/trunk/Lib/test/test_multiprocessing.py
==============================================================================
--- python/trunk/Lib/test/test_multiprocessing.py (original)
+++ python/trunk/Lib/test/test_multiprocessing.py Tue Mar 31 01:05:48 2009
@@ -17,20 +17,19 @@
import socket
import random
import logging
+import test_support
+_multiprocessing = test_support.import_module('_multiprocessing')
+
# Work around broken sem_open implementations
-try:
- import multiprocessing.synchronize
-except ImportError, e:
- raise unittest.SkipTest(e)
+test_support.import_module('multiprocessing.synchronize')
import multiprocessing.dummy
import multiprocessing.connection
import multiprocessing.managers
import multiprocessing.heap
import multiprocessing.pool
-import _multiprocessing
from multiprocessing import util
Modified: python/trunk/Lib/test/test_nis.py
==============================================================================
--- python/trunk/Lib/test/test_nis.py (original)
+++ python/trunk/Lib/test/test_nis.py Tue Mar 31 01:05:48 2009
@@ -1,6 +1,7 @@
from test import test_support
import unittest
-import nis
+
+nis = test_support.import_module('nis')
class NisTests(unittest.TestCase):
def test_maps(self):
Modified: python/trunk/Lib/test/test_ossaudiodev.py
==============================================================================
--- python/trunk/Lib/test/test_ossaudiodev.py (original)
+++ python/trunk/Lib/test/test_ossaudiodev.py Tue Mar 31 01:05:48 2009
@@ -3,8 +3,9 @@
from test.test_support import findfile
+ossaudiodev = test_support.import_module('ossaudiodev')
+
import errno
-import ossaudiodev
import sys
import sunau
import time
Modified: python/trunk/Lib/test/test_resource.py
==============================================================================
--- python/trunk/Lib/test/test_resource.py (original)
+++ python/trunk/Lib/test/test_resource.py Tue Mar 31 01:05:48 2009
@@ -1,9 +1,9 @@
import unittest
from test import test_support
-
-import resource
import time
+resource = test_support.import_module('resource')
+
# This test is checking a few specific problem spots with the resource module.
class ResourceTest(unittest.TestCase):
Modified: python/trunk/Lib/test/test_sqlite.py
==============================================================================
--- python/trunk/Lib/test/test_sqlite.py (original)
+++ python/trunk/Lib/test/test_sqlite.py Tue Mar 31 01:05:48 2009
@@ -1,10 +1,9 @@
import unittest
-from test.test_support import run_unittest
+from test.test_support import run_unittest, import_module
+
+#Skip test of _sqlite3 module not installed
+import_module('_sqlite3')
-try:
- import _sqlite3
-except ImportError:
- raise unittest.SkipTest('no sqlite available')
from sqlite3.test import (dbapi, types, userfunctions, py25tests,
factory, transactions, hooks, regression,
dump)
Modified: python/trunk/Lib/test/test_startfile.py
==============================================================================
--- python/trunk/Lib/test/test_startfile.py (original)
+++ python/trunk/Lib/test/test_startfile.py Tue Mar 31 01:05:48 2009
@@ -12,7 +12,7 @@
import os
from os import path
-startfile = test_support.import_function(os, 'startfile')
+startfile = test_support.get_attribute(os, 'startfile')
class TestCase(unittest.TestCase):
Modified: python/trunk/Lib/test/test_support.py
==============================================================================
--- python/trunk/Lib/test/test_support.py (original)
+++ python/trunk/Lib/test/test_support.py Tue Mar 31 01:05:48 2009
@@ -12,6 +12,7 @@
import shutil
import warnings
import unittest
+import importlib
__all__ = ["Error", "TestFailed", "ResourceDenied", "import_module",
"verbose", "use_resources", "max_memuse", "record_original_stdout",
@@ -25,7 +26,7 @@
"run_with_locale", "set_memlimit", "bigmemtest", "bigaddrspacetest",
"BasicTestRunner", "run_unittest", "run_doctest", "threading_setup",
"threading_cleanup", "reap_children", "cpython_only",
- "check_impl_detail"]
+ "check_impl_detail", "get_attribute"]
class Error(Exception):
"""Base class for regression test exceptions."""
@@ -49,24 +50,26 @@
warnings.filterwarnings("ignore", ".+ (module|package)",
DeprecationWarning)
try:
- module = __import__(name, level=0)
+ module = importlib.import_module(name)
except ImportError:
raise unittest.SkipTest("No module named " + name)
else:
return module
-def import_function(module, name, deprecated=False):
+def get_attribute(module, name, deprecated=False):
+ """Get an attribute from the module, raising SkipTest if it is
+ not available."""
with warnings.catch_warnings():
if deprecated:
warnings.filterwarnings("ignore", ".+ (module|package)",
DeprecationWarning)
try:
- function = getattr(module, name)
+ attribute = getattr(module, name)
except AttributeError:
- raise unittest.SkipTest("No function named %s in module %s" % (
- name, module.__name__))
+ raise unittest.SkipTest("module %s has no attribute %s" % (
+ module.__name__, name))
else:
- return function
+ return attribute
verbose = 1 # Flag set to 0 by regrtest.py
Modified: python/trunk/Lib/test/test_xml_etree_c.py
==============================================================================
--- python/trunk/Lib/test/test_xml_etree_c.py (original)
+++ python/trunk/Lib/test/test_xml_etree_c.py Tue Mar 31 01:05:48 2009
@@ -5,7 +5,7 @@
from test import test_support
-from xml.etree import cElementTree as ET
+ET = test_support.import_module('xml.etree.cElementTree')
SAMPLE_XML = """
<body>
Modified: python/trunk/Lib/test/test_zlib.py
==============================================================================
--- python/trunk/Lib/test/test_zlib.py (original)
+++ python/trunk/Lib/test/test_zlib.py Tue Mar 31 01:05:48 2009
@@ -1,9 +1,10 @@
import unittest
from test import test_support
-import zlib
import binascii
import random
+zlib = test_support.import_module('zlib')
+
class ChecksumTestCase(unittest.TestCase):
# checksum test cases
More information about the Python-checkins
mailing list