diff options
Diffstat (limited to 'packages/Python/lldbsuite/test')
4 files changed, 72 insertions, 16 deletions
| diff --git a/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py b/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py index b1b5cbe677c4..aa369ebeff87 100644 --- a/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py +++ b/packages/Python/lldbsuite/test/expression_command/multiline/TestMultilineExpressions.py @@ -12,6 +12,7 @@ from lldbsuite.test import lldbutil  class MultilineExpressionsTestCase(TestBase):      mydir = TestBase.compute_mydir(__file__) +    NO_DEBUG_INFO_TESTCASE = True      def setUp(self):          # Call super's setUp(). @@ -60,3 +61,30 @@ class MultilineExpressionsTestCase(TestBase):          child.expect_exact(prompt)          self.expect(child.before, exe=False,                      patterns=['= 5']) + +    @skipIfRemote +    @expectedFailureAll( +        oslist=["windows"], +        bugnumber="llvm.org/pr22274: need a pexpect replacement for windows") +    def test_empty_list(self): +        """Test printing an empty list of expressions""" +        import pexpect +        prompt = "(lldb) " + +        # So that the child gets torn down after the test +        self.child = pexpect.spawn( +                "%s %s" % +                (lldbtest_config.lldbExec, self.lldbOption)) +        child = self.child + +        # Turn on logging for what the child sends back. +        if self.TraceOn(): +            child.logfile_read = sys.stdout + +        # We expect a prompt, then send "print" to start a list of expressions, +        # then an empty line. We expect a prompt back. +        child.expect_exact(prompt) +        child.sendline("print") +        child.expect_exact('1:') +        child.sendline("") +        child.expect_exact(prompt) diff --git a/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py b/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py index 00ddc628607c..4dfeae3f5e19 100644 --- a/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py +++ b/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py @@ -62,12 +62,11 @@ class StepOverBreakpointsTestCase(TestBase):          instructions = function.GetInstructions(self.target)          addr_1 = self.breakpoint1.GetLocationAtIndex(0).GetAddress()          addr_4 = self.breakpoint4.GetLocationAtIndex(0).GetAddress() -        for i in range(instructions.GetSize()) : -            addr = instructions.GetInstructionAtIndex(i).GetAddress() -            if (addr == addr_1) : index_1 = i -            if (addr == addr_4) : index_4 = i  -        steps_expected = index_4 - index_1 +        # if third argument is true then the count will be the number of +        # instructions on which a breakpoint can be set. +        # start = addr_1, end = addr_4, canSetBreakpoint = True +        steps_expected = instructions.GetInstructionsCount(addr_1, addr_4, True)          step_count = 0          # Step from breakpoint_1 to breakpoint_4          while True: diff --git a/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py b/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py index 778c098a38ee..90562f52a4b2 100644 --- a/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py +++ b/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py @@ -171,17 +171,45 @@ class ReturnValueTestCase(TestBase):          #self.return_and_test_struct_value ("return_one_int_one_double_packed")          self.return_and_test_struct_value("return_one_int_one_long") -        # icc and gcc don't support this extension. -        if self.getCompiler().endswith('clang'): -            self.return_and_test_struct_value("return_vector_size_float32_8") -            self.return_and_test_struct_value("return_vector_size_float32_16") -            self.return_and_test_struct_value("return_vector_size_float32_32") -            self.return_and_test_struct_value( -                "return_ext_vector_size_float32_2") -            self.return_and_test_struct_value( -                "return_ext_vector_size_float32_4") -            self.return_and_test_struct_value( -                "return_ext_vector_size_float32_8") +    @expectedFailureAll(oslist=["freebsd"], archs=["i386"]) +    @expectedFailureAll(oslist=["macosx"], archs=["i386"], bugnumber="<rdar://problem/28719652>") +    @expectedFailureAll( +        oslist=["linux"], +        compiler="clang", +        compiler_version=[ +            "<=", +            "3.6"], +        archs=["i386"]) +    @expectedFailureAll( +        bugnumber="llvm.org/pr25785", +        hostoslist=["windows"], +        compiler="gcc", +        archs=["i386"], +        triple='.*-android') +    @expectedFailureAll(compiler=["gcc"], archs=["x86_64", "i386"]) +    @expectedFailureAll(oslist=["windows"], bugnumber="llvm.org/pr24778") +    def test_vector_values(self): +        self.build() +        exe = os.path.join(os.getcwd(), "a.out") +        error = lldb.SBError() + +        self.target = self.dbg.CreateTarget(exe) +        self.assertTrue(self.target, VALID_TARGET) + +        main_bktp = self.target.BreakpointCreateByName("main", exe) +        self.assertTrue(main_bktp, VALID_BREAKPOINT) + +        self.process = self.target.LaunchSimple( +            None, None, self.get_process_working_directory()) +        self.assertEqual(len(lldbutil.get_threads_stopped_at_breakpoint( +            self.process, main_bktp)), 1) + +        self.return_and_test_struct_value("return_vector_size_float32_8") +        self.return_and_test_struct_value("return_vector_size_float32_16") +        self.return_and_test_struct_value("return_vector_size_float32_32") +        self.return_and_test_struct_value("return_ext_vector_size_float32_2") +        self.return_and_test_struct_value("return_ext_vector_size_float32_4") +        self.return_and_test_struct_value("return_ext_vector_size_float32_8")      def return_and_test_struct_value(self, func_name):          """Pass in the name of the function to return from - takes in value, returns value.""" diff --git a/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteHostInfo.py b/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteHostInfo.py index 5089ee85773f..d84511d54273 100644 --- a/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteHostInfo.py +++ b/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteHostInfo.py @@ -14,6 +14,7 @@ class TestGdbRemoteHostInfo(GdbRemoteTestCaseBase):      mydir = TestBase.compute_mydir(__file__)      KNOWN_HOST_INFO_KEYS = set([ +        "arch",          "cputype",          "cpusubtype",          "distribution_id", | 
