unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* System tests
@ 2016-05-04 21:51 Ludovic Courtès
  2016-05-05  9:27 ` Commit 958dd3ce68 will break emacs interface after "guix pull" Alex Kost
  2016-06-21  8:56 ` System tests Ludovic Courtès
  0 siblings, 2 replies; 8+ messages in thread
From: Ludovic Courtès @ 2016-05-04 21:51 UTC (permalink / raw)
  To: guix-devel

Hello Guix!

I just pushed a couple of new modules to run system tests.  As done in
NixOS¹ (in Perl + Bash), the idea is to run the system under test in a
VM and to instrument the guest system with a backdoor so we can fiddle
with it from the outside.

Here, the backdoor is obviously a Guile REPL, which is pretty cool.  :-)

Currently there’s only one test series, in (gnu tests base).  You’re
welcome to look at it and comment!  The ‘marionette’ procedures used in
there are what allows us to execute code in the system under test.

In the system under test, we can of course call any system call that
Guile provides, we can use (gnu system herd) to query the Shepherd, etc.
The ‘marionette-type’ procedure allows us to simulate typing at the
keyboard, although that’s a bit harder to use due to lack of
synchronization.

Anyway, to run the test:

  make check-system

Feedback welcome!

Ludo’.

¹ https://github.com/NixOS/nixpkgs/blob/master/nixos/lib/test-driver/Machine.pm

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

end of thread, other threads:[~2016-06-22 21:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-04 21:51 System tests Ludovic Courtès
2016-05-05  9:27 ` Commit 958dd3ce68 will break emacs interface after "guix pull" Alex Kost
2016-05-06 10:36   ` Ludovic Courtès
2016-05-06 18:25     ` Alex Kost
2016-05-08 16:04       ` Ludovic Courtès
2016-05-09  8:43         ` Alex Kost
2016-06-21  8:56 ` System tests Ludovic Courtès
2016-06-22 21:33   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).