summaryrefslogtreecommitdiff
path: root/tests/home-import.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-10-31 00:02:27 +0200
committerLudovic Courtès <ludo@gnu.org>2021-10-31 00:51:06 +0200
commit6f4ca78761471602e3af37ee1a33de446114039f (patch)
tree93183c29a4e162eec4a63990076afc1da4c21420 /tests/home-import.scm
parent96728c54df365cc48f14a514b63616ff7a6d052b (diff)
home: import: Avoid duplication of 'manifest->code'.
* guix/scripts/home/import.scm (manifest->code): Remove. (manifest+configuration-files->code): New procedure. (import-manifest): Use 'manifest+configuration-files->code' instead of 'manifest->code'. * tests/home-import.scm (eval-test-with-home-environment): Likewise. (match-home-environment-transformations): New procedure. ("manifest->code: No services, package transformations"): New test.
Diffstat (limited to 'tests/home-import.scm')
-rw-r--r--tests/home-import.scm33
1 files changed, 29 insertions, 4 deletions
diff --git a/tests/home-import.scm b/tests/home-import.scm
index dc413d8516b..abd3cec43db 100644
--- a/tests/home-import.scm
+++ b/tests/home-import.scm
@@ -87,10 +87,8 @@ corresponding file."
87 (create-temporary-home files-alist) 87 (create-temporary-home files-alist)
88 (setenv "HOME" %temporary-home-directory) 88 (setenv "HOME" %temporary-home-directory)
89 (mkdir-p %temporary-home-directory) 89 (mkdir-p %temporary-home-directory)
90 (let* ((home-environment (manifest->code manifest %destination-directory 90 (let* ((home-environment (manifest+configuration-files->code
91 #:entry-package-version 91 manifest %destination-directory))
92 manifest-entry-version-prefix
93 #:home-environment? #t))
94 (result (matcher home-environment))) 92 (result (matcher home-environment)))
95 (delete-file-recursively %temporary-home-directory) 93 (delete-file-recursively %temporary-home-directory)
96 result)) 94 result))
@@ -108,6 +106,22 @@ corresponding file."
108 ('services 106 ('services
109 ('list))))) 107 ('list)))))
110 108
109(define-home-environment-matcher match-home-environment-transformations
110 ('begin
111 ('use-modules
112 ('gnu 'home)
113 ('gnu 'packages)
114 ('gnu 'services)
115 ('guix 'transformations))
116
117 ('define transform ('options->transformation _))
118 ('home-environment
119 ('packages
120 ('list (transform ('specification->package "guile@2.0.9"))
121 ('specification->package "gcc")
122 ('specification->package "glibc@2.19")))
123 ('services ('list)))))
124
111(define-home-environment-matcher match-home-environment-no-services-nor-packages 125(define-home-environment-matcher match-home-environment-no-services-nor-packages
112 ('begin 126 ('begin
113 ('use-modules 127 ('use-modules
@@ -141,12 +155,23 @@ corresponding file."
141 ('list ('local-file "/tmp/guix-config/.bashrc" 155 ('list ('local-file "/tmp/guix-config/.bashrc"
142 "bashrc")))))))))) 156 "bashrc"))))))))))
143 157
158
144(test-assert "manifest->code: No services" 159(test-assert "manifest->code: No services"
145 (eval-test-with-home-environment 160 (eval-test-with-home-environment
146 '() 161 '()
147 (make-manifest (list guile-2.0.9 gcc glibc)) 162 (make-manifest (list guile-2.0.9 gcc glibc))
148 match-home-environment-no-services)) 163 match-home-environment-no-services))
149 164
165(test-assert "manifest->code: No services, package transformations"
166 (eval-test-with-home-environment
167 '()
168 (make-manifest (list (manifest-entry
169 (inherit guile-2.0.9)
170 (properties `((transformations
171 . ((foo . "bar"))))))
172 gcc glibc))
173 match-home-environment-transformations))
174
150(test-assert "manifest->code: No packages nor services" 175(test-assert "manifest->code: No packages nor services"
151 (eval-test-with-home-environment 176 (eval-test-with-home-environment
152 '() 177 '()