brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 862b8b4 Raw
36 lines · python
1import lldb2import unittest3from lldbsuite.test.lldbtest import *4from lldbsuite.test.decorators import *5from lldbsuite.test import lldbutil6 7 8class TestReverseExecutionNotSupported(TestBase):9    NO_DEBUG_INFO_TESTCASE = True10 11    def test_reverse_execution_not_supported(self):12        self.build()13        exe = self.getBuildArtifact("a.out")14        target = self.dbg.CreateTarget(exe)15        self.assertTrue(target, VALID_TARGET)16 17        main_bkpt = target.BreakpointCreateByName("main", None)18        self.assertTrue(main_bkpt, VALID_BREAKPOINT)19 20        process = target.LaunchSimple(None, None, self.get_process_working_directory())21        self.assertTrue(process, PROCESS_IS_VALID)22 23        # This will fail gracefully.24        status = process.ContinueInDirection(lldb.eRunReverse)25        self.assertFailure(status)26        # Where gdb-remote is used this starts with "error: gdb-remote" but on Windows it says "error: windows".27        self.assertTrue(28            status.GetCString().endswith(29                " does not support reverse execution of processes"30            )31        )32 33        self.assertSuccess(process.ContinueInDirection(lldb.eRunForward))34        self.assertState(process.GetState(), lldb.eStateExited)35        self.assertEqual(process.GetExitStatus(), 0)36