|
1 | 1 | # coding: utf-8 |
2 | 2 | from __future__ import unicode_literals |
3 | 3 |
|
4 | | -import os |
5 | 4 | import re |
6 | 5 | import json |
7 | 6 | import pickle |
8 | 7 | import textwrap |
| 8 | +import unittest |
9 | 9 | import importlib |
10 | | -import unittest.mock |
11 | 10 | import importlib_metadata |
12 | 11 |
|
| 12 | +import pyfakefs.fake_filesystem_unittest as ffs |
| 13 | + |
13 | 14 | from . import fixtures |
14 | 15 | from .. import ( |
15 | 16 | Distribution, EntryPoint, MetadataPathFinder, |
@@ -205,28 +206,20 @@ def test_discovery(self): |
205 | 206 | importlib_metadata.distributions() |
206 | 207 |
|
207 | 208 |
|
208 | | -class InaccessibleSysPath(fixtures.OnSysPath, unittest.TestCase): |
| 209 | +class InaccessibleSysPath(fixtures.OnSysPath, ffs.TestCase): |
209 | 210 | site_dir = '/access-denied' |
210 | 211 |
|
211 | | - def listdir(self, target, orig=os.listdir): |
212 | | - """ |
213 | | - Fake listdir raising an exception when access is denied. |
214 | | - """ |
215 | | - if target == self.site_dir: |
216 | | - raise OSError(13, 'Permission denied') |
217 | | - return orig(target) |
218 | | - |
219 | 212 | def setUp(self): |
220 | 213 | super(InaccessibleSysPath, self).setUp() |
221 | | - self.fixtures.enter_context( |
222 | | - unittest.mock.patch('os.listdir', self.listdir)) |
| 214 | + self.setUpPyfakefs() |
| 215 | + self.fs.create_dir(self.site_dir, perm_bits=000) |
223 | 216 |
|
224 | 217 | def test_discovery(self): |
225 | 218 | """ |
226 | 219 | Discovering distributions should succeed even if |
227 | 220 | there is an invalid path on sys.path. |
228 | 221 | """ |
229 | | - importlib_metadata.distributions() |
| 222 | + list(importlib_metadata.distributions()) |
230 | 223 |
|
231 | 224 |
|
232 | 225 | class TestEntryPoints(unittest.TestCase): |
|
0 commit comments