summaryrefslogtreecommitdiff
path: root/gnu/tests/ssh.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2017-10-29 15:59:54 +0100
committerMarius Bakke <mbakke@fastmail.com>2017-11-01 20:29:32 +0100
commit5d7141cd284eac3afe43d800104daffdf65dce52 (patch)
tree88975c3f4b2c0eab2fbf0548b1c570677b59ca69 /gnu/tests/ssh.scm
parent2c16be569c0ed21a44c615fb1285aeacd4ee7480 (diff)
downloadguix-patches-5d7141cd284eac3afe43d800104daffdf65dce52.tar
guix-patches-5d7141cd284eac3afe43d800104daffdf65dce52.tar.gz
tests: ssh: Make sure we can run executables from PATH.
* gnu/tests/ssh.scm (run-ssh-test): Add tests for running commands in system and user profile.
Diffstat (limited to 'gnu/tests/ssh.scm')
-rw-r--r--gnu/tests/ssh.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm
index 41be360355..6abc6c2501 100644
--- a/gnu/tests/ssh.scm
+++ b/gnu/tests/ssh.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -169,6 +170,33 @@ root with an empty password."
(call-with-remote-input-file sftp-session witness
read)))))
+ ;; Connect to the guest over SSH. Make sure we can run commands
+ ;; from the system profile.
+ (test-equal "run executables from system profile"
+ #t
+ (call-with-connected-session/auth
+ (lambda (session)
+ (let ((channel (make-channel session)))
+ (channel-open-session channel)
+ (channel-request-exec
+ channel
+ (string-append
+ "mkdir -p /root/.guix-profile/bin && "
+ "touch /root/.guix-profile/bin/path-witness && "
+ "chmod 755 /root/.guix-profile/bin/path-witness"))
+ (zero? (channel-get-exit-status channel))))))
+
+ ;; Connect to the guest over SSH. Make sure we can run commands
+ ;; from the user profile.
+ (test-equal "run executable from user profile"
+ #t
+ (call-with-connected-session/auth
+ (lambda (session)
+ (let ((channel (make-channel session)))
+ (channel-open-session channel)
+ (channel-request-exec channel "path-witness")
+ (zero? (channel-get-exit-status channel))))))
+
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))