diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-11-07 14:09:19 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-11-07 17:52:11 +0100 |
commit | 17854ef91dd6b8e8956ef38bd7a7db59fb43f114 (patch) | |
tree | 9651a321f9d66153e8a55746e951765e8ba68f62 | |
parent | 72b030c0495837191ea360e71fd6c786ec063edc (diff) | |
download | guix-17854ef91dd6b8e8956ef38bd7a7db59fb43f114.tar guix-17854ef91dd6b8e8956ef38bd7a7db59fb43f114.tar.gz |
lint: Improve check for synopses starting with package name.
* guix/scripts/lint.scm (package-name-regexp): New procedure.
(check-synopsis-style)[check-start-with-package-name]: Use it instead
of 'string-prefix-ci?'.
* tests/lint.scm ("synopsis: start with package name prefix"): New test.
-rw-r--r-- | guix/scripts/lint.scm | 8 | ||||
-rw-r--r-- | tests/lint.scm | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 7f5915ba2e..35ab9aaf69 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -131,6 +131,12 @@ by two spaces; possible infraction~p at ~{~a~^, ~}" "pkg-config should probably be a native input" 'inputs)))))) +(define (package-name-regexp package) + "Return a regexp that matches PACKAGE's name as a word at the beginning of a +line." + (make-regexp (string-append "^" (regexp-quote (package-name package)) + "\\>") + regexp/icase)) (define (check-synopsis-style package) ;; Emit a warning if stylistic issues are found in the synopsis of PACKAGE. @@ -168,7 +174,7 @@ by two spaces; possible infraction~p at ~{~a~^, ~}" 'synopsis))) (define (check-start-with-package-name synopsis) - (when (string-prefix-ci? (package-name package) synopsis) + (when (regexp-exec (package-name-regexp package) synopsis) (emit-warning package "synopsis should not start with the package name" 'synopsis))) diff --git a/tests/lint.scm b/tests/lint.scm index 2f62adc39f..9a043c4b59 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -194,6 +194,14 @@ (check-synopsis-style pkg)))) "synopsis should not start with the package name"))) +(test-assert "synopsis: start with package name prefix" + (string-null? + (call-with-warnings + (lambda () + (let ((pkg (dummy-package "arb" + (synopsis "Arbitrary precision")))) + (check-synopsis-style pkg)))))) + (test-assert "inputs: pkg-config is probably a native input" (->bool (string-contains |