diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors')
3 files changed, 68 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/Makefile b/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/Makefile new file mode 100644 index 000000000000..b09a579159d4 --- /dev/null +++ b/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/Makefile @@ -0,0 +1,5 @@ +LEVEL = ../../../make + +C_SOURCES := main.c + +include $(LEVEL)/Makefile.rules diff --git a/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/TestValueOfVectorVariable.py b/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/TestValueOfVectorVariable.py new file mode 100644 index 000000000000..73752d2d18d5 --- /dev/null +++ b/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/TestValueOfVectorVariable.py @@ -0,0 +1,47 @@ +""" +Test displayed value of a vector variable while doing watchpoint operations +""" + +from __future__ import print_function + + + +import os, time +import lldb +from lldbsuite.test.lldbtest import * +import lldbsuite.test.lldbutil as lldbutil + +class TestValueOfVectorVariableTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + @expectedFailureAndroid(archs=['arm', 'aarch64']) # Watchpoints not supported + @expectedFailureWindows("llvm.org/pr24446") # WINDOWS XFAIL TRIAGE - Watchpoints not supported on Windows + def test_value_of_vector_variable_using_watchpoint_set(self): + """Test verify displayed value of vector variable.""" + self.build(dictionary=self.d) + self.setTearDownCleanup(dictionary=self.d) + self.value_of_vector_variable_with_watchpoint_set() + + def setUp(self): + # Call super's setUp(). + TestBase.setUp(self) + # Our simple source filename. + self.source = 'main.c' + self.exe_name = 'a.out' + self.d = {'C_SOURCES': self.source, 'EXE': self.exe_name} + + def value_of_vector_variable_with_watchpoint_set(self): + """Test verify displayed value of vector variable""" + exe = os.path.join(os.getcwd(), 'a.out') + self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) + + # Set break to get a frame + self.runCmd("b main") + + # Run the program. + self.runCmd("run", RUN_SUCCEEDED) + + # Value of a vector variable should be displayed correctly + self.expect("watchpoint set variable global_vector", WATCHPOINT_CREATED, + substrs = ['new value: (1, 2, 3, 4)']) diff --git a/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/main.c b/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/main.c new file mode 100644 index 000000000000..98f8c477eb31 --- /dev/null +++ b/packages/Python/lldbsuite/test/functionalities/watchpoint/watchpoint_on_vectors/main.c @@ -0,0 +1,16 @@ +//===-- main.c --------------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +typedef char v4i8 __attribute__ ((vector_size(4))); +v4i8 global_vector = {1, 2, 3, 4}; + +int +main () +{ + return 0; +} |