[Lldb-commits] [lldb] r135547 - /lldb/trunk/scripts/Python/interface/SBError.i

Johnny Chen johnny.chen at apple.com
Tue Jul 19 17:23:11 PDT 2011


Author: johnny
Date: Tue Jul 19 19:23:11 2011
New Revision: 135547

URL: http://llvm.org/viewvc/llvm-project?rev=135547&view=rev
Log:
Add some docstrings for SBError class.

Modified:
    lldb/trunk/scripts/Python/interface/SBError.i

Modified: lldb/trunk/scripts/Python/interface/SBError.i
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/interface/SBError.i?rev=135547&r1=135546&r2=135547&view=diff
==============================================================================
--- lldb/trunk/scripts/Python/interface/SBError.i (original)
+++ lldb/trunk/scripts/Python/interface/SBError.i Tue Jul 19 19:23:11 2011
@@ -9,6 +9,53 @@
 
 namespace lldb {
 
+%feature("docstring",
+"Represents a container for holding any error code.
+
+For example (from test/python_api/hello_world/TestHelloWorld.py),
+
+    def hello_world_attach_with_id_api(self):
+        '''Create target, spawn a process, and attach to it by id.'''
+
+        target = self.dbg.CreateTarget(self.exe)
+
+        # Spawn a new process and don't display the stdout if not in TraceOn() mode.
+        import subprocess
+        popen = subprocess.Popen([self.exe, 'abc', 'xyz'],
+                                 stdout = open(os.devnull, 'w') if not self.TraceOn() else None)
+
+        listener = lldb.SBListener('my.attach.listener')
+        error = lldb.SBError()
+        process = target.AttachToProcessWithID(listener, popen.pid, error)
+
+        self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
+
+        # Let's check the stack traces of the attached process.
+        import lldbutil
+        stacktraces = lldbutil.print_stacktraces(process, string_buffer=True)
+        self.expect(stacktraces, exe=False,
+            substrs = ['main.c:%d' % self.line2,
+                       '(int)argc=3'])
+
+        listener = lldb.SBListener('my.attach.listener')
+        error = lldb.SBError()
+        process = target.AttachToProcessWithID(listener, popen.pid, error)
+
+        self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
+
+checks that after the attach, there is no error condition by asserting
+that error.Success() is True and we get back a valid process object.
+
+And (from test/python_api/event/TestEvent.py),
+
+        # Now launch the process, and do not stop at entry point.
+        error = lldb.SBError()
+        process = target.Launch(listener, None, None, None, None, None, None, 0, False, error)
+        self.assertTrue(error.Success() and process, PROCESS_IS_VALID)
+
+checks that after calling the target.Launch() method there's no error
+condition and we get back a void process object.
+") SBError;
 class SBError {
 public:
     SBError ();





More information about the lldb-commits mailing list