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.
This commit is contained in:
parent
a00ffdaa17
commit
3c762a13bf
|
@ -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 should start with an upper-case letter"
|
||||||
'synopsis)))
|
'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)))
|
(let ((synopsis (package-synopsis package)))
|
||||||
(if (string? synopsis)
|
(if (string? synopsis)
|
||||||
(begin
|
(begin
|
||||||
(check-synopsis-start-upper-case synopsis)
|
(check-synopsis-start-upper-case synopsis)
|
||||||
(check-final-period synopsis)
|
(check-final-period synopsis)
|
||||||
(check-start-article synopsis)
|
(check-start-article synopsis)
|
||||||
|
(check-start-with-package-name synopsis)
|
||||||
(check-synopsis-length synopsis)))))
|
(check-synopsis-length synopsis)))))
|
||||||
|
|
||||||
(define (check-patches package)
|
(define (check-patches package)
|
||||||
|
|
|
@ -124,6 +124,16 @@
|
||||||
(check-synopsis-style pkg))))
|
(check-synopsis-style pkg))))
|
||||||
"synopsis should be less than 80 characters long")))
|
"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"
|
(test-assert "inputs: pkg-config is probably a native input"
|
||||||
(->bool
|
(->bool
|
||||||
(string-contains
|
(string-contains
|
||||||
|
|
Loading…
Reference in New Issue