[Lldb-commits] [lldb] r110160 - /lldb/trunk/test/README-TestSuite
Johnny Chen
johnny.chen at apple.com
Tue Aug 3 15:12:11 PDT 2010
Author: johnny
Date: Tue Aug 3 17:12:11 2010
New Revision: 110160
URL: http://llvm.org/viewvc/llvm-project?rev=110160&view=rev
Log:
Added README file for the test suite.
Added:
lldb/trunk/test/README-TestSuite
Added: lldb/trunk/test/README-TestSuite
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/README-TestSuite?rev=110160&view=auto
==============================================================================
--- lldb/trunk/test/README-TestSuite (added)
+++ lldb/trunk/test/README-TestSuite Tue Aug 3 17:12:11 2010
@@ -0,0 +1,58 @@
+This README file describes the files and directories related to the Python test
+suite under the current 'test' directory.
+
+o dotest.py
+
+ Provides the test driver for the test suite. To invoke it, cd to the 'test'
+ directory and issue the './dotest.py' command or './dotest.py -v' for more
+ verbose output. '.dotest.py -h' prints out the help messge.
+
+ A specific naming pattern is followed by the .py script under the 'test'
+ directory in order to be recognized by 'dotest.py' test driver as a module
+ which implements a test case, namely, Test*.py.
+
+o lldbtest.py
+
+ Provides an abstract base class of lldb test case named 'TestVase', which in
+ turn inherits from Python's unittest.TestCase. The concrete subclass can
+ override lldbtest.TestBase in order to inherit the common behavior for
+ unittest.TestCase.setUp/tearDown implemented in this file.
+
+ To provide a test case, the concrete subclass provides methods whose names
+ start with the letters test. For more details about the Python's unittest
+ framework, go to http://docs.python.org/library/unittest.html.
+
+ ./command_source/TestCommandSource.py provides a simple example of test case
+ which overrides lldbtest.TestBase to exercise the lldb's 'command source'
+ command. The subclass should override the attribute 'mydir' in order for the
+ runtime to locate the individual test cases when running as part of a large
+ test suite or when running each test case as a separate Python invocation.
+
+ The doc string provides more details about the setup required for running a
+ test case on its own. To run the whole test suite, 'dotest.py' is all you
+ need to do.
+
+o subdirectories of 'test'
+
+ Most of them predate the introduction of the python test suite and contain
+ example C/C++/ObjC source files which get compiled into executables which are
+ to be exercised by the debugger.
+
+ For such subdirectory which has an associated Test*.py file, it was added as
+ part of the Python-based test suite to test lldb functionality.
+
+ Some of the subdirectories, for example, the 'help' subdirectory, do not have
+ C/C++/ObjC source files; they were created to house the Python test case which
+ does not involve lldb reading in an executable file at all.
+
+o dotest.pl
+
+ In case you wonder, there is also a 'dotest.pl' perl script file. It was
+ created to visit each Python test case under the specified directory and
+ invoke Python's builtin unittest.main() on each test case.
+
+ It does not take advantage of the test runner and test suite functionality
+ provided by Python's unitest framework. Its existence is because we want a
+ different way of running the whole test suite. As lldb and the Python test
+ suite become more reliable, we don't expect to be using 'dotest.pl' anymore.
+
More information about the lldb-commits
mailing list