1"""
2Test displayed value of a vector variable while doing watchpoint operations
3"""
4
5
6
7import lldb
8from lldbsuite.test.decorators import *
9from lldbsuite.test.lldbtest import *
10from lldbsuite.test import lldbutil
11
12
13class TestValueOfVectorVariableTestCase(TestBase):
14    NO_DEBUG_INFO_TESTCASE = True
15
16    def test_value_of_vector_variable_using_watchpoint_set(self):
17        """Test verify displayed value of vector variable."""
18        exe = self.getBuildArtifact("a.out")
19        d = {'C_SOURCES': self.source, 'EXE': exe}
20        self.build(dictionary=d)
21        self.setTearDownCleanup(dictionary=d)
22        self.value_of_vector_variable_with_watchpoint_set()
23
24    def setUp(self):
25        # Call super's setUp().
26        TestBase.setUp(self)
27        # Our simple source filename.
28        self.source = 'main.c'
29
30    def value_of_vector_variable_with_watchpoint_set(self):
31        """Test verify displayed value of vector variable"""
32        exe = self.getBuildArtifact("a.out")
33        self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
34
35        # Set break to get a frame
36        self.runCmd("b main")
37
38        # Run the program.
39        self.runCmd("run", RUN_SUCCEEDED)
40
41        # Value of a vector variable should be displayed correctly
42        self.expect(
43            "watchpoint set variable global_vector",
44            WATCHPOINT_CREATED,
45            substrs=['new value: (1, 2, 3, 4)'])
46