[libcxx-commits] [libcxx] [libcxx][docs] Make test name pattern documentation more obvious (PR #73136)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Dec 12 07:02:29 PST 2023
================
@@ -330,13 +330,53 @@ additional headers.
taken to make it work in earlier language versions.
-Additional reading
-------------------
-
-The function ``CxxStandardLibraryTest`` in the file
-``libcxx/utils/libcxx/test/format.py`` has documentation about writing test. It
-explains the difference between the test named ``foo.pass.cpp`` and named
-``foo.verify.cpp`` are.
+Test names
+----------
+
+The names of test files have meaning for the libcxx-specific configuration of
+Lit. Based on the pattern that matches the name of a test file, Lit will test
+the code contained therein in different ways. Refer to the `Lit Meaning of libcxx
+Test Filenames`_ when
+determining the names for new test files.
+
+.. _Lit Meaning of libcxx Test Filenames:
+.. list-table:: Lit Meaning of libcxx Test Filenames
+ :widths: 25 75
+ :header-rows: 1
+
+ * - Name Pattern
+ - Meaning
+ * - ``FOO.pass.cpp``
+ - Checks whether the C++ code in the file compiles, links and runs successfully.
+ * - ``FOO.pass.mm``
+ - Same as ``FOO.pass.cpp``, but for Objective-C++.
+
+ * - ``FOO.compile.pass.cpp``
+ - Checks whether the C++ code in the file compiles successfully.
+ * - ``FOO.compile.pass.mm``
+ - Same as ``FOO.compile.pass.cpp``, but for Objective-C++.
+ * - ``FOO.compile.fail.cpp``
+ - Checks that the code in the file does *not* compile successfully.
+
+ * - ``FOO.verify.cpp``
+ - Compiles with clang-verify. This type of test is automatically marked as UNSUPPORTED if the compiler does not support clang-verify.
+
+ * - ``FOO.link.pass.cpp``
+ - Checks that the C++ code in the file compiles and links successfully -- no run attempted.
+ * - ``FOO.link.pass.mm``
+ - Same as ``FOO.link.pass.cpp``, but for Objective-C++.
+ * - ``FOO.link.fail.cpp``
+ - Checks whether the C++ code in the file fails to link after successful compilation.
+ * - ``FOO.link.fail.mm``
+ - Same as ``FOO.link.fail.cpp``, but for Objective-C++.
+
+ * - ``FOO.sh.<anything>``
+ - A *builtin Lit Shell* test.
+ * - ``FOO.gen.<anything>``
+ - A *builtin Lit Shell* test that generates one or more Lit tests on the fly. Executing this test must generate one or more files as expected
----------------
ldionne wrote:
```suggestion
- A variant of a *Lit Shell* test that generates one or more Lit tests on the fly. Executing this test must generate one or more files as expected
```
https://github.com/llvm/llvm-project/pull/73136
More information about the libcxx-commits
mailing list