diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2021-10-31 00:02:27 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2021-10-31 00:51:06 +0200 |
| commit | 6f4ca78761471602e3af37ee1a33de446114039f (patch) | |
| tree | 93183c29a4e162eec4a63990076afc1da4c21420 /tests/home-import.scm | |
| parent | 96728c54df365cc48f14a514b63616ff7a6d052b (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.scm | 33 |
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 | '() |
