From 5622953de1125497b2e20cf25a1f9686c8bcfd77 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 27 Sep 2014 21:39:19 +0200 Subject: guix lint: Make sure synopses are not too long. * guix/scripts/lint.scm (check-synopsis-length): New procedure. * tests/lint.scm ("synopsis: too long"): New test. --- guix/scripts/lint.scm | 9 ++++++++- tests/lint.scm | 9 +++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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 -- cgit 1.4.1