[Lldb-commits] [PATCH] D67943: documentation: update test.rst

Lawrence D'Anna via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Sep 23 17:53:11 PDT 2019


lawrence_danna created this revision.
lawrence_danna added reviewers: JDevlieghere, jasonmolenda, labath.
Herald added a project: LLDB.

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.


Repository:
  rG LLVM Github Monorepo

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,37 @@
 
    > 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
+
+
 Running the Test Suite Remotely
 -------------------------------
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67943.221450.patch
Type: text/x-patch
Size: 2561 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190924/f4c6cc7a/attachment.bin>


More information about the lldb-commits mailing list