summary refs log tree commit diff
path: root/gnu/build/marionette.scm
AgeCommit message (Collapse)Author
2019-05-15marionette: Add braces to the keystrokes.Ludovic Courtès
* gnu/build/marionette.scm (%qwerty-us-keystrokes): Add braces.
2018-08-28marionette: Add wait-for-unix-socket.Chris Marusich
* gnu/build/marionette.scm (wait-for-unix-socket): New variable.
2018-08-28marionette: Add support for QEMU's "quit" command.Chris Marusich
* gnu/build/marionette.scm (marionette-control): Don't wait for the monitor prompt when the command was "quit".
2018-06-01marionette: Add 'wait-for-tcp-port'.Ludovic Courtès
* gnu/build/marionette.scm (wait-for-tcp-port): New procedure. * gnu/tests/dict.scm (run-dicod-test)["connect inside"]: Use it instead of the inline loop.
2018-02-19marionette: Use QEMU's "VM channel" mechanism.Ludovic Courtès
* gnu/tests.scm (<marionette-configuration>)[device]: Default to "/dev/virtio-ports/org.gnu.guix.port.0". * gnu/tests.scm (marionette-shepherd-service): Remove (guix build syscalls) from 'modules'. Remove 'tcsetattr' call from 'start'. * gnu/build/marionette.scm (make-marionette): Use "-virtserialport" instead of "-virtconsole".
2017-09-08marionette: 'wait-for-file' can be passed a read procedure.Ludovic Courtès
* gnu/build/marionette.scm (wait-for-file): Add #:read parameter and honor it. * gnu/tests/base.scm (run-basic-test)["login on tty1"]: Use 'wait-for-file' instead of inline code.
2017-08-28marionette: Augment the set of keystrokes.Ludovic Courtès
* gnu/build/marionette.scm (%qwerty-us-keystrokes): Add ', ", and `.
2017-08-28marionette: Fix typing of capital letters.Ludovic Courtès
Previously we'd use "sendkey P" instead of "sendkey shift-p", which had no effect. * gnu/build/marionette.scm (character->keystroke): New procedure. (string->keystroke-commands): Use it.
2017-08-28marionette: 'wait-for-file' really raises an error when a file is missing.Ludovic Courtès
* gnu/build/marionette.scm (wait-for-file): Arrange to call 'error' on the host, not in the guest.
2017-06-12marionette: Factorize 'wait-for-file'.Ludovic Courtès
* gnu/build/marionette.scm (wait-for-file): New procedure. * gnu/tests/base.scm (run-mcron-test)[test](wait-for-file): Remove. Pass second argument in 'wait-for-file' calls. * gnu/tests/ssh.scm (run-ssh-test)[test](wait-for-file): Remove. Pass second argument in 'wait-for-file' calls. * gnu/tests/messaging.scm (run-xmpp-test)[test](guest-wait-for-file): Remove. Use 'wait-for-file' instead, with second argument.
2016-11-23install: Enable "cryptodisk" handling in GRUB.Ludovic Courtès
This allows 'grub-install' to do the right thing when / or /boot is a LUKS-encrypted partition. Fixes <http://bugs.gnu.org/21843>. * gnu/build/install.scm (install-grub): Add 'setenv' to set 'GRUB_ENABLE_CRYPTODISK'. (wait-for-screen-text): New test. * gnu/tests/base.scm (run-basic-test): Add #:initialization parameter and honor it. * gnu/tests/install.scm (%encrypted-root-os)[kernel-arguments]: Remove. (%encrypted-root-installation-script): Pass '--uuid' to 'cryptsetup luksFormat'. Remove 'sed' invocation. (enter-luks-passphrase): New procedure. (%test-encrypted-os)[value]: Pass #:initialization to 'run-basic-test'.
2016-11-23marionette: Add 'marionette-screen-text' using OCR.Ludovic Courtès
* gnu/build/marionette.scm (marionette-screen-text): New procedure. * gnu/tests/base.scm (run-basic-test)["screen text"]: New test.
2016-11-23marionette: Delay synchronization with the host's REPL.Ludovic Courtès
* gnu/build/marionette.scm (<marionette>)[marionette-repl]: Rename to... [%marionette-repl]: ... this. (marionette-repl): New macro. (make-marionette): Wrap last 'read' call into 'delay', making the last argument to 'marionette' a promise of a port. (marionette-eval): Use 'force' in 'match' clause.
2016-11-22marionette: Avoid use of SIGALRM for timeouts.Ludovic Courtès
* gnu/build/marionette.scm (make-marionette)[accept*]: New procedures. Remove calls to 'sigaction'. Use 'accept*' instead of 'accept'.
2016-05-04Add (gnu tests) and (gnu build marionette).Ludovic Courtès
* gnu/build/marionette.scm, gnu/tests.scm: New files. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. * gnu/system/vm.scm (common-qemu-options): Remove '-serial stdio'.