Index: docs/TestingGuide.rst =================================================================== --- docs/TestingGuide.rst +++ docs/TestingGuide.rst @@ -29,10 +29,11 @@ LLVM Testing Infrastructure Organization ======================================== -The LLVM testing infrastructure contains two major categories of tests: -regression tests and whole programs. The regression tests are contained -inside the LLVM repository itself under ``llvm/test`` and are expected -to always pass -- they should be run before every commit. +The LLVM testing infrastructure contains three major categories of tests: +unit tests, regression tests and whole programs. The unit tests and regression +tests are contained inside the LLVM repository itself under ``llvm/unittests`` +and ``llvm/test`` respectively and are expected to always pass -- they should be +run before every commit. The whole programs tests are referred to as the "LLVM test suite" (or "test-suite") and are in the ``test-suite`` module in subversion. For @@ -40,6 +41,13 @@ tests" in places, which is less ambiguous than "test-suite" and remains in use although we run them much more often than nightly. +Unit tests +---------- + +Unit tests are written using `Google Test `_ +and `Google Mock `_ +and are located in the ``llvm/unittests`` directory. + Regression tests ---------------- @@ -90,16 +98,23 @@ Quick start =========== -The tests are located in two separate Subversion modules. The -regressions tests are in the main "llvm" module under the directory -``llvm/test`` (so you get these tests for free with the main LLVM tree). -Use ``make check-all`` to run the regression tests after building LLVM. +The tests are located in two separate Subversion modules. The unit & +regression tests are in the main "llvm" module under the directories +``llvm/unittests`` and ``llvm/test`` (so you get these tests for free with the +main LLVM tree). Use ``make check-all`` to run the unit & regression tests after +building LLVM. The ``test-suite`` module contains more comprehensive tests including whole C and C++ programs. See the :doc:`TestSuiteGuide` for details. -Regression tests ----------------- +Unit & regression tests +----------------------- + +To run all of the LLVM unit tests use the check-llvm-unit target: + +.. code-block:: bash + + % make check-llvm-unit To run all of the LLVM regression tests use the check-llvm target: