aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Gilling <konkers@google.com>2024-02-14 18:26:24 +0000
committerCQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>2024-02-14 18:26:24 +0000
commitb482f964bd56b7ffb7ba4cbd1f8e1c3ed82345cf (patch)
tree080ed7cdc1f6fcf4312fd37898f53c6af33e3838
parented9667511654c9f833d540283200e188dbb9b649 (diff)
downloadpigweed-b482f964bd56b7ffb7ba4cbd1f8e1c3ed82345cf.tar.gz
pw_presubmit: Allow markdown style TODOs and adjust rustdocs
Bug: b/315389119 Change-Id: I4ebb580a4b58424aacc9cf4e3029dc12b0090e41 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/192253 Pigweed-Auto-Submit: Erik Gilling <konkers@google.com> Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com> Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Armando Montanez <amontanez@google.com>
-rw-r--r--pw_log/rust/pw_log.rs6
-rw-r--r--pw_log/rust/pw_log_backend_api.rs4
-rw-r--r--pw_log/rust/pw_log_backend_printf.rs3
-rw-r--r--pw_log/rust/pw_log_backend_println.rs3
-rw-r--r--pw_presubmit/docs.rst11
-rw-r--r--pw_presubmit/py/pw_presubmit/todo_check.py2
-rw-r--r--pw_presubmit/py/todo_check_test.py6
7 files changed, 25 insertions, 10 deletions
diff --git a/pw_log/rust/pw_log.rs b/pw_log/rust/pw_log.rs
index 5f17f519f..e1e6180de 100644
--- a/pw_log/rust/pw_log.rs
+++ b/pw_log/rust/pw_log.rs
@@ -35,11 +35,9 @@
//! [`core::fmt`]/`println!()` style strings planned
//! ([b/311232607](https://issues.pigweed.dev/issues/311232607)).
//!
-//! TODO: https://issues.pigweed.dev/issues/311266298 - Document `pw_log`'s
-//! backend API.
+//! TODO: <pwbug.dev/311266298> - Document `pw_log`'s backend API.
//!
-//! TODO: https://issues.pigweed.dev/issues/311232605 - Document how to
-//! configure facade backends.
+//! TODO: <pwbug.dev/311232605> - Document how to configure facade backends.
#![cfg_attr(not(feature = "std"), no_std)]
#![deny(missing_docs)]
diff --git a/pw_log/rust/pw_log_backend_api.rs b/pw_log/rust/pw_log_backend_api.rs
index 27f8358f6..a1110f9af 100644
--- a/pw_log/rust/pw_log_backend_api.rs
+++ b/pw_log/rust/pw_log_backend_api.rs
@@ -20,8 +20,8 @@
/// levels from Python's logging library, but have different values. The
/// values match the C/C++ implementation of the `pw_log` module.
///
-/// TODO: https://issues.pigweed.dev/issues/314168783 - Add documentation on
-/// the meaning of the log levels once it is written for Pigweed in general.
+/// TODO: <pwbug.dev/314168783> - Add documentation on the meaning of the
+/// log levels once it is written for Pigweed in general.
#[repr(u8)]
pub enum LogLevel {
Debug = 1,
diff --git a/pw_log/rust/pw_log_backend_printf.rs b/pw_log/rust/pw_log_backend_printf.rs
index a91cc3a69..8952ec40a 100644
--- a/pw_log/rust/pw_log_backend_printf.rs
+++ b/pw_log/rust/pw_log_backend_printf.rs
@@ -23,8 +23,7 @@
//! such as bounding the length of strings explicitly but this is still an
//! off-ramp from Rust's safety guarantees.
//!
-//! TODO: https://issues.pigweed.dev/issues/311232605 - Document how to
-//! configure facade backends.
+//! TODO: <pwbug.dev/311232605> - Document how to configure facade backends.
use pw_log_backend_api::LogLevel;
pub use pw_log_backend_printf_macro::pw_logf_backend;
diff --git a/pw_log/rust/pw_log_backend_println.rs b/pw_log/rust/pw_log_backend_println.rs
index c10754843..0922638ae 100644
--- a/pw_log/rust/pw_log_backend_println.rs
+++ b/pw_log/rust/pw_log_backend_println.rs
@@ -18,8 +18,7 @@
//!
//! *Note*: This modules requires `std`.
//!
-//! TODO: https://issues.pigweed.dev/issues/311232605 - Document
-//! how to configure facade backends.
+//! TODO: <pwbug.dev/311232605> - Document how to configure facade backends.
use pw_log_backend_api::LogLevel;
pub use pw_log_backend_println_macro::pw_logf_backend;
diff --git a/pw_presubmit/docs.rst b/pw_presubmit/docs.rst
index faccd21e9..9a4781a8e 100644
--- a/pw_presubmit/docs.rst
+++ b/pw_presubmit/docs.rst
@@ -346,6 +346,17 @@ Pigweed expects these to look like ``TODO: https://pwbug.dev/### -
Explanation``, but makes it easy for projects to define their own pattern
instead.
+In markdown docs like `Rustdoc <https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html>`_
+the following format is preferred.
+
+.. todo-check: disable
+
+.. code-block::
+
+ //! TODO: <pwbug.dev/1234> - Explanation.
+
+.. todo-check: enable
+
Some older forms are still allowed but discouraged. In order of preference we
allow the following formats by default.
diff --git a/pw_presubmit/py/pw_presubmit/todo_check.py b/pw_presubmit/py/pw_presubmit/todo_check.py
index a8cc81cf7..a973d0ca8 100644
--- a/pw_presubmit/py/pw_presubmit/todo_check.py
+++ b/pw_presubmit/py/pw_presubmit/todo_check.py
@@ -48,6 +48,7 @@ BUGS_ONLY = re.compile(
r'(?:\bTODO: https://issues.pigweed.dev/issues/\d+ - )|'
r'(?:\bTODO: https://pwbug.dev/\d+ - )|'
r'(?:\bTODO: pwbug.dev/\d+ - )|'
+ r'(?:\bTODO: <pwbug.dev/\d+> - )|'
r'(?:\bTODO: https://github\.com/bazelbuild/[a-z][-_a-z0-9]*/issues/\d+[ ]-[ ])'
)
BUGS_OR_USERNAMES = re.compile(
@@ -65,6 +66,7 @@ BUGS_OR_USERNAMES = re.compile(
b/\d+| # Bug.
https://pwbug.dev/\d+| # Short URL
pwbug.dev/\d+| # Even shorter URL
+ <pwbug.dev/\d+>| # Markdown compatible even shorter URL
https://issues.pigweed.dev/issues/\d+| # Fully qualified bug for rustdoc
# Username@ with optional domain.
[a-z]+@(?:[a-z][-a-z0-9]*(?:\.[a-z][-a-z0-9]*)+)?
diff --git a/pw_presubmit/py/todo_check_test.py b/pw_presubmit/py/todo_check_test.py
index 36e435a0f..87123e7c9 100644
--- a/pw_presubmit/py/todo_check_test.py
+++ b/pw_presubmit/py/todo_check_test.py
@@ -75,6 +75,12 @@ class TestTodoCheck(unittest.TestCase):
self._run_bugs_users(contents)
self.ctx.fail.assert_not_called()
self._run_bugs(contents)
+
+ def test_one_bug_shorter_markdown_url(self) -> None:
+ contents = 'TODO: <pwbug.dev/123> - foo\n'
+ self._run_bugs_users(contents)
+ self.ctx.fail.assert_not_called()
+ self._run_bugs(contents)
self.ctx.fail.assert_not_called()
def test_one_bug_full_url(self) -> None: