summaryrefslogtreecommitdiff
path: root/lldb/test/API/commands/breakpoint/set/func-regex/TestBreakpointRegexError.py
blob: b6b98d89d7ca0305fdd08a97898daf3d6d8eddcf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil

class TestCase(TestBase):

    @no_debug_info_test
    def test_error(self):
        self.expect("breakpoint set --func-regex (", error=True,
                    substrs=["error: Function name regular expression could " +
                             "not be compiled: parentheses not balanced"])

        # Point out if looks like the user provided a globbing expression.
        self.expect("breakpoint set --func-regex *a", error=True,
                    substrs=["error: Function name regular expression could " +
                             "not be compiled: repetition-operator operand invalid",
                             "warning: Function name regex does not accept glob patterns."])
        self.expect("breakpoint set --func-regex ?a", error=True,
                    substrs=["error: Function name regular expression could " +
                             "not be compiled: repetition-operator operand invalid",
                             "warning: Function name regex does not accept glob patterns."])
        # Make sure that warning is only shown for invalid regular expressions
        # that look like a globbing expression (i.e., they have a leading * or ?).
        self.expect("breakpoint set --func-regex a*+", error=True, matching=False,
                    substrs=["warning: Function name regex does not accept glob patterns."])
        self.expect("breakpoint set --func-regex a?+", error=True, matching=False,
                    substrs=["warning: Function name regex does not accept glob patterns."])