;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016-2022 Ludovic Courtès ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu tests ssh) #:use-module (gnu tests) #:use-module (gnu system) #:use-module (gnu system vm) #:use-module (gnu ser
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZheng Junjie <zhengjunjie@iscas.ac.cn>2024-10-06 02:18:13 +0800
committerZheng Junjie <zhengjunjie@iscas.ac.cn>2024-10-06 02:20:55 +0800
commit002df8abd2f4d7c5d23febb1459b77c880345ca7 (patch)
treead8db55e07ffa211e95046cb8bfc37819e36eed4 /tests/guix-gc.sh
parentbecf33125309076d99609fa0971a98bda6f1f691 (diff)
downloadguix-002df8abd2f4d7c5d23febb1459b77c880345ca7.tar.gz
guix-002df8abd2f4d7c5d23febb1459b77c880345ca7.zip
gnu: vimb: Use G-expressions and cc-for-target.
* gnu/packages/web-browsers.scm (vimb)[arguments]: Use G-expressions and cc-for-target. Change-Id: I701e9d5d6dc12856d49e5c794a535b966fff7810
Diffstat (limited to 'tests/guix-gc.sh')
0 files changed, 0 insertions, 0 deletions
(let ((channel (make-channel session))) (channel-open-session channel) (channel-request-exec channel "echo hello > /root/witness") (and (zero? (channel-get-exit-status channel)) (wait-for-file "/root/witness" marionette)))))) ;; Check whether the 'getlogin' procedure returns the right thing. (unless #$test-getlogin? (test-skip 1)) (test-equal "getlogin" '(0 "root") (call-with-connected-session/auth (lambda (session) (let* ((pipe (open-remote-input-pipe session "guile -c '(display (getlogin))'")) (output (get-string-all pipe)) (status (channel-get-exit-status pipe))) (list status output))))) ;; Connect to the guest over SFTP. Make sure we can write and ;; read a file there. (unless #$sftp? (test-skip 1)) (test-equal "SFTP file writing and reading" 'hello (call-with-connected-session/auth (lambda (session) (let ((sftp-session (make-sftp-session session)) (witness "/root/sftp-witness")) (call-with-remote-output-file sftp-session witness (cut display "hello" <>)) (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))))) (gexp->derivation name test)) (define %test-openssh (system-test (name "openssh") (description "Connect to a running OpenSSH daemon.") (value (run-ssh-test name ;; Allow root logins with an empty password to ;; simplify testing. (service openssh-service-type (openssh-configuration (permit-root-login #t) (allow-empty-passwords? #t))) #f ;inetd-style, no PID file #:sftp? #t)))) (define %test-dropbear (system-test (name "dropbear") (description "Connect to a running Dropbear SSH daemon.") (value (run-ssh-test name (service dropbear-service-type (dropbear-configuration (root-login? #t) (allow-empty-passwords? #t))) "/var/run/dropbear.pid" ;; XXX: Our Dropbear is not built with PAM support. ;; Even when it is, it seems to ignore the PAM ;; 'session' requirements. #:test-getlogin? #f))))