From: Victor Stinner Date: Thu, 20 Apr 2017 11:39:39 +0000 (+0200) Subject: bpo-30108: Restore sys.path in test_site (#1197) X-Git-Tag: v3.7.0a1~934 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b85c136903c6d2368162f7c4a58f258c9c69ead0;p=python 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. --- diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py index 342ec9e43d..4029617aa1 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -27,14 +27,27 @@ if sys.flags.no_site: import site -if site.ENABLE_USER_SITE and not os.path.isdir(site.USER_SITE): - # need to add user site directory for tests - try: - os.makedirs(site.USER_SITE) - site.addsitedir(site.USER_SITE) - except PermissionError as exc: - raise unittest.SkipTest('unable to create user site directory (%r): %s' - % (site.USER_SITE, exc)) + +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): + # need to add user site directory for tests + try: + os.makedirs(site.USER_SITE) + # modify sys.path: will be restored by tearDownModule() + site.addsitedir(site.USER_SITE) + except PermissionError as exc: + raise unittest.SkipTest('unable to create user site directory (%r): %s' + % (site.USER_SITE, exc)) + + +def tearDownModule(): + sys.path[:] = OLD_SYS_PATH class HelperFunctionsTests(unittest.TestCase):