[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: lint: Add 'check-texinfo-markup' checker.
From: |
Mathieu Lirzin |
Subject: |
01/01: lint: Add 'check-texinfo-markup' checker. |
Date: |
Tue, 15 Sep 2015 17:05:56 +0000 |
mthl pushed a commit to branch master
in repository guix.
commit 3500e659f114e0e8213f2b8340128f66251bd7b4
Author: Mathieu Lirzin <address@hidden>
Date: Tue Sep 15 17:38:56 2015 +0200
lint: Add 'check-texinfo-markup' checker.
* guix/script/lint.scm (check-description-style): Check for invalid
Texinfo markup.
* tests/lint.scm: Test it.
---
guix/scripts/lint.scm | 9 +++++++++
tests/lint.scm | 8 ++++++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index ab7d7c6..71f582a 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014 Cyril Roelandt <address@hidden>
;;; Copyright © 2014, 2015 Eric Bavier <address@hidden>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2015 Mathieu Lirzin <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -141,6 +142,13 @@ monad."
(_ "description should not be empty")
'description)))
+ (define (check-texinfo-markup package)
+ "Check that PACKAGE description can be parsed as a Texinfo fragment."
+ (catch 'parser-error
+ (lambda () (package-description-string package))
+ (lambda (keys . args)
+ (emit-warning package (_ "Texinfo markup in description is
invalid")))))
+
(define (check-proper-start description)
(unless (or (properly-starts-sentence? description)
(string-prefix-ci? (package-name package) description))
@@ -170,6 +178,7 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
(let ((description (package-description package)))
(when (string? description)
(check-not-empty description)
+ (check-texinfo-markup package)
(check-proper-start description)
(check-end-of-sentence-space description))))
diff --git a/tests/lint.scm b/tests/lint.scm
index 76040c1..9634fb6 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013 Cyril Roelandt <address@hidden>
;;; Copyright © 2014, 2015 Eric Bavier <address@hidden>
;;; Copyright © 2014, 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2015 Mathieu Lirzin <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -142,6 +143,13 @@ requests."
(check-description-style pkg)))
"description should not be empty")))
+(test-assert "description: valid Texinfo markup"
+ (->bool
+ (string-contains
+ (with-warnings
+ (check-description-style (dummy-package "x" (description
"address@hidden"))))
+ "Texinfo markup in description is invalid")))
+
(test-assert "description: does not start with an upper-case letter"
(->bool
(string-contains (with-warnings