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