<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/inferior.scm, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>guix: inferior: Fix the behaviour of open-inferior #:error-port.</title>
<updated>2022-07-08T12:51:34+00:00</updated>
<author>
<name>Christopher Baines</name>
<email>mail@cbaines.net</email>
</author>
<published>2022-06-25T17:14:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b4c4a6acb1204ee53e95744236ee89985db32f91'/>
<id>b4c4a6acb1204ee53e95744236ee89985db32f91</id>
<content type='text'>
I'm looking at this as the Guix Data Service uses this behaviour to record and
display logs from inferior processes.

* guix/inferior.scm (open-bidirectional-pipe): Call dup2 for file descriptor
2, passing either the file number for the current error port, or a file
descriptor for /dev/null.
* tests/inferior.scm ("#:error-port stderr", "#:error-port pipe"): Add two new
tests that cover some of the #:error-port behaviour.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I'm looking at this as the Guix Data Service uses this behaviour to record and
display logs from inferior processes.

* guix/inferior.scm (open-bidirectional-pipe): Call dup2 for file descriptor
2, passing either the file number for the current error port, or a file
descriptor for /dev/null.
* tests/inferior.scm ("#:error-port stderr", "#:error-port pipe"): Add two new
tests that cover some of the #:error-port behaviour.
</pre>
</div>
</content>
</entry>
<entry>
<title>inferior: Close duplicate socketpair file descriptor.</title>
<updated>2022-05-20T16:46:07+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2022-05-20T15:12:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a4994d739306abcf3f36706012fb88b35a970e6b'/>
<id>a4994d739306abcf3f36706012fb88b35a970e6b</id>
<content type='text'>
* guix/inferior.scm (open-bidirectional-pipe): Pass SOCK_CLOEXEC to
'socketpair'.
* tests/inferior.scm ("close-inferior"): Add test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/inferior.scm (open-bidirectional-pipe): Pass SOCK_CLOEXEC to
'socketpair'.
* tests/inferior.scm ("close-inferior"): Add test.
</pre>
</div>
</content>
</entry>
<entry>
<title>inferior: Support querying package replacements.</title>
<updated>2021-05-15T11:14:47+00:00</updated>
<author>
<name>Christopher Baines</name>
<email>mail@cbaines.net</email>
</author>
<published>2021-04-24T05:43:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=97d615b1761c2054561057f6b56e2a0caed13aa4'/>
<id>97d615b1761c2054561057f6b56e2a0caed13aa4</id>
<content type='text'>
I'm looking at this to help with adding support for looking up package
replacements to store in the Guix Data Service.

