[llvm] [llvm][Docs] Update MyFirstTypoFix doc (PR #79149)
Alex Bradbury via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 23 10:12:45 PST 2024
================
@@ -254,148 +247,133 @@ so it runs them all.
.. code:: console
- ********************
- Testing Time: 408.84s
********************
Failing Tests (1):
Clang :: SemaCXX/warn-infinite-recursion.cpp
Well, that makes senseā¦ and the test output suggests it's looking for
the old string "call itself" and finding our new message instead.
-Note that more tests may fail in a similar way as new tests are
-added time to time.
+Note that more tests may fail in a similar way as new tests are added
+over time.
Let's fix it by updating the expectation in the test.
.. code:: console
$ vi ../clang/test/SemaCXX/warn-infinite-recursion.cpp
-Everywhere we see `// expected-warning{{call itself}}` (or something similar
+Everywhere we see ``// expected-warning{{call itself}}`` (or something similar
from the original warning text), let's replace it with
-`// expected-warning{{to understand recursion}}`.
+``// expected-warning{{to understand recursion}}``.
Now we could run **all** the tests again, but this is a slow way to
iterate on a change! Instead, let's find a way to re-run just the
specific test. There are two main types of tests in LLVM:
-- **lit tests** (e.g. SemaCXX/warn-infinite-recursion.cpp).
+- **lit tests** (e.g. ``SemaCXX/warn-infinite-recursion.cpp``).
These are fancy shell scripts that run command-line tools and verify the
output. They live in files like
-clang/**test**/FixIt/dereference-addressof.c. Re-run like this:
+``clang/**test**/FixIt/dereference-addressof.c``. Re-run like this:
.. code:: console
$ bin/llvm-lit -v ../clang/test/SemaCXX/warn-infinite-recursion.cpp
-- **unit tests** (e.g. ToolingTests/ReplacementTest.CanDeleteAllText)
+- **unit tests** (e.g. ``ToolingTests/ReplacementTest.CanDeleteAllText``)
These are C++ programs that call LLVM functions and verify the results.
They live in suites like ToolingTests. Re-run like this:
.. code:: console
- $ ninja ToolingTests && tools/clang/unittests/Tooling/ToolingTests
- --gtest_filter=ReplacementTest.CanDeleteAllText
+ $ ninja ToolingTests && tools/clang/unittests/Tooling/ToolingTests --gtest_filter=ReplacementTest.CanDeleteAllText
Commit locally
--------------
We'll save the change to a local git branch. This lets us work on other
things while the change is being reviewed. Changes should have a
-description, to explain to reviewers and future readers of the code why
+title and description, to explain to reviewers and future readers of the code why
the change was made.
+For now, we'll only add a title.
+
.. code:: console
$ git checkout -b myfirstpatch
- $ git commit -am "[Diagnostic] Clarify -Winfinite-recursion message"
+ $ git commit -am "[clang][Diagnostic] Clarify -Winfinite-recursion message"
-Now we're ready to send this change out into the world! By the way,
-There is an unwritten convention of using tag for your commit. Tags
-usually represent modules that you intend to modify. If you don't know
-the tags for your modules, you can look at the commit history :
-https://github.com/llvm/llvm-project/commits/main.
+Now we're ready to send this change out into the world!
+The ``[clang]`` and ``[Diagnostic]`` are what we call tags. This loose convention
----------------
asb wrote:
Feels like this is missing a word, perhaps "and [Diagnostic] prefixes are what we call tags"?
https://github.com/llvm/llvm-project/pull/79149
More information about the llvm-commits
mailing list