annotate Lib/importlib/test/abc.py @ 78069:a8aa77458e12 3.2

Add c_size_t and c_ssize_t to the ctypes summary table.
author Antoine Pitrou <solipsis@pitrou.net>
date Thu, 12 Jul 2012 20:31:50 +0200
parents c06f02a5e962
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51186
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
1 import abc
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
2 import unittest
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
3
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
4
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
5 class FinderTests(unittest.TestCase, metaclass=abc.ABCMeta):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
6
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
7 """Basic tests for a finder to pass."""
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
8
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
9 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
10 def test_module(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
11 # Test importing a top-level module.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
12 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
13
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
14 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
15 def test_package(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
16 # Test importing a package.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
17 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
18
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
19 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
20 def test_module_in_package(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
21 # Test importing a module contained within a package.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
22 # A value for 'path' should be used if for a meta_path finder.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
23 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
24
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
25 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
26 def test_package_in_package(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
27 # Test importing a subpackage.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
28 # A value for 'path' should be used if for a meta_path finder.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
29 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
30
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
31 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
32 def test_package_over_module(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
33 # Test that packages are chosen over modules.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
34 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
35
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
36 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
37 def test_failure(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
38 # Test trying to find a module that cannot be handled.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
39 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
40
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
41
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
42 class LoaderTests(unittest.TestCase, metaclass=abc.ABCMeta):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
43
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
44 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
45 def test_module(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
46 """A module should load without issue.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
47
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
48 After the loader returns the module should be in sys.modules.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
49
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
50 Attributes to verify:
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
51
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
52 * __file__
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
53 * __loader__
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
54 * __name__
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
55 * No __path__
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
56
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
57 """
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
58 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
59
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
60 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
61 def test_package(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
62 """Loading a package should work.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
63
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
64 After the loader returns the module should be in sys.modules.
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
65
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
66 Attributes to verify:
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
67
52083
c06f02a5e962 Introduce importlib.abc. The module contains various ABCs related to imports
Brett Cannon <bcannon@gmail.com>
parents: 51186
diff changeset
68 * __name__
51186
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
69 * __file__
52083
c06f02a5e962 Introduce importlib.abc. The module contains various ABCs related to imports
Brett Cannon <bcannon@gmail.com>
parents: 51186
diff changeset
70 * __package__
c06f02a5e962 Introduce importlib.abc. The module contains various ABCs related to imports
Brett Cannon <bcannon@gmail.com>
parents: 51186
diff changeset
71 * __path__
51186
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
72 * __loader__
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
73
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
74 """
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
75 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
76
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
77 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
78 def test_lacking_parent(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
79 """A loader should not be dependent on it's parent package being
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
80 imported."""
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
81 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
82
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
83 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
84 def test_module_reuse(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
85 """If a module is already in sys.modules, it should be reused."""
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
86 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
87
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
88 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
89 def test_state_after_failure(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
90 """If a module is already in sys.modules and a reload fails
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
91 (e.g. a SyntaxError), the module should be in the state it was before
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
92 the reload began."""
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
93 pass
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
94
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
95 @abc.abstractmethod
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
96 def test_unloadable(self):
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
97 """Test ImportError is raised when the loader is asked to load a module
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
98 it can't."""
b88d377011f5 Merge testing ABCs for importlib into importlib.test.abc.
Brett Cannon <bcannon@gmail.com>
parents:
diff changeset
99 pass