From b93b64ca67768dfb2c377dd9c64452cb60ad7e23 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 1 Feb 2022 21:59:29 +0100 Subject: TermStatusLine: fix python 2.7 and add test (#28715) Co-authored-by: Massimiliano Culpo --- lib/spack/spack/installer.py | 2 +- lib/spack/spack/test/installer.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index dec5bab626..d08e828c80 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -683,7 +683,7 @@ class TermStatusLine(object): return self.pkg_set.clear() - self.pkg_list.clear() + self.pkg_list = [] # Move the cursor to the beginning of the first "Waiting for" message and clear # everything after it. diff --git a/lib/spack/spack/test/installer.py b/lib/spack/spack/test/installer.py index 826c0534d3..bc1398afff 100644 --- a/lib/spack/spack/test/installer.py +++ b/lib/spack/spack/test/installer.py @@ -1272,3 +1272,14 @@ def test_overwrite_install_backup_failure(temporary_store, config, mock_packages # Make sure that `remove` was called on the database after an unsuccessful # attempt to restore the backup. assert fake_db.called + + +def test_term_status_line(): + # Smoke test for TermStatusLine; to actually test output it would be great + # to pass a StringIO instance, but we use tty.msg() internally which does not + # accept that. `with log_output(buf)` doesn't really work because it trims output + # and we actually want to test for escape sequences etc. + x = inst.TermStatusLine(enabled=True) + x.add("a") + x.add("b") + x.clear() -- cgit v1.2.3-60-g2f50