From 1dd76ca951670f87b78b75c78697647001f68386 Mon Sep 17 00:00:00 2001 From: dluyer <53582923+dluyer@users.noreply.github.com> Date: Tue, 6 Aug 2019 09:58:19 -0700 Subject: Fix test_ansi.py when running in a non-writable directory --- tests/test_ansi.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/test_ansi.py b/tests/test_ansi.py index a9d445e..2140013 100755 --- a/tests/test_ansi.py +++ b/tests/test_ansi.py @@ -21,7 +21,10 @@ PEXPECT LICENSE from pexpect import ANSI import unittest from . import PexpectTestCase +import os +import shutil import sys +import tempfile PY3 = (sys.version_info[0] >= 3) @@ -118,8 +121,17 @@ class ansiTestCase (PexpectTestCase.PexpectTestCase): def test_torturet (self): s = ANSI.ANSI (24,80) - with open('torturet.vt') as f: - sample_text = f.read() + # This causes ANSI.py's DoLog to write in the cwd. Make sure we're in a + # writeable directory. + d = tempfile.mkdtemp() + old_cwd = os.getcwd() + os.chdir(d) + try: + with open('torturet.vt') as f: + sample_text = f.read() + finally: + os.chdir(old_cwd) + shutil.rmtree(d) for c in sample_text: s.process (c) assert s.pretty() == torture_target, 'processed: \n' + s.pretty() + '\nexpected:\n' + torture_target -- cgit v1.2.1