diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function')
6 files changed, 0 insertions, 282 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/Makefile b/lldb/packages/Python/lldbsuite/test/expression_command/call-function/Makefile deleted file mode 100644 index 9d4f3b7f141..00000000000 --- a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -LEVEL = ../../make - -CXX_SOURCES := main.cpp - -include $(LEVEL)/Makefile.rules - -clean:: - rm -rf $(wildcard *.o *.d *.dSYM) diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallBuiltinFunction.py b/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallBuiltinFunction.py deleted file mode 100644 index 87787f3479a..00000000000 --- a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallBuiltinFunction.py +++ /dev/null @@ -1,53 +0,0 @@ -""" -Tests calling builtin functions using expression evaluation. -""" - -from __future__ import print_function - - -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class ExprCommandCallBuiltinFunction(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - # Builtins are expanded by Clang, so debug info shouldn't matter. - NO_DEBUG_INFO_TESTCASE = True - - def setUp(self): - TestBase.setUp(self) - # Find the line number to break for main.c. - self.line = line_number( - 'main.cpp', - '// Please test these expressions while stopped at this line:') - - def test(self): - self.build() - - # Set breakpoint in main and run exe - self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) - lldbutil.run_break_set_by_file_and_line( - self, "main.cpp", self.line, num_expected_locations=-1, loc_exact=True) - - self.runCmd("run", RUN_SUCCEEDED) - - interp = self.dbg.GetCommandInterpreter() - result = lldb.SBCommandReturnObject() - - # Test different builtin functions. - - interp.HandleCommand("expr __builtin_isinf(0.0f)", result) - self.assertEqual(result.GetOutput(), "(int) $0 = 0\n") - - interp.HandleCommand("expr __builtin_isnormal(0.0f)", result) - self.assertEqual(result.GetOutput(), "(int) $1 = 0\n") - - interp.HandleCommand("expr __builtin_constant_p(1)", result) - self.assertEqual(result.GetOutput(), "(int) $2 = 1\n") - - interp.HandleCommand("expr __builtin_abs(-14)", result) - self.assertEqual(result.GetOutput(), "(int) $3 = 14\n") diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py b/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py deleted file mode 100644 index 8f2ea371f2b..00000000000 --- a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py +++ /dev/null @@ -1,57 +0,0 @@ -""" -Test calling std::String member functions. -""" - -from __future__ import print_function - - -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class ExprCommandCallFunctionTestCase(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - # Call super's setUp(). - TestBase.setUp(self) - # Find the line number to break for main.c. - self.line = line_number( - 'main.cpp', - '// Please test these expressions while stopped at this line:') - - @expectedFailureAll( - compiler="icc", - bugnumber="llvm.org/pr14437, fails with ICC 13.1") - @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr21765") - def test_with(self): - """Test calling std::String member function.""" - self.build() - self.runCmd("file " + self.getBuildArtifact("a.out"), - CURRENT_EXECUTABLE_SET) - - # Some versions of GCC encode two locations for the 'return' statement - # in main.cpp - lldbutil.run_break_set_by_file_and_line( - self, "main.cpp", self.line, num_expected_locations=-1, loc_exact=True) - - self.runCmd("run", RUN_SUCCEEDED) - - self.expect("print str", - substrs=['Hello world']) - - # Calling this function now succeeds, but we follow the typedef return type through to - # const char *, and thus don't invoke the Summary formatter. - - # clang's libstdc++ on ios arm64 inlines std::string::c_str() always; - # skip this part of the test. - triple = self.dbg.GetSelectedPlatform().GetTriple() - do_cstr_test = True - if triple == "arm64-apple-ios" or triple == "arm64-apple-tvos" or triple == "armv7k-apple-watchos" or triple == "arm64-apple-bridgeos": - do_cstr_test = False - if do_cstr_test: - self.expect("print str.c_str()", - substrs=['Hello world']) diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStopAndContinue.py b/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStopAndContinue.py deleted file mode 100644 index d832983bdb6..00000000000 --- a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStopAndContinue.py +++ /dev/null @@ -1,53 +0,0 @@ -""" -Test calling a function, stopping in the call, continue and gather the result on stop. -""" - -from __future__ import print_function - - -import lldb -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class ExprCommandCallStopContinueTestCase(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - # Call super's setUp(). - TestBase.setUp(self) - # Find the line number to break for main.c. - self.line = line_number( - 'main.cpp', - '// Please test these expressions while stopped at this line:') - self.func_line = line_number('main.cpp', '{5, "five"}') - - def test(self): - """Test gathering result from interrupted function call.""" - self.build() - self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) - - # Some versions of GCC encode two locations for the 'return' statement - # in main.cpp - lldbutil.run_break_set_by_file_and_line( - self, "main.cpp", self.line, num_expected_locations=-1, loc_exact=True) - - self.runCmd("run", RUN_SUCCEEDED) - - lldbutil.run_break_set_by_file_and_line( - self, - "main.cpp", - self.func_line, - num_expected_locations=-1, - loc_exact=True) - - self.expect("expr -i false -- returnsFive()", error=True, - substrs=['Execution was interrupted, reason: breakpoint']) - - self.runCmd("continue", "Continue completed") - self.expect( - "thread list", - substrs=[ - 'stop reason = User Expression thread plan', - r'Completed expression: (Five) $0 = (number = 5, name = "five")']) diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallUserDefinedFunction.py b/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallUserDefinedFunction.py deleted file mode 100644 index 0eb7086b616..00000000000 --- a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallUserDefinedFunction.py +++ /dev/null @@ -1,58 +0,0 @@ -""" -Test calling user defined functions using expression evaluation. - -Note: - LLDBs current first choice of evaluating functions is using the IR interpreter, - which is only supported on Hexagon. Otherwise JIT is used for the evaluation. - -""" - -from __future__ import print_function - - -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class ExprCommandCallUserDefinedFunction(TestBase): - - mydir = TestBase.compute_mydir(__file__) - - def setUp(self): - # Call super's setUp(). - TestBase.setUp(self) - # Find the line number to break for main.c. - self.line = line_number( - 'main.cpp', - '// Please test these expressions while stopped at this line:') - - def test(self): - """Test return values of user defined function calls.""" - self.build() - - # Set breakpoint in main and run exe - self.runCmd("file " + self.getBuildArtifact("a.out"), CURRENT_EXECUTABLE_SET) - lldbutil.run_break_set_by_file_and_line( - self, "main.cpp", self.line, num_expected_locations=-1, loc_exact=True) - - self.runCmd("run", RUN_SUCCEEDED) - - # Test recursive function call. - self.expect("expr fib(5)", substrs=['$0 = 5']) - - # Test function with more than one paramter - self.expect("expr add(4,8)", substrs=['$1 = 12']) - - # Test nesting function calls in function paramters - self.expect("expr add(add(5,2),add(3,4))", substrs=['$2 = 14']) - self.expect("expr add(add(5,2),fib(5))", substrs=['$3 = 12']) - - # Test function with pointer paramter - self.expect( - "exp stringCompare((const char*) \"Hello world\")", - substrs=['$4 = true']) - self.expect( - "exp stringCompare((const char*) \"Hellworld\")", - substrs=['$5 = false']) diff --git a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp b/lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp deleted file mode 100644 index cc5f52dbf56..00000000000 --- a/lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include <iostream> -#include <string> -#include <cstring> - -struct Five -{ - int number; - const char *name; -}; - -Five -returnsFive() -{ - Five my_five = {5, "five"}; - return my_five; -} - -unsigned int -fib(unsigned int n) -{ - if (n < 2) - return n; - else - return fib(n - 1) + fib(n - 2); -} - -int -add(int a, int b) -{ - return a + b; -} - -bool -stringCompare(const char *str) -{ - if (strcmp( str, "Hello world" ) == 0) - return true; - else - return false; -} - -int main (int argc, char const *argv[]) -{ - std::string str = "Hello world"; - std::cout << str << std::endl; - std::cout << str.c_str() << std::endl; - Five main_five = returnsFive(); -#if 0 - print str - print str.c_str() -#endif - return 0; // Please test these expressions while stopped at this line: -} |