summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function')
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/call-function/Makefile8
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallBuiltinFunction.py53
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStdStringFunction.py57
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStopAndContinue.py53
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallUserDefinedFunction.py58
-rw-r--r--lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp53
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:
-}
OpenPOWER on IntegriCloud