diff mbox series

[bug#48750,2/2] lint: Check for trailing whitespace in description.

Message ID 03b2b2591e76a0bf55419c81c39e8f063b9b1d65.1622406578.git.public@yoctocell.xyz
State Accepted
Headers show
Series [bug#48750,1/2] lint: Check for trailing whitespace in synopsis. | expand

Commit Message

Xinglu Chen May 30, 2021, 8:30 p.m. UTC
* guix/lint.scm (check-description-style): Check for trailing whitespace.
* tests/lint.scm: ("description: trailing whitespace"): New test.
---
 guix/lint.scm  | 10 ++++++++++
 tests/lint.scm |  7 +++++++
 2 files changed, 17 insertions(+)
diff mbox series

Patch

diff --git a/guix/lint.scm b/guix/lint.scm
index d2ef4f34b2..f4b601cf4f 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -278,6 +278,15 @@  by two spaces; possible infraction~p at ~{~a~^, ~}")
                                infractions)
                          #:field 'description)))))
 
+  (define (check-no-trailing-whitespace description)
+    "Check that DESCRIPTION doesn't have trailing whitespace."
+    (if (string-suffix? " " description)
+        (list
+         (make-warning package
+                       (G_ "description contains trailing whitespace")
+                       #:field 'description))
+        '()))
+
   (let ((description (package-description package)))
     (if (string? description)
         (append
@@ -287,6 +296,7 @@  by two spaces; possible infraction~p at ~{~a~^, ~}")
          ;; Use raw description for this because Texinfo rendering
          ;; automatically fixes end of sentence space.
          (check-end-of-sentence-space description)
+         (check-no-trailing-whitespace description)
          (match (check-texinfo-markup description)
            ((and warning (? lint-warning?)) (list warning))
            (plain-description
diff --git a/tests/lint.scm b/tests/lint.scm
index dddbf0679f..25615085df 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -160,6 +160,13 @@ 
                              (description "This is a 'quoted' thing."))))
      (check-description-style pkg))))
 
+(test-equal "description: trailing whitespace"
+  "description contains trailing whitespace"
+  (single-lint-warning-message
+   (let ((pkg (dummy-package "x"
+                              (description "Whitespace. "))))
+     (check-description-style pkg))))
+
 (test-equal "synopsis: not a string"
   "invalid synopsis: #f"
   (single-lint-warning-message