* guix/inferior.scm (inferior-package-replacement): New procedure.
* tests/inferior.scm ("inferior-package-replacement"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I'm looking at this to help with adding support for looking up package
replacements to store in the Guix Data Service.

* guix/inferior.scm (inferior-package-replacement): New procedure.
* tests/inferior.scm ("inferior-package-replacement"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>inferior: Make sure test refers to guile@3.0.</title>
<updated>2021-04-28T23:22:04+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2021-04-28T22:57:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9dc1c591a4fe90e823ed69fb52c055b98d4699f6'/>
<id>9dc1c591a4fe90e823ed69fb52c055b98d4699f6</id>
<content type='text'>
* tests/inferior.scm ("inferior-package-inputs"): Compare with
GUILE-3.0-LATEST since that's what 'lookup-inferior-packages' returns.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/inferior.scm ("inferior-package-inputs"): Compare with
GUILE-3.0-LATEST since that's what 'lookup-inferior-packages' returns.
</pre>
</div>
</content>
</entry>
<entry>
<title>repl: Fix exception handling for interpreted code.</title>
<updated>2021-01-20T23:14:38+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2021-01-20T23:05:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=98d3abe7440717724263cacca8c36e9f43d53fcc'/>
<id>98d3abe7440717724263cacca8c36e9f43d53fcc</id>
<content type='text'>
The 'stack' variable could be #f when code is interpreted, which in
practice happens when running in "legacy" mode--i.e., when
'open-inferior' invokes "guile" instead of "guix repl".

* guix/repl.scm (send-repl-response)[handle-exception]: Check whether
STACK is true before passing it to 'stack-&gt;frames'.
* tests/inferior.scm ("&amp;inferior-exception, legacy mode"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 'stack' variable could be #f when code is interpreted, which in
practice happens when running in "legacy" mode--i.e., when
'open-inferior' invokes "guile" instead of "guix repl".

* guix/repl.scm (send-repl-response)[handle-exception]: Check whether
STACK is true before passing it to 'stack-&gt;frames'.
* tests/inferior.scm ("&amp;inferior-exception, legacy mode"): New test.
</pre>
</div>
</content>
</entry>
<entry>
<title>inferior: Add 'inferior-eval-with-store' tests.</title>
<updated>2021-01-20T23:14:38+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2021-01-20T22:34:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=074a201c33f822a7ab59512e7ee8b301204ff732'/>
<id>074a201c33f822a7ab59512e7ee8b301204ff732</id>
<content type='text'>
* tests/inferior.scm ("inferior-eval-with-store, exception")
("inferior-eval-with-store, not a procedure"): New tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/inferior.scm ("inferior-eval-with-store, exception")
("inferior-eval-with-store, not a procedure"): New tests.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' into core-updates</title>
<updated>2020-03-21T21:16:02+00:00</updated>
<author>
<name>Marius Bakke</name>
<email>mbakke@fastmail.com</email>
</author>
<published>2020-03-21T21:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d19b14c8349ce8cacb62619ab68953265daeeca7'/>
<id>d19b14c8349ce8cacb62619ab68953265daeeca7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>inferior: '&amp;inferior-exception' includes a stack trace.</title>
<updated>2020-03-19T14:14:08+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-03-15T16:26:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=1dca6aaafa9f842565deab1fe7e6929f25544551'/>
<id>1dca6aaafa9f842565deab1fe7e6929f25544551</id>
<content type='text'>
* guix/inferior.scm (port-&gt;inferior): Bump protocol to (0 1 1).
(&amp;inferior-exception)[stack]: New field.
(read-repl-response): Recognize 'exception' form for protocol (0 1 1).
* tests/inferior.scm ("&amp;inferior-exception"): Check the value returned
by 'inferior-exception-stack'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/inferior.scm (port-&gt;inferior): Bump protocol to (0 1 1).
(&amp;inferior-exception)[stack]: New field.
(read-repl-response): Recognize 'exception' form for protocol (0 1 1).
* tests/inferior.scm ("&amp;inferior-exception"): Check the value returned
by 'inferior-exception-stack'.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Fix up reference to 'guile-2.2'.</title>
<updated>2020-03-17T14:46:15+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-03-17T14:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9d0c2c6e5226bbd11e710bd4efa8f25e9ffb5a86'/>
<id>9d0c2c6e5226bbd11e710bd4efa8f25e9ffb5a86</id>
<content type='text'>
This is a followup to b6bee63bed4f013064c0d902e7c8b83ed7514ade.

* tests/inferior.scm ("inferior-package-search-paths"): Refer to
'guile-3.0' instead of 'guile-2.2'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a followup to b6bee63bed4f013064c0d902e7c8b83ed7514ade.

* tests/inferior.scm ("inferior-package-search-paths"): Refer to
'guile-3.0' instead of 'guile-2.2'.
</pre>
</div>
</content>
</entry>
<entry>
<title>inferior: Distinguish inferior exceptions.</title>
<updated>2020-03-12T10:52:38+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-03-10T15:45:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f7537e30b892cef09d91902547c00e5fa9b66f3b'/>
<id>f7537e30b892cef09d91902547c00e5fa9b66f3b</id>
<content type='text'>
This avoids ambiguities when looking at a backtrace where the exception
was actually thrown by an inferior in a very different context.

* guix/inferior.scm (&amp;inferior-exception): New condition type.
(read-repl-response): Add optional 'inferior' parameter.  Raise
'&amp;inferior-exception' instead of rethrowing to KEY when receiving an
'exception' message.
(read-inferior-response): Pass INFERIOR to 'read-repl-response'.
* tests/inferior.scm ("&amp;inferior-exception"): New test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids ambiguities when looking at a backtrace where the exception
was actually thrown by an inferior in a very different context.

* guix/inferior.scm (&amp;inferior-exception): New condition type.
(read-repl-response): Add optional 'inferior' parameter.  Raise
'&amp;inferior-exception' instead of rethrowing to KEY when receiving an
'exception' message.
(read-inferior-response): Pass INFERIOR to 'read-repl-response'.
* tests/inferior.scm ("&amp;inferior-exception"): New test.
</pre>
</div>
</content>
</entry>
</feed>
