Files
clang-p2996/lldb/test/API/functionalities/progress_reporting/TestTrimmedProgressReporting.py
Jordan Rupprecht 503075e4d4 [lldb][test][NFC] Narrow scope of import pexpect
We do not run `pexpect` based tests on Windows, but there are still cases where those tests run `import pexpect` outside of the scope where the test is skipped. By moving the import statement to a different scope, those tests can run even when `pexpect` truly isn't installed.

Tangentially related: TestSTTYBeforeAndAfter.py is using a manual `@expectedFailureAll` for windows instead of the common `@skipIfWindows`. If `pexepect` is generally expected to not be available, we should not bother running the test at all.
2024-03-04 11:21:47 -08:00

52 lines
1.5 KiB
Python

"""
Test trimming long progress report in tiny terminal windows
"""
import os
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 (unsigned) = " + 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",
],
)