[Lldb-commits] [PATCH] D67943: documentation: update test.rst
Lawrence D'Anna via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 24 16:55:25 PDT 2019
lawrence_danna updated this revision to Diff 221625.
lawrence_danna added a comment.
added note about passing --filter to lit
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67943/new/
https://reviews.llvm.org/D67943
Files:
lldb/docs/resources/test.rst
Index: lldb/docs/resources/test.rst
===================================================================
--- lldb/docs/resources/test.rst
+++ lldb/docs/resources/test.rst
@@ -1,11 +1,20 @@
Testing
=======
-The LLDB test suite consists of Python scripts located under the test
-directory. Each script contains a number of test cases and is usually
-accompanied by a C (C++, ObjC, etc.) source file. Each test first compiles the
-source file and then uses LLDB to debug the resulting executable. The tests
-verify both the LLDB command line interface and the scripting API.
+The LLDB test suite consists of three different kinds of test:
+
+* Python scripts located under ``lldb/packages/Python/lldbsuite``.
+ These are written using python's unittest2 testing framework.
+
+* Unit tests, located under ``lldb/unittests``. These are written in C++,
+ using googletest.
+
+* LIT tests, located under ``lldb/lit``. These use the LLVM Integrated Tester.
+
+Many of the tests are accompanied by a C (C++, ObjC, etc.) source file. Each test
+first compiles the source file and then uses LLDB to debug the resulting executable.
+
+The tests verify both the LLDB command line interface and the scripting API.
.. contents::
:local:
@@ -46,8 +55,8 @@
``LLDB_TEST_USER_ARGS``.
-Running a Specific Test or Set of Tests
----------------------------------------
+Running a Specific Test or Set of Tests: Python
+-----------------------------------------------
In addition to running all the LLDB test suites with the ``check-lldb`` CMake
target above, it is possible to run individual LLDB tests. If you have a CMake
@@ -86,6 +95,44 @@
> python dotest.py -h
+
+Running a Specific Test or Set of Tests: Unit Tests
+---------------------------------------------------
+
+The unit tests are simple executables, located in the build directory under ``tools/lldb/unittests``.
+
+To run them, just run the test binary, for example, to run all the Host tests:
+
+::
+
+ > ./tools/lldb/unittests/Host/HostTests
+
+
+To run a specific test, pass a filter, for example:
+
+::
+
+ > ./tools/lldb/unittests/Host/HostTests --gtest_filter=SocketTest.DomainListenConnectAccept
+
+
+Running a Specific Test or Set of Tests: LIT
+--------------------------------------------
+
+LIT automatically scans a directory for tests. To run a subset of the LIT tests, pass it a
+subdirectory, for example:
+
+::
+
+ > ./bin/llvm-lit -sv tools/lldb/lit/Commands/CommandScriptImmediateOutput
+
+
+LIT can also filter based on test name.
+
+::
+
+ > ./bin/llvm-lit -sv tools/lldb/lit --filter CommandScriptImmediateOutput
+
+
Running the Test Suite Remotely
-------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67943.221625.patch
Type: text/x-patch
Size: 2692 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190924/09ebf31a/attachment-0001.bin>
More information about the lldb-commits
mailing list