[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#36555] [PATCH v6 3/3] tests: Add reconfigure system test.
From: |
Jakob L. Kreuze |
Subject: |
[bug#36555] [PATCH v6 3/3] tests: Add reconfigure system test. |
Date: |
Fri, 26 Jul 2019 13:53:03 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
Hi Ludo,
Ludovic Courtès <address@hidden> writes:
> Hi there!
>
> I’ve applied the whole series with the change below. \o/
Awesome, thank you!
> Because of the monadic style, the ‘guard’ clause had no effect:
>
> scheme@(guile-user)> ,run-in-store (guard (c (#t 'caught)) (mbegin
> %store-monad (return 1)(return (raise (condition (&message (message
> "oh!")))))))
> While executing meta-command:
> Throw to key `srfi-34' with args `(#<condition &message [message: "oh!"]
> 1cab2c0>)'.
My thoughts were similar when I was working on earlier versions of this
series, so I had devised the following snippet:
(use-modules (guix monads)
(guix store)
(srfi srfi-34)
(srfi srfi-35))
(define (monadic-procedure)
(catch #t
(lambda ()
(guard (c ((message-condition? c)
(format (current-error-port) "error: ~a~%"
(condition-message c))
(throw c)))
(mbegin %store-monad
(return (raise (condition (&message (message "Bogus error"))))))))
(lambda _
(mbegin %store-monad
(return (format #t "Error was caught~%"))))))
(with-store store
(run-with-store store
(monadic-procedure)))
Which, when run, outputs the following:
jakob@Epsilon ~ $ guile example.scm
error: Bogus error
Error was caught
I have a fairly weak understanding of monads, how they're implemented in
Guix, and how exception handling works in Guile, so I'm not entirely
sure why one example works and the other doesn't. Either way,
> I thought about adding it in some other way, but it turns out not to
> be needed at all because error conditions are guarded against in
> ‘guix-system’. Hence the patch.
I suppose that, in that case, we don't really need to worry about it.
> Thank you for the hard work on this series!
And thank you for all of the code review you've done :)
> I’ll be away from keyboard roughly until August 17th. Hopefully you
> can get feedback from David or Chris, and maybe you can get others on
> board as well. :-) If my opinion on changes to the core is needed, you
> can always push to a separate branch in the meantime. Anyway, I’m
> confident!
Sounds good. Take care, Ludo!
Regards,
Jakob
signature.asc
Description: PGP signature
- [bug#36555] [PATCH v5 2/3] guix system: Reimplement 'reconfigure'., (continued)
- [bug#36555] [PATCH v5 2/3] guix system: Reimplement 'reconfigure'., Jakob L. Kreuze, 2019/07/22
- [bug#36555] [PATCH v5 3/3] tests: Add reconfigure system test., Jakob L. Kreuze, 2019/07/22
- [bug#36555] [PATCH v5 2/3] guix system: Reimplement 'reconfigure'., Ludovic Courtès, 2019/07/23
- [bug#36555] [PATCH v5 2/3] guix system: Reimplement 'reconfigure'., Jakob L. Kreuze, 2019/07/23
- [bug#36555] [PATCH v5 2/3] guix system: Reimplement 'reconfigure'., Jakob L. Kreuze, 2019/07/23
- [bug#36555] [PATCH v6 0/3] Refactor out common behavior for system reconfiguration., Jakob L. Kreuze, 2019/07/24
- [bug#36555] [PATCH v6 1/3] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/24
- [bug#36555] [PATCH v6 2/3] guix system: Reimplement 'reconfigure'., Jakob L. Kreuze, 2019/07/24
- [bug#36555] [PATCH v6 3/3] tests: Add reconfigure system test., Jakob L. Kreuze, 2019/07/24
- bug#36555: [PATCH v6 3/3] tests: Add reconfigure system test., Ludovic Courtès, 2019/07/26
- [bug#36555] [PATCH v6 3/3] tests: Add reconfigure system test.,
Jakob L. Kreuze <=
- [bug#36555] [PATCH v5 2/3] guix system: Reimplement 'reconfigure'., Ludovic Courtès, 2019/07/24
- [bug#36555] [PATCH v4 3/3] tests: Add reconfigure system test., Ludovic Courtès, 2019/07/23
- [bug#36555] [PATCH v4 3/3] tests: Add reconfigure system test., Jakob L. Kreuze, 2019/07/23
- [bug#36555] [PATCH v4 3/3] tests: Add reconfigure system test., Ludovic Courtès, 2019/07/24
- [bug#36555] [PATCH v4 2/3] guix system: Reimplement 'reconfigure'., Ludovic Courtès, 2019/07/20
- [bug#36555] [PATCH v4 1/3] guix system: Add 'reconfigure' module., Ludovic Courtès, 2019/07/20
- [bug#36555] [PATCH v4 1/3] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/30
- [bug#36555] [PATCH v4 1/3] guix system: Add 'reconfigure' module., Jakob L. Kreuze, 2019/07/19
- [bug#36555] [PATCH v3 0/3] Refactor out common behavior for system reconfiguration., Christopher Lemmer Webber, 2019/07/19
- [bug#36555] [PATCH v3 0/3] Refactor out common behavior for system reconfiguration., Jakob L. Kreuze, 2019/07/22