[Documentation] Expand on testing variants.

The testing documentation appears to be from an era when the only kind
of tests were the lldbsuite python tests. This patch adds a short
description of the unittests and LIT tests and how to run them.

Patch by: Lawrence D'Anna

Differential revision: https://reviews.llvm.org/D67943

llvm-svn: 372797
This commit is contained in:
Jonas Devlieghere 2019-09-25 00:58:39 +00:00
parent ccf6030f7a
commit 4cd71260c2
1 changed files with 54 additions and 7 deletions

View File

@ -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 @@ Note that multiple ``-A`` and ``-C`` flags can be specified to
``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 @@ Many more options that are available. To see a list of all of them, run:
> 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
-------------------------------