From: "Ludovic Courtès" <ludo@gnu.org>
To: 39729@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>
Subject: [bug#39729] [PATCH 1/7] tests: 'run-basic-test' can enter a root password.
Date: Sat, 22 Feb 2020 00:20:24 +0100 [thread overview]
Message-ID: <20200221232030.27752-1-ludo@gnu.org> (raw)
In-Reply-To: <20200221231652.27632-1-ludo@gnu.org>
* gnu/tests/base.scm (run-basic-test): Add #:root-password and honor it.
---
gnu/tests/base.scm | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index a891711844..37b83dc7ec 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@@ -55,7 +55,7 @@
\f
(define* (run-basic-test os command #:optional (name "basic")
- #:key initialization)
+ #:key initialization root-password)
"Return a derivation called NAME that tests basic features of the OS started
using COMMAND, a gexp that evaluates to a list of strings. Compare some
properties of running system to what's declared in OS, an <operating-system>.
@@ -63,7 +63,10 @@ properties of running system to what's declared in OS, an <operating-system>.
When INITIALIZATION is true, it must be a one-argument procedure that is
passed a gexp denoting the marionette, and it must return gexp that is
inserted before the first test. This is used to introduce an extra
-initialization step, such as entering a LUKS passphrase."
+initialization step, such as entering a LUKS passphrase.
+
+When ROOT-PASSWORD is true, enter it as the root password when logging in.
+Otherwise assume that there is no password for root."
(define special-files
(service-value
(fold-services (operating-system-services os)
@@ -300,7 +303,19 @@ info --version")
marionette)
;; Now we can type.
- (marionette-type "root\n\nid -un > logged-in\n" marionette)
+ (let ((password #$root-password))
+ (if password
+ (begin
+ (marionette-type "root\n" marionette)
+ (wait-for-screen-text marionette
+ (lambda (text)
+ (string-contains text "Password"))
+ #:ocrad
+ #$(file-append ocrad "/bin/ocrad"))
+ (marionette-type (string-append password "\n\n")
+ marionette))
+ (marionette-type "root\n\n" marionette)))
+ (marionette-type "id -un > logged-in\n" marionette)
;; It can take a while before the shell commands are executed.
(marionette-eval '(use-modules (rnrs io ports)) marionette)
--
2.25.1
next prev parent reply other threads:[~2020-02-21 23:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-21 23:16 [bug#39729] [PATCH 0/7] Testing the graphical installer Ludovic Courtès
2020-02-21 23:20 ` Ludovic Courtès [this message]
2020-02-21 23:20 ` [bug#39729] [PATCH 2/7] installer: Use a Guile-Newt snapshot that supports 'form-watch-fd' Ludovic Courtès
2020-02-21 23:20 ` [bug#39729] [PATCH 3/7] installer: Implement a dialog on /var/guix/installer-socket Ludovic Courtès
2020-02-21 23:20 ` [bug#39729] [PATCH 4/7] installer: Bypass connectivity check when /tmp/installer-assume-online exists Ludovic Courtès
2020-02-21 23:20 ` [bug#39729] [PATCH 5/7] installer: Run commands without hopping through the shell Ludovic Courtès
2020-02-21 23:20 ` [bug#39729] [PATCH 6/7] installer: Honor /tmp/installer-system-init-options Ludovic Courtès
2020-02-21 23:20 ` [bug#39729] [PATCH 7/7] tests: install: Add "gui-installed-os" Ludovic Courtès
2020-02-27 16:10 ` [bug#39729] [PATCH 0/7] Testing the graphical installer Mathieu Othacehe
2020-03-05 22:46 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200221232030.27752-1-ludo@gnu.org \
--to=ludo@gnu.org \
--cc=39729@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.