mirror of
https://github.com/python/cpython.git
synced 2025-11-03 11:23:31 +00:00
bpo-30108: Restore sys.path in test_site (#1197)
Add setUpModule() and tearDownModule() functions to test_site to save/restore sys.path at the module level to prevent warning if the user site directory is created, since site.addsitedir() modifies sys.path.
This commit is contained in:
parent
b4dc6af7a7
commit
b85c136903
1 changed files with 21 additions and 8 deletions
|
|
@ -27,16 +27,29 @@ if sys.flags.no_site:
|
||||||
|
|
||||||
import site
|
import site
|
||||||
|
|
||||||
|
|
||||||
|
OLD_SYS_PATH = None
|
||||||
|
|
||||||
|
|
||||||
|
def setUpModule():
|
||||||
|
global OLD_SYS_PATH
|
||||||
|
OLD_SYS_PATH = sys.path[:]
|
||||||
|
|
||||||
if site.ENABLE_USER_SITE and not os.path.isdir(site.USER_SITE):
|
if site.ENABLE_USER_SITE and not os.path.isdir(site.USER_SITE):
|
||||||
# need to add user site directory for tests
|
# need to add user site directory for tests
|
||||||
try:
|
try:
|
||||||
os.makedirs(site.USER_SITE)
|
os.makedirs(site.USER_SITE)
|
||||||
|
# modify sys.path: will be restored by tearDownModule()
|
||||||
site.addsitedir(site.USER_SITE)
|
site.addsitedir(site.USER_SITE)
|
||||||
except PermissionError as exc:
|
except PermissionError as exc:
|
||||||
raise unittest.SkipTest('unable to create user site directory (%r): %s'
|
raise unittest.SkipTest('unable to create user site directory (%r): %s'
|
||||||
% (site.USER_SITE, exc))
|
% (site.USER_SITE, exc))
|
||||||
|
|
||||||
|
|
||||||
|
def tearDownModule():
|
||||||
|
sys.path[:] = OLD_SYS_PATH
|
||||||
|
|
||||||
|
|
||||||
class HelperFunctionsTests(unittest.TestCase):
|
class HelperFunctionsTests(unittest.TestCase):
|
||||||
"""Tests for helper functions.
|
"""Tests for helper functions.
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue