Issue #18401: Fix test_pdb if $HOME is not set

HOME is not set on Windows for example.

Use also textwrap.dedent() for the script.
This commit is contained in:
Victor Stinner 2016-09-09 22:56:54 -07:00
parent 2eb6eca3e5
commit 11ea04491d
1 changed files with 10 additions and 6 deletions

View File

@ -1057,14 +1057,17 @@ class PdbTestCase(unittest.TestCase):
def test_readrc_kwarg(self):
save_home = os.environ['HOME']
save_home = os.environ.get('HOME', None)
save_dir = os.getcwd()
script = """import pdb; pdb.Pdb(readrc=False).set_trace()
script = textwrap.dedent("""
import pdb; pdb.Pdb(readrc=False).set_trace()
print('hello')
"""
del os.environ['HOME']
print('hello')
""")
try:
if save_home is not None:
del os.environ['HOME']
with tempfile.TemporaryDirectory() as dirname:
os.chdir(dirname)
with open('.pdbrc', 'w') as f:
@ -1087,7 +1090,8 @@ print('hello')
stdout.decode())
finally:
os.environ['HOME'] = save_home
if save_home is not None:
os.environ['HOME'] = save_home
os.chdir(save_dir)
def tearDown(self):