The test TestTrimmedProgressReporting tests that progress reports are
being sent by listening for events with the titles of specific progress
reports. Commit f1ef910b removed the report for Apple DWARF indices
which was one of the reports being listened for in this test, so that
report is removed here as well.
That commit also now creates all progress reports with details so
reports string are prepended with the details count. This changes the
length of the trimmed progress report title string that's checked for
here so this commit changes the string to match as well.
This test was skipped on non-Apple platforms, but since the progress
report for Apple DWARF indices has been removed this commit removes that
decorator.
52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
"""
|
|
Test trimming long progress report in tiny terminal windows
|
|
"""
|
|
|
|
import os
|
|
import pexpect
|
|
import tempfile
|
|
import re
|
|
|
|
import lldb
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test.lldbpexpect import PExpectTest
|
|
|
|
|
|
class TestTrimmedProgressReporting(PExpectTest):
|
|
def do_test(self, term_width, pattern_list):
|
|
self.build()
|
|
# Start with a small window
|
|
self.launch(use_colors=True)
|
|
self.expect("set set show-progress true")
|
|
self.expect(
|
|
"set show show-progress", substrs=["show-progress (boolean) = true"]
|
|
)
|
|
self.expect("set set term-width " + str(term_width))
|
|
self.expect(
|
|
"set show term-width", substrs=["term-width (int) = " + str(term_width)]
|
|
)
|
|
|
|
self.child.send("file " + self.getBuildArtifact("a.out") + "\n")
|
|
self.child.expect(pattern_list)
|
|
|
|
# PExpect uses many timeouts internally and doesn't play well
|
|
# under ASAN on a loaded machine..
|
|
@skipIfAsan
|
|
@skipIfEditlineSupportMissing
|
|
def test_trimmed_progress_message(self):
|
|
self.do_test(19, ["Locating e...", "Parsing sy..."])
|
|
|
|
# PExpect uses many timeouts internally and doesn't play well
|
|
# under ASAN on a loaded machine..
|
|
@skipIfAsan
|
|
@skipIfEditlineSupportMissing
|
|
def test_long_progress_message(self):
|
|
self.do_test(
|
|
80,
|
|
[
|
|
"Locating external symbol file",
|
|
"Parsing symbol table",
|
|
],
|
|
)
|