summaryrefslogtreecommitdiffstats
path: root/lldb/examples
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2012-04-16 18:55:15 +0000
committerJohnny Chen <johnny.chen@apple.com>2012-04-16 18:55:15 +0000
commit44d2497138095224591706b245eb10848e111c0e (patch)
tree4776dcdfc212ad85f846086dd232beb98c4413d0 /lldb/examples
parent78158af59ca5713a1b99e4a91ad787a2c1a604bc (diff)
downloadbcm5719-llvm-44d2497138095224591706b245eb10848e111c0e.tar.gz
bcm5719-llvm-44d2497138095224591706b245eb10848e111c0e.zip
Add the capability of supplying the pre/post-flight functions to the test suite such that
the pre-flight code gets executed during setUp() after the debugger instance is available and the post-flight code gets executed during tearDown() after the debugger instance has done killing the inferior and deleting all the target programs. Example: [11:32:48] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight functionalities/watchpoint/hello_watchpoint config: {'pre_flight': <function pre_flight at 0x1098541b8>, 'post_flight': <function post_flight at 0x109854230>} LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug LLDB-139 Path: /Volumes/data/lldb/svn/ToT URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk Repository Root: https://johnny@llvm.org/svn/llvm-project Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8 Revision: 154753 Node Kind: directory Schedule: normal Last Changed Author: gclayton Last Changed Rev: 154730 Last Changed Date: 2012-04-13 18:42:46 -0700 (Fri, 13 Apr 2012) lldb.pre_flight: def pre_flight(test): __import__("lldb") __import__("lldbtest") print "\nRunning pre-flight function:" print "for test case:", test lldb.post_flight: def post_flight(test): __import__("lldb") __import__("lldbtest") print "\nRunning post-flight function:" print "for test case:", test Session logs for test failures/errors/unexpected successes will go into directory '2012-04-16-11_34_08' Command invoked: python ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight functionalities/watchpoint/hello_watchpoint compilers=['clang'] Configuration: arch=x86_64 compiler=clang ---------------------------------------------------------------------- Collected 2 tests 1: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... Running pre-flight function: for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Running post-flight function: for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) ok 2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... Running pre-flight function: for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Running post-flight function: for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) ok ---------------------------------------------------------------------- Ran 2 tests in 1.584s OK llvm-svn: 154847
Diffstat (limited to 'lldb/examples')
-rw-r--r--lldb/examples/test/.lldb-pre-post-flight12
-rw-r--r--lldb/examples/test/.lldb-pre-post-flight.bad8
-rw-r--r--lldb/examples/test/usage-pre-post-flight65
3 files changed, 85 insertions, 0 deletions
diff --git a/lldb/examples/test/.lldb-pre-post-flight b/lldb/examples/test/.lldb-pre-post-flight
new file mode 100644
index 00000000000..c1568a7295a
--- /dev/null
+++ b/lldb/examples/test/.lldb-pre-post-flight
@@ -0,0 +1,12 @@
+def pre_flight(test):
+ __import__("lldb")
+ __import__("lldbtest")
+ print "\nRunning pre-flight function:"
+ print "for test case:", test
+
+def post_flight(test):
+ __import__("lldb")
+ __import__("lldbtest")
+ print "\nRunning post-flight function:"
+ print "for test case:", test
+
diff --git a/lldb/examples/test/.lldb-pre-post-flight.bad b/lldb/examples/test/.lldb-pre-post-flight.bad
new file mode 100644
index 00000000000..0e17f3cdc95
--- /dev/null
+++ b/lldb/examples/test/.lldb-pre-post-flight.bad
@@ -0,0 +1,8 @@
+pre_flight = "I am not callable"
+
+def post_flight(test):
+ __import__("lldb")
+ __import__("lldbtest")
+ print "\nRunning post-flight function:"
+ print "for test case:", test
+
diff --git a/lldb/examples/test/usage-pre-post-flight b/lldb/examples/test/usage-pre-post-flight
new file mode 100644
index 00000000000..da686072425
--- /dev/null
+++ b/lldb/examples/test/usage-pre-post-flight
@@ -0,0 +1,65 @@
+#
+# The following examples first show a bad pre/post flight config file followed by a good pre/post config file.
+#
+
+[11:31:19] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight.bad functionalities/watchpoint/hello_watchpoint
+config: {'pre_flight': 'I am not callable', 'post_flight': <function post_flight at 0x1071871b8>}
+fatal error: pre_flight is not callable, exiting.
+[11:32:48] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight functionalities/watchpoint/hello_watchpoint
+config: {'pre_flight': <function pre_flight at 0x1098541b8>, 'post_flight': <function post_flight at 0x109854230>}
+LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug
+LLDB-139
+Path: /Volumes/data/lldb/svn/ToT
+URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk
+Repository Root: https://johnny@llvm.org/svn/llvm-project
+Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
+Revision: 154753
+Node Kind: directory
+Schedule: normal
+Last Changed Author: gclayton
+Last Changed Rev: 154730
+Last Changed Date: 2012-04-13 18:42:46 -0700 (Fri, 13 Apr 2012)
+
+
+lldb.pre_flight: def pre_flight(test):
+ __import__("lldb")
+ __import__("lldbtest")
+ print "\nRunning pre-flight function:"
+ print "for test case:", test
+
+lldb.post_flight: def post_flight(test):
+ __import__("lldb")
+ __import__("lldbtest")
+ print "\nRunning post-flight function:"
+ print "for test case:", test
+
+
+Session logs for test failures/errors/unexpected successes will go into directory '2012-04-16-11_34_08'
+Command invoked: python ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight functionalities/watchpoint/hello_watchpoint
+compilers=['clang']
+
+Configuration: arch=x86_64 compiler=clang
+----------------------------------------------------------------------
+Collected 2 tests
+
+1: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
+ Test a simple sequence of watchpoint creation and watchpoint hit. ...
+Running pre-flight function:
+for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
+
+Running post-flight function:
+for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
+ok
+2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
+ Test a simple sequence of watchpoint creation and watchpoint hit. ...
+Running pre-flight function:
+for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
+
+Running post-flight function:
+for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
+ok
+
+----------------------------------------------------------------------
+Ran 2 tests in 1.584s
+
+OK \ No newline at end of file
OpenPOWER on IntegriCloud