diff options
author | Cyril Roelandt <tipecaml@gmail.com> | 2014-09-27 23:24:12 +0200 |
---|---|---|
committer | Cyril Roelandt <tipecaml@gmail.com> | 2014-10-08 03:08:20 +0200 |
commit | 3c762a13bf0a8e15f2cf67d6a9eb27cf6d55267d (patch) | |
tree | 8737504ea40891a6074f957320d678de3bd08770 | |
parent | a00ffdaa17c7ac96bb86734bac08a90c7785c98a (diff) | |
download | guix-3c762a13bf0a8e15f2cf67d6a9eb27cf6d55267d.tar.gz |
guix lint: make sure synopses do not start with the package name.
* guix/scripts/lint.scm (check-start-with-package-name): New method. * tests/lint.scm ("synopsis: start with package name"): New test.
-rw-r--r-- | guix/scripts/lint.scm | 9 | ||||
-rw-r--r-- | tests/lint.scm | 10 |
2 files changed, 19 insertions, 0 deletions
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 3f0a8d4fc0..fd9fd7b931 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -167,12 +167,21 @@ Run a set of checkers on the specified package; if none is specified, run the ch "synopsis should start with an upper-case letter" 'synopsis))) + (define (check-start-with-package-name synopsis) + (let ((idx (string-contains-ci synopsis (package-name package)))) + (when (and idx + (= idx 0)) + (emit-warning package + "synopsis should not start with the package name") + 'synopsis))) + (let ((synopsis (package-synopsis package))) (if (string? synopsis) (begin (check-synopsis-start-upper-case synopsis) (check-final-period synopsis) (check-start-article synopsis) + (check-start-with-package-name synopsis) (check-synopsis-length synopsis))))) (define (check-patches package) diff --git a/tests/lint.scm b/tests/lint.scm index c439faa30e..62a9df90d8 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -124,6 +124,16 @@ (check-synopsis-style pkg)))) "synopsis should be less than 80 characters long"))) +(test-assert "synopsis: start with package name" + (->bool + (string-contains (call-with-warnings + (lambda () + (let ((pkg (dummy-package "x" + (name "foo") + (synopsis "foo, a nice package")))) + (check-synopsis-style pkg)))) + "synopsis should not start with the package name"))) + (test-assert "inputs: pkg-config is probably a native input" (->bool (string-contains |