guix lint: Make sure synopses are not too long.
* guix/scripts/lint.scm (check-synopsis-length): New procedure.
* tests/lint.scm ("synopsis: too long"): New test.
			
			
This commit is contained in:
		
							parent
							
								
									90d104ba82
								
							
						
					
					
						commit
						5622953de1
					
				
					 2 changed files with 17 additions and 1 deletions
				
			
		| 
						 | 
					@ -140,11 +140,18 @@ Run a set of checkers on the specified package; if none is specified, run the ch
 | 
				
			||||||
                     "no article allowed at the beginning of the synopsis"
 | 
					                     "no article allowed at the beginning of the synopsis"
 | 
				
			||||||
                     'synopsis)))
 | 
					                     'synopsis)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define (check-synopsis-length synopsis)
 | 
				
			||||||
 | 
					   (if (>= (string-length synopsis) 80)
 | 
				
			||||||
 | 
					       (emit-warning package
 | 
				
			||||||
 | 
					                     "synopsis should be less than 80 characters long"
 | 
				
			||||||
 | 
					                     'synopsis)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 (let ((synopsis (package-synopsis package)))
 | 
					 (let ((synopsis (package-synopsis package)))
 | 
				
			||||||
   (if (string? synopsis)
 | 
					   (if (string? synopsis)
 | 
				
			||||||
       (begin
 | 
					       (begin
 | 
				
			||||||
        (check-final-period synopsis)
 | 
					        (check-final-period synopsis)
 | 
				
			||||||
        (check-start-article synopsis)))))
 | 
					        (check-start-article synopsis)
 | 
				
			||||||
 | 
					        (check-synopsis-length synopsis)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (check-patches package)
 | 
					(define (check-patches package)
 | 
				
			||||||
  ;; Emit a warning if the patches requires by PACKAGE are badly named.
 | 
					  ;; Emit a warning if the patches requires by PACKAGE are badly named.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,6 +79,15 @@
 | 
				
			||||||
                        (check-synopsis-style pkg))))
 | 
					                        (check-synopsis-style pkg))))
 | 
				
			||||||
                    "no article allowed at the beginning of the synopsis")))
 | 
					                    "no article allowed at the beginning of the synopsis")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(test-assert "synopsis: too long"
 | 
				
			||||||
 | 
					  (->bool
 | 
				
			||||||
 | 
					   (string-contains (call-with-warnings
 | 
				
			||||||
 | 
					                      (lambda ()
 | 
				
			||||||
 | 
					                        (let ((pkg (dummy-package "x"
 | 
				
			||||||
 | 
					                                     (synopsis (make-string 80 #\x)))))
 | 
				
			||||||
 | 
					                          (check-synopsis-style pkg))))
 | 
				
			||||||
 | 
					                    "synopsis should be less than 80 characters long")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue