~ruther/guix-local

5622953de1125497b2e20cf25a1f9686c8bcfd77 — Cyril Roelandt 11 years ago 90d104b
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.
2 files changed, 17 insertions(+), 1 deletions(-)

M guix/scripts/lint.scm
M tests/lint.scm
M guix/scripts/lint.scm => guix/scripts/lint.scm +8 -1
@@ 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.

M tests/lint.scm => tests/lint.scm +9 -0
@@ 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