Coverage report: /home/ellis/comp/core/lib/cli/tools/virt.lisp

KindCoveredAll%
expression11115 9.6
branch010 0.0
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; virt.lisp --- Container and VM CLI Tools
2
 
3
 ;; 
4
 
5
 ;;; Code:
6
 (in-package :cli/tools/virt)
7
 
8
 (define-cli-tool :podman (&rest args)
9
   (let ((proc (sb-ext:run-program *podman* (or args nil) :output t)))
10
     (unless (eq 0 (sb-ext:process-exit-code proc))
11
       (podman-error "PODMAN command failed: ~A ~A" *podman* (or args "")))))
12
 
13
 (defun podman-machine-upgrade ()
14
   (run-podman "machine" "ssh" "sudo rpm-ostree upgrade --check"))
15
 
16
 ;; podman system service --time=0 unix:///tmp/podman.sock (local-socket)
17
 ;; podman system service --time=0 tcp://localhost:8888 (inet-socket :stream :tcp)
18
 (defun start-podman-service (addr &optional (protocol :unix) (time 0))
19
   "Start the Libpod API on ADDR over PROTO which is either :TCP or :UNIX."
20
   (declare ((member :unix :tcp) protocol))
21
   (run-podman "system"
22
               "service"
23
               (format nil "~(~a~)://~a" protocol addr)
24
               (format nil "--time=~a" time)))
25
 
26
 (define-cli-tool :buildah (args &key (output t) input)
27
   (let ((proc (sb-ext:run-program *buildah* args :output output :input input)))
28
     (unless (eq 0 (sb-ext:process-exit-code proc))
29
       (buildah-error "BUILDAH command failed: ~A ~A" *buildah* args))))
30
 
31
 (define-cli-tool :mkarchiso (&rest args)
32
   (let ((proc (sb-ext:run-program *mkarchiso* (or args nil) :output t)))
33
     (unless (eq 0 (sb-ext:process-exit-code proc))
34
       (mkarchiso-error "MKARCHISO command failed: ~A ~A" *mkarchiso* (or args "")))))
35
 
36
 (defun find-qemu-exe (&optional (arch (machine-type)))
37
   (find-exe (concatenate 'string "qemu-system-" (string-downcase (substitute #\_ #\- arch)))))
38
 
39
 (defvar *qemu* (find-qemu-exe))
40
 
41
 (define-cli-tool :qemu (&rest args)
42
   (let ((proc (sb-ext:run-program *qemu* (or args nil) :output t)))
43
     (unless (eq 0 (sb-ext:process-exit-code proc))
44
       (qemu-error "QEMU command failed: ~A ~A" *qemu* (or args "")))))
45
   
46
 (defun run-qemu-img (&rest args)
47
   (let ((proc (sb-ext:run-program #1=(find-exe "qemu-img") (or args nil) :output t)))
48
     (unless (eq 0 (sb-ext:process-exit-code proc))
49
       (qemu-error "QEMU-IMG command failed: ~A ~A" #1# (or args "")))))