
This is a follow up to D88792 which found an issue in a call to PExpectTest's expect function that allows passing a string to the `substrs` parameter. However this issue was found by just grepping and TestPExpect's expect function is still accepting a single string as a value to `substrs`. This patch adds the same sanity check that D88792 added to the PExpectTest's implementation of `expect` and also adds a small test for it. Reviewed By: kastiglione, JDevlieghere Differential Revision: https://reviews.llvm.org/D89302
30 lines
847 B
Python
30 lines
847 B
Python
"""
|
|
Test the PExpectTest test functions.
|
|
"""
|
|
|
|
|
|
import lldb
|
|
import lldbsuite.test.lldbutil as lldbutil
|
|
from lldbsuite.test.lldbtest import *
|
|
from textwrap import dedent
|
|
|
|
|
|
class TestPExpectTestCase(TestBase):
|
|
|
|
mydir = TestBase.compute_mydir(__file__)
|
|
NO_DEBUG_INFO_TESTCASE = True
|
|
|
|
def assert_expect_fails_with(self, cmd, expect_args, expected_msg):
|
|
try:
|
|
self.expect(cmd, **expect_args)
|
|
except AssertionError as e:
|
|
self.assertIn(expected_msg, str(e))
|
|
else:
|
|
self.fail("expect should have raised AssertionError!")
|
|
|
|
def test_expect(self):
|
|
# Test that passing a string to the 'substrs' argument is rejected.
|
|
self.assert_expect_fails_with("settings list prompt",
|
|
dict(substrs="some substring"),
|
|
"substrs must be a collection of strings")
|