Mercurial > cpython-lru_cache-weakref
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 |
| 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 |
