From: R. David Murray Date: Tue, 31 Mar 2009 18:32:17 +0000 (+0000) Subject: A few more test skips via import_module, and change import_module to X-Git-Tag: v2.7a1~1695 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=597ebab74466593dc05a35faad0f5c316900153b;p=python A few more test skips via import_module, and change import_module to return the error message produced by importlib, so that if an import in the package whose import is being wrapped is what failed the skip message will contain the name of that module instead of the name of the wrapped module. Also fixed formatting of some previous comments. --- diff --git a/Lib/test/test_bsddb.py b/Lib/test/test_bsddb.py index f6e6ad0b98..56dade4cc9 100755 --- a/Lib/test/test_bsddb.py +++ b/Lib/test/test_bsddb.py @@ -4,11 +4,16 @@ """ import os, sys import copy -import bsddb -import dbhash # Just so we know it's imported import unittest from test import test_support +# Skip test if _bsddb wasn't built. +test_support.import_module('_bsddb') + +import bsddb +import dbhash # Just so we know it's imported + + class TestBSDDB(unittest.TestCase): openflag = 'c' diff --git a/Lib/test/test_bsddb3.py b/Lib/test/test_bsddb3.py index b290a6edb5..095c63206a 100644 --- a/Lib/test/test_bsddb3.py +++ b/Lib/test/test_bsddb3.py @@ -10,8 +10,8 @@ import unittest from test.test_support import (requires, verbose, run_unittest, unlink, rmtree, import_module) -#Skip test if bsddb cannot import _bsddb. -import_module('bsddb') +# Skip test if _bsddb module was not built. +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. diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py index 8d416b6f37..2c5ac11b42 100755 --- a/Lib/test/test_fcntl.py +++ b/Lib/test/test_fcntl.py @@ -3,12 +3,16 @@ OS/2+EMX doesn't support the file locking operations. """ -import fcntl import os import struct import sys import unittest -from test.test_support import verbose, TESTFN, unlink, run_unittest +from test.test_support import (verbose, TESTFN, unlink, run_unittest, + import_module) + +# Skip test if no fnctl module. +fcntl = import_module('fcntl') + # TODO - Write tests for flock() and lockf(). diff --git a/Lib/test/test_scriptpackages.py b/Lib/test/test_scriptpackages.py index a3a1857d85..7e02fa02f5 100644 --- a/Lib/test/test_scriptpackages.py +++ b/Lib/test/test_scriptpackages.py @@ -3,7 +3,8 @@ import unittest from test import test_support -aetools = test_support.import_module('aetools') +# Skip this test if aetools does not exist. +test_support.import_module('aetools') class TestScriptpackages(unittest.TestCase): diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py index 435333946d..3df1b27975 100644 --- a/Lib/test/test_support.py +++ b/Lib/test/test_support.py @@ -51,8 +51,8 @@ def import_module(name, deprecated=False): DeprecationWarning) try: module = importlib.import_module(name) - except ImportError: - raise unittest.SkipTest("No module named " + name) + except ImportError, msg: + raise unittest.SkipTest(str(msg)) else: return module diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py index 26e294ce13..0b05c54fe3 100644 --- a/Lib/test/test_tcl.py +++ b/Lib/test/test_tcl.py @@ -2,8 +2,11 @@ import unittest import os -import _tkinter from test import test_support + +# Skip this test if the _tkinter module wasn't built. +_tkinter = test_support.import_module('_tkinter') + from Tkinter import Tcl from _tkinter import TclError diff --git a/Lib/test/test_tk.py b/Lib/test/test_tk.py index 3ece3d9888..df4715b6a0 100644 --- a/Lib/test/test_tk.py +++ b/Lib/test/test_tk.py @@ -1,9 +1,13 @@ import os import sys import unittest -import Tkinter from test import test_support +# Skip test if _tkinter wasn't built. +test_support.import_module('_tkinter') + +import Tkinter + try: Tkinter.Button() except Tkinter.TclError, msg: diff --git a/Lib/test/test_ttk_guionly.py b/Lib/test/test_ttk_guionly.py index aa17c4772e..379ebaefa3 100644 --- a/Lib/test/test_ttk_guionly.py +++ b/Lib/test/test_ttk_guionly.py @@ -3,8 +3,10 @@ import sys import unittest from test import test_support -ttk = test_support.import_module('ttk') -#If ttk exists _tkinter must exist. +# Skip this test if _tkinter wasn't built. +test_support.import_module('_tkinter') + +import ttk from _tkinter import TclError try: diff --git a/Lib/test/test_ttk_textonly.py b/Lib/test/test_ttk_textonly.py index e7d9c00783..dde1b3551d 100644 --- a/Lib/test/test_ttk_textonly.py +++ b/Lib/test/test_ttk_textonly.py @@ -2,6 +2,9 @@ import os import sys from test import test_support +# Skip this test if _tkinter does not exist. +test_support.import_module('_tkinter') + this_dir = os.path.dirname(os.path.abspath(__file__)) lib_tk_test = os.path.abspath(os.path.join(this_dir, '..', 'lib-tk', 'test')) if lib_tk_test not in sys.path: diff --git a/Lib/test/test_winreg.py b/Lib/test/test_winreg.py index 1dbccc0027..1eaa93047e 100644 --- a/Lib/test/test_winreg.py +++ b/Lib/test/test_winreg.py @@ -5,9 +5,9 @@ import os, sys import unittest from test import test_support -#Do this first so test will be skipped if module doesn't exist +# Do this first so test will be skipped if module doesn't exist test_support.import_module('_winreg') -#Now import everything +# Now import everything from _winreg import * test_key_name = "SOFTWARE\\Python Registry Test Key - Delete Me"