[Lldb-commits] [lldb] r228659 - Add a test case for the launch via argdumper globbing mechanism

Enrico Granata egranata at apple.com
Mon Feb 9 19:13:22 PST 2015


Author: enrico
Date: Mon Feb  9 21:13:22 2015
New Revision: 228659

URL: http://llvm.org/viewvc/llvm-project?rev=228659&view=rev
Log:
Add a test case for the launch via argdumper globbing mechanism

Added:
    lldb/trunk/test/functionalities/launch_with_glob/
    lldb/trunk/test/functionalities/launch_with_glob/Makefile
    lldb/trunk/test/functionalities/launch_with_glob/TestLaunchWithGlob.py
    lldb/trunk/test/functionalities/launch_with_glob/file1.txt
    lldb/trunk/test/functionalities/launch_with_glob/file2.txt
    lldb/trunk/test/functionalities/launch_with_glob/file3.txt
    lldb/trunk/test/functionalities/launch_with_glob/file4.txy
    lldb/trunk/test/functionalities/launch_with_glob/file5.tyx
    lldb/trunk/test/functionalities/launch_with_glob/main.cpp

Added: lldb/trunk/test/functionalities/launch_with_glob/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/Makefile?rev=228659&view=auto
==============================================================================
--- lldb/trunk/test/functionalities/launch_with_glob/Makefile (added)
+++ lldb/trunk/test/functionalities/launch_with_glob/Makefile Mon Feb  9 21:13:22 2015
@@ -0,0 +1,5 @@
+LEVEL = ../../make
+
+CXX_SOURCES := main.cpp
+
+include $(LEVEL)/Makefile.rules

Added: lldb/trunk/test/functionalities/launch_with_glob/TestLaunchWithGlob.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/TestLaunchWithGlob.py?rev=228659&view=auto
==============================================================================
--- lldb/trunk/test/functionalities/launch_with_glob/TestLaunchWithGlob.py (added)
+++ lldb/trunk/test/functionalities/launch_with_glob/TestLaunchWithGlob.py Mon Feb  9 21:13:22 2015
@@ -0,0 +1,70 @@
+"""
+Test that argdumper is a viable launching strategy.
+"""
+import commands
+import lldb
+import os
+import time
+import unittest2
+from lldbtest import *
+import lldbutil
+
+class LaunchWithGlobTestCase(TestBase):
+
+    mydir = TestBase.compute_mydir(__file__)
+
+        
+    @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
+    @dsym_test
+    def test_with_dsym (self):
+        self.buildDsym()
+        self.do_test ()
+
+
+    @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
+    @dwarf_test
+    def test_with_dwarf (self):
+        self.buildDwarf()
+        self.do_test ()
+
+    def do_test (self):
+        exe = os.path.join (os.getcwd(), "a.out")
+        
+        self.runCmd("target create %s" % exe)
+        
+        # Create the target
+        target = self.dbg.CreateTarget(exe)
+        
+        # Create any breakpoints we need
+        breakpoint = target.BreakpointCreateBySourceRegex ('break here', lldb.SBFileSpec ("main.cpp", False))
+        self.assertTrue(breakpoint, VALID_BREAKPOINT)
+
+        self.runCmd("process launch -G true -w %s -- fi*.tx?" % (os.getcwd()))
+
+        process = self.process()
+
+        self.assertTrue(process.GetState() == lldb.eStateStopped,
+                        STOPPED_DUE_TO_BREAKPOINT)
+
+        thread = process.GetThreadAtIndex (0)
+
+        self.assertTrue (thread.IsValid(),
+                         "Process stopped at 'main' should have a valid thread");
+
+        stop_reason = thread.GetStopReason()
+        
+        self.assertTrue (stop_reason == lldb.eStopReasonBreakpoint,
+                         "Thread in process stopped in 'main' should have a stop reason of eStopReasonBreakpoint");
+
+        self.expect("frame variable argv[1]", substrs=['file1.txt'])
+        self.expect("frame variable argv[2]", substrs=['file2.txt'])
+        self.expect("frame variable argv[3]", substrs=['file3.txt'])
+        self.expect("frame variable argv[4]", substrs=['file4.txy'])
+        self.expect("frame variable argv[5]", substrs=['file5.tyx'], matching=False)
+
+if __name__ == '__main__':
+    import atexit
+    lldb.SBDebugger.Initialize()
+    atexit.register(lambda: lldb.SBDebugger.Terminate())
+    unittest2.main()
+

Added: lldb/trunk/test/functionalities/launch_with_glob/file1.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/file1.txt?rev=228659&view=auto
==============================================================================
    (empty)

Added: lldb/trunk/test/functionalities/launch_with_glob/file2.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/file2.txt?rev=228659&view=auto
==============================================================================
    (empty)

Added: lldb/trunk/test/functionalities/launch_with_glob/file3.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/file3.txt?rev=228659&view=auto
==============================================================================
    (empty)

Added: lldb/trunk/test/functionalities/launch_with_glob/file4.txy
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/file4.txy?rev=228659&view=auto
==============================================================================
    (empty)

Added: lldb/trunk/test/functionalities/launch_with_glob/file5.tyx
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/file5.tyx?rev=228659&view=auto
==============================================================================
    (empty)

Added: lldb/trunk/test/functionalities/launch_with_glob/main.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/launch_with_glob/main.cpp?rev=228659&view=auto
==============================================================================
--- lldb/trunk/test/functionalities/launch_with_glob/main.cpp (added)
+++ lldb/trunk/test/functionalities/launch_with_glob/main.cpp Mon Feb  9 21:13:22 2015
@@ -0,0 +1,5 @@
+int 
+main (int argc, char const **argv)
+{
+    return 0; // break here
+}





More information about the lldb-commits mailing list