[PATCH] D154383: [UTC] Add do-not-autogenerate capability
Paul Robinson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 6 08:54:18 PDT 2023
probinson updated this revision to Diff 537752.
probinson added a comment.
Update docs; remove trailing space from the key string.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D154383/new/
https://reviews.llvm.org/D154383
Files:
llvm/docs/TestingGuide.rst
llvm/utils/UpdateTestChecks/common.py
Index: llvm/utils/UpdateTestChecks/common.py
===================================================================
--- llvm/utils/UpdateTestChecks/common.py
+++ llvm/utils/UpdateTestChecks/common.py
@@ -323,6 +323,9 @@
with open(test) as f:
input_lines = [l.rstrip() for l in f]
first_line = input_lines[0] if input_lines else ""
+ if UTC_AVOID in first_line:
+ warn("Skipping test that must not be autogenerated: " + test)
+ continue
is_regenerate = UTC_ADVERT in first_line
# If we're generating a new test, set the default version to the latest.
@@ -464,6 +467,7 @@
UTC_ARGS_KEY = "UTC_ARGS:"
UTC_ARGS_CMD = re.compile(r".*" + UTC_ARGS_KEY + "\s*(?P<cmd>.*)\s*$")
UTC_ADVERT = "NOTE: Assertions have been autogenerated by "
+UTC_AVOID = "NOTE: Do not autogenerate"
UNUSED_NOTE = "NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:"
OPT_FUNCTION_RE = re.compile(
Index: llvm/docs/TestingGuide.rst
===================================================================
--- llvm/docs/TestingGuide.rst
+++ llvm/docs/TestingGuide.rst
@@ -283,14 +283,23 @@
llvm/utils/ to generate the assertions.
For example to generate assertions in an :program:`llc`-based test, after
-adding RUN line use:
+adding one or more RUN lines use:
.. code-block:: bash
% llvm/utils/update_llc_test_checks.py --llc-binary build/bin/llc test.ll
-And if you want to update assertions in an existing test case, pass `-u` option
-which first check the ``NOTE:`` line exists and matches the script name.
+This will generate FileCheck assertions, and insert a ``NOTE:`` line at the
+top to indicate that assertions were automatically generated.
+
+If you want to update assertions in an existing test case, pass the `-u` option
+which first checks the ``NOTE:`` line exists and matches the script name.
+
+Sometimes a test absolutely depends on hand-written assertions and should not
+have assertions automatically generated. In that case, add the text ``NOTE: Do
+not autogenerate`` to the first line, and the scripts will skip that test. It
+is a good idea to explain why generated assertions will not work for the test
+so future developers will understand what is going on.
These are the most common scripts and their purposes/applications in generating
assertions:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154383.537752.patch
Type: text/x-patch
Size: 2418 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230706/beb6f09b/attachment.bin>
More information about the llvm-commits
mailing list