aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/lint.scm9
-rw-r--r--tests/lint.scm9
2 files changed, 17 insertions, 1 deletions
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index b61373760c..e8d3707080 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -140,11 +140,18 @@ Run a set of checkers on the specified package; if none is specified, run the ch
"no article allowed at the beginning of the synopsis"
'synopsis)))
+ (define (check-synopsis-length synopsis)
+ (if (>= (string-length synopsis) 80)
+ (emit-warning package
+ "synopsis should be less than 80 characters long"
+ 'synopsis)))
+
(let ((synopsis (package-synopsis package)))
(if (string? synopsis)
(begin
(check-final-period synopsis)
- (check-start-article synopsis)))))
+ (check-start-article synopsis)
+ (check-synopsis-length synopsis)))))
(define (check-patches package)
;; Emit a warning if the patches requires by PACKAGE are badly named.
diff --git a/tests/lint.scm b/tests/lint.scm
index 56558c904f..e0829089b4 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -79,6 +79,15 @@
(check-synopsis-style pkg))))
"no article allowed at the beginning of the synopsis")))
+(test-assert "synopsis: too long"
+ (->bool
+ (string-contains (call-with-warnings
+ (lambda ()
+ (let ((pkg (dummy-package "x"
+ (synopsis (make-string 80 #\x)))))
+ (check-synopsis-style pkg))))
+ "synopsis should be less than 80 characters long")))
+
(test-assert "inputs: pkg-config is probably a native input"
(->bool
(string-contains