diff --git a/Lib/importlib/test/extension/test_finder.py b/Lib/importlib/test/extension/test_finder.py
index 5766910..1daa97a 100644
--- a/Lib/importlib/test/extension/test_finder.py
+++ b/Lib/importlib/test/extension/test_finder.py
@@ -1,9 +1,10 @@
 import importlib
+from .. import finder_tests
 from . import test_path_hook
 
 import unittest
 
-class FinderTests(unittest.TestCase):
+class FinderTests(finder_tests.FinderTests):
 
     """Test the finder for extension modules."""
 
@@ -11,9 +12,25 @@
         importer = importlib.ExtensionFileImporter(test_path_hook.PATH)
         return importer.find_module(fullname)
 
-    def test_success(self):
+    def test_module(self):
         self.assert_(self.find_module(test_path_hook.NAME))
 
+    def test_package(self):
+        # Extension modules cannot be an __init__ for a package.
+        pass
+
+    def test_module_in_package(self):
+        # No extension module in a package available for testing.
+        pass
+
+    def test_package_in_package(self):
+        # Extension modules cannot be an __init__ for a package.
+        pass
+
+    def test_package_over_module(self):
+        # Extension modules cannot be an __init__ for a package.
+        pass
+
     def test_failure(self):
         self.assert_(self.find_module('asdfjkl;') is None)
 
