mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-03 04:40:18 -05:00
8535a7963c
Add infrastructure for building fuzz testing targets with libFuzzer or other fuzzing engines (e.g., OSS-Fuzz's LIB_FUZZING_ENGINE). Features: - CMake_BUILD_FUZZING option in root CMakeLists.txt - Fuzzing/CMakeLists.txt with add_fuzzer() macro - Support for libFuzzer and external fuzzing engines - Documentation in Tests/Fuzzing/README.rst The infrastructure is opt-in and requires a compatible fuzzing engine. If CMake_BUILD_FUZZING is enabled but no engine is found, configuration fails with a clear error message. See Tests/Fuzzing/README.rst for build instructions.
43 lines
1.3 KiB
ReStructuredText
43 lines
1.3 KiB
ReStructuredText
CMake Tests Directory
|
|
*********************
|
|
|
|
This directory contains the CMake test suite.
|
|
See also the `CMake Testing Guide`_ and the `CMake Source Code Guide`_.
|
|
|
|
.. _`CMake Testing Guide`: ../Help/dev/testing.rst
|
|
.. _`CMake Source Code Guide`: ../Help/dev/source.rst
|
|
|
|
Many tests exist as immediate subdirectories, but some tests
|
|
are organized as follows.
|
|
|
|
* ``CMakeLib/``:
|
|
Source code, used for tests, that links to the ``CMakeLib`` library
|
|
defined over in ``Source/``.
|
|
|
|
* ``CMakeOnly/``:
|
|
Deprecated. Tests that run CMake to generate a project but not build it.
|
|
Superseded by ``Tests/RunCMake/``.
|
|
|
|
* ``Find*/``:
|
|
Tests for specific find modules that can only be run on machines with
|
|
the corresponding packages installed. They are enabled in
|
|
``CMakeLists.txt`` by undocumented options used on CI builds.
|
|
|
|
* ``Module/``:
|
|
Tests for specific CMake modules.
|
|
|
|
* ``RunCMake/``:
|
|
Tests that run CMake and/or other tools while precisely checking
|
|
their return code and stdout/stderr content. Useful for testing
|
|
error cases and diagnostic output.
|
|
|
|
See `RunCMake/README.rst`_.
|
|
|
|
* ``Fuzzing/``:
|
|
Fuzz testing targets using libFuzzer, integrated with OSS-Fuzz.
|
|
|
|
See `Fuzzing/README.rst`_.
|
|
|
|
.. _`RunCMake/README.rst`: RunCMake/README.rst
|
|
.. _`Fuzzing/README.rst`: Fuzzing/README.rst
|