diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index dec5bab6269..d08e828c805 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -683,7 +683,7 @@ def clear(self): 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 826c0534d32..bc1398afff8 100644 --- a/lib/spack/spack/test/installer.py +++ b/lib/spack/spack/test/installer.py @@ -1272,3 +1272,14 @@ def remove(self, spec): # 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()