unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Cyril Roelandt <tipecaml@gmail.com>
To: guix-devel@gnu.org
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	[thread overview]
Message-ID: <1411854568-11187-6-git-send-email-tipecaml@gmail.com> (raw)
In-Reply-To: <1411854568-11187-1-git-send-email-tipecaml@gmail.com>

* 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

  parent reply	other threads:[~2014-09-27 21:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-27 21:49 [PATCH 0/5] Add, fix and improve checkers in guix lint Cyril Roelandt
2014-09-27 21:49 ` [PATCH 1/5] guix lint: make sure check-patches retrieves patch names Cyril Roelandt
2014-09-28 10:08   ` Ludovic Courtès
2014-10-06  0:26     ` [PATCHv2 " Cyril Roelandt
2014-10-06 15:57       ` Ludovic Courtès
2014-09-27 21:49 ` [PATCH 2/5] guix lint: Make sure synopses are not too long Cyril Roelandt
2014-09-28 10:09   ` Ludovic Courtès
2014-09-27 21:49 ` [PATCH 3/5] guix lint: check whether descriptions and synopses start with an upper-case letter Cyril Roelandt
2014-09-28 16:09   ` Ludovic Courtès
2014-10-06  0:27     ` [PATCHv2 " Cyril Roelandt
2014-10-06 16:00       ` Ludovic Courtès
2014-10-06  0:28     ` [PATCH " Cyril Roelandt
2014-10-06 15:58       ` Ludovic Courtès
2014-09-27 21:49 ` [PATCH 4/5] guix lint: Make sure a synopsis cannot start with a lower-case article Cyril Roelandt
2014-09-28 16:11   ` Ludovic Courtès
2014-10-06  0:28     ` Cyril Roelandt
2014-09-27 21:49 ` Cyril Roelandt [this message]
2014-09-28 16:11   ` [PATCH 5/5] guix lint: make sure synopses do not start with the package name Ludovic Courtès
2014-09-28 16:49 ` [PATCH 0/5] Add, fix and improve checkers in guix lint Andreas Enge
2014-10-04 14:25   ` Cyril Roelandt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1411854568-11187-6-git-send-email-tipecaml@gmail.com \
    --to=tipecaml@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).