civodul pushed a commit to branch master in repository guix. commit 0772d36076d686895a43063cdaf18039b2e5d713 Author: Morgan Smith <morgan.j.sm...@outlook.com> AuthorDate: Mon Apr 7 16:53:52 2025 -0400
import/utils: beautify-description: Validate argument. * guix/import/utils.scm (beautify-description): Fix broken check for non-strings. Add a check for empty strings. * tests/import-utils.scm: Add two tests. Change-Id: Idf86df02aeb850fcc8808b7c9251082c1f816656 Signed-off-by: Ludovic Courtès <l...@gnu.org> --- guix/import/utils.scm | 8 ++++---- tests/import-utils.scm | 10 ++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 38c986b4d5..0ef84c9cdf 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -331,9 +331,9 @@ are replaced with dashes." "Improve the package DESCRIPTION by turning a beginning sentence fragment into a proper sentence and by using two spaces between sentences, and wrap lines at LENGTH characters." - (unless (string? description) - (G_ "This package lacks a description. Run \ -\"info '(guix) Synopses and Descriptions'\" for more information.")) + (if (or (not (string? description)) (string=? (string-trim-both description) "")) + (G_ "This package lacks a description. Run \ +\"info '(guix) Synopses and Descriptions'\" for more information.") (let* ((fix-word (lambda (word) @@ -410,7 +410,7 @@ LENGTH characters." ". " ". "))) 'post) - length))) + length)))) (define (beautify-synopsis synopsis) "Improve the package SYNOPSIS." diff --git a/tests/import-utils.scm b/tests/import-utils.scm index 221866e871..273f18254e 100644 --- a/tests/import-utils.scm +++ b/tests/import-utils.scm @@ -31,6 +31,16 @@ (test-begin "import-utils") +(test-equal "beautify-description: empty string" + "This package lacks a description. Run \ +\"info '(guix) Synopses and Descriptions'\" for more information." + (beautify-description "")) + +(test-equal "beautify-description: not a string" + "This package lacks a description. Run \ +\"info '(guix) Synopses and Descriptions'\" for more information." + (beautify-description '())) + (test-equal "beautify-description: use double spacing" "\ Trust me Mr. Hendrix, M. Night Shyamalan et al. \