unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#72381: srfi-64: test-result-remove fails to remove property
@ 2024-07-30 19:51 Tomas Volf
  2024-10-01 22:37 ` Taylan Kammer
  0 siblings, 1 reply; 2+ messages in thread
From: Tomas Volf @ 2024-07-30 19:51 UTC (permalink / raw)
  To: 72381

Hello,

I think I found a bug in (srfi srfi-64) module shipped with GNU Guile.

When I try to remove a property from the result alist using this code:

    (use-modules (srfi srfi-64))
    (let ((r (test-runner-null)))
      (test-result-set! r 'arstars 'a)
      (test-result-remove r 'arstars))

I get the following error:

    Backtrace:
    In ice-9/boot-9.scm:
      1752:10  8 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
    In unknown file:
               7 (apply-smob/0 #<thunk 7f0fcff80300>)
    In ice-9/boot-9.scm:
        724:2  6 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
    In ice-9/eval.scm:
        619:8  5 (_ #(#(#<directory (guile-user) 7f0fcff83c80>)))
    In ice-9/boot-9.scm:
       2836:4  4 (save-module-excursion _)
      4388:12  3 (_)
    In srfi/srfi-64/testing.scm:
       546:35  2 (test-result-remove #<test-runner pass-count: 0 fail-count: 0 xpass-count: 0…> …)
       548:55  1 (loop ((arstars . a)))
       548:47  0 (loop ())

    srfi/srfi-64/testing.scm:548:47: In procedure loop:
    In procedure car: Wrong type argument in position 1 (expecting pair): ()

From cursory look at the `test-result-remove' source, is seems that the named
let `loop' is missing a stop condition?

Have a nice day
Tomas Volf





^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#72381: srfi-64: test-result-remove fails to remove property
  2024-07-30 19:51 bug#72381: srfi-64: test-result-remove fails to remove property Tomas Volf
@ 2024-10-01 22:37 ` Taylan Kammer
  0 siblings, 0 replies; 2+ messages in thread
From: Taylan Kammer @ 2024-10-01 22:37 UTC (permalink / raw)
  To: Tomas Volf, 72381

On 30.07.2024 21:51, Tomas Volf wrote:
> Hello,
>
> I think I found a bug in (srfi srfi-64) module shipped with GNU Guile.
>
> When I try to remove a property from the result alist using this code:
>
>     (use-modules (srfi srfi-64))
>     (let ((r (test-runner-null)))
>       (test-result-set! r 'arstars 'a)
>       (test-result-remove r 'arstars))
>
> I get the following error:
>
>     Backtrace:
>     In ice-9/boot-9.scm:
>       1752:10  8 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
>     In unknown file:
>                7 (apply-smob/0 #<thunk 7f0fcff80300>)
>     In ice-9/boot-9.scm:
>         724:2  6 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
>     In ice-9/eval.scm:
>         619:8  5 (_ #(#(#<directory (guile-user) 7f0fcff83c80>)))
>     In ice-9/boot-9.scm:
>        2836:4  4 (save-module-excursion _)
>       4388:12  3 (_)
>     In srfi/srfi-64/testing.scm:
>        546:35  2 (test-result-remove #<test-runner pass-count: 0 fail-count: 0 xpass-count: 0…> …)
>        548:55  1 (loop ((arstars . a)))
>        548:47  0 (loop ())
>
>     srfi/srfi-64/testing.scm:548:47: In procedure loop:
>     In procedure car: Wrong type argument in position 1 (expecting pair): ()
>
> From cursory look at the `test-result-remove' source, is seems that the named
> let `loop' is missing a stop condition?
>
> Have a nice day
> Tomas Volf
>
>
Your diagnosis sounds correct to me. A null check should fix it.

However, it's already fixed in my SRFI-64 implementation, thanks to using clean coding practices such as: "Don't reinvent SRFI-1." :-)

- Taylan






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-10-01 22:37 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-30 19:51 bug#72381: srfi-64: test-result-remove fails to remove property Tomas Volf
2024-10-01 22:37 ` Taylan Kammer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).