GNU bug report logs - #74030
[PATCH] srfi-64: Accept symbols as test group names.

Previous Next

Package: guile;

Reported by: Tomas Volf <~@wolfsden.cz>

Date: Sat, 26 Oct 2024 16:08:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#74030: closed ([PATCH] srfi-64: Accept symbols as test group
 names.)
Date: Sat, 26 Oct 2024 17:22:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 26 Oct 2024 19:20:49 +0200
with message-id <87iktevkzy.fsf <at> gnu.org>
and subject line Re: bug#74030: [PATCH] srfi-64: Accept symbols as test group names.
has caused the debbugs.gnu.org bug report #74030,
regarding [PATCH] srfi-64: Accept symbols as test group names.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
74030: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=74030
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Tomas Volf <~@wolfsden.cz>
To: bug-guile <at> gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH] srfi-64: Accept symbols as test group names.
Date: Sat, 26 Oct 2024 18:06:51 +0200
The specification mandates a string, but with rationale suggesting symbols
would be a more natural fit.

> In some ways using symbols would be preferable. However, we want
> human-readable names, and standard Scheme does not provide a way to include
> spaces or mixed-case text in literal symbols.

Add support for symbols as implementation extension.

* module/srfi/srfi-64.scm (%cmp-group-name): New procedure.
(test-end): Use it.
---
 module/srfi/srfi-64.scm | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/module/srfi/srfi-64.scm b/module/srfi/srfi-64.scm
index 1f60a72e5..98fcef645 100644
--- a/module/srfi/srfi-64.scm
+++ b/module/srfi/srfi-64.scm
@@ -522,7 +522,10 @@ returning new test runner.  Defaults to @code{test-runner-simple}.")
                                (1+ (group-executed-count group)))))))
 
 (define* (test-begin suite-name #:optional count)
-  "Enter a new test group."
+  "Enter a new test group.
+
+As implementation extension, in addition to strings, symbols are also
+supported as @var{suite-name}."
   (let* ((r (test-runner-current))
          (r install? (if r
                          (values r                    #f)
@@ -544,6 +547,14 @@ returning new test runner.  Defaults to @code{test-runner-simple}.")
 
     ((test-runner-on-group-begin r) r suite-name count)))
 
+(define (%cmp-group-name a b)
+  (match (list a b)
+    (((? string?) (? string?))
+     (string=? a b))
+    (((? symbol?) (? symbol?))
+     (eq? a b))
+    (_ #f)))
+
 (define* (test-end #:optional suite-name)
   "Leave the current test group."
   (let* ((r (test-runner-current))
@@ -551,7 +562,7 @@ returning new test runner.  Defaults to @code{test-runner-simple}.")
 
     (let ((begin-name (car (test-runner-group-stack r)))
           (end-name   suite-name))
-      (when (and end-name (not (string=? begin-name end-name)))
+      (when (and end-name (not (%cmp-group-name begin-name end-name)))
         ((test-runner-on-bad-end-name r) r begin-name end-name)
         (raise-exception (make-bad-end-name begin-name end-name))))
 
-- 
2.46.0



[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Tomas Volf <~@wolfsden.cz>
Cc: 74030-done <at> debbugs.gnu.org
Subject: Re: bug#74030: [PATCH] srfi-64: Accept symbols as test group names.
Date: Sat, 26 Oct 2024 19:20:49 +0200
Tomas Volf <~@wolfsden.cz> skribis:

> The specification mandates a string, but with rationale suggesting symbols
> would be a more natural fit.
>
>> In some ways using symbols would be preferable. However, we want
>> human-readable names, and standard Scheme does not provide a way to include
>> spaces or mixed-case text in literal symbols.
>
> Add support for symbols as implementation extension.
>
> * module/srfi/srfi-64.scm (%cmp-group-name): New procedure.
> (test-end): Use it.

I added “for backwards compatibility with the reference implementation”
and credited Daniel for reporting the issue.

Applied, thanks!

Ludo’.


This bug report was last modified 205 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.