guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 5/5] guix lint: make sure synopses do not start with the package


From: Cyril Roelandt
Subject: [PATCH 5/5] guix lint: make sure synopses do not start with the package name.
Date: Sat, 27 Sep 2014 23:49:28 +0200

* guix/scripts/lint.scm (check-start-with-package-name): New method.
* tests/lint.scm: Test it.
---
 guix/scripts/lint.scm |  9 +++++++++
 tests/lint.scm        | 10 ++++++++++
 2 files changed, 19 insertions(+)

diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index ee00e5c..8f49afc 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 c439faa..62a9df9 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
-- 
1.8.4.rc3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]