diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2019-01-13 15:36:49 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2019-01-15 20:24:09 +0100 |
| commit | 0ea939fb796fdd4f0d46d3534b2ec6135e0f3dc7 (patch) | |
| tree | 4e2117fbad1e173ba079800d3fb00d8d64702184 /tests/packages.scm | |
| parent | ee8099f5b688ce5f57790db4122f0b5b91a26216 (diff) | |
guix package: '--list-available' can use data from the cache.
* gnu/packages.scm (fold-available-packages): New procedure.
* guix/scripts/package.scm (process-query): Use it instead of
'fold-packages'.
* tests/packages.scm ("fold-available-packages with/without cache"):
New test.
Diffstat (limited to 'tests/packages.scm')
| -rw-r--r-- | tests/packages.scm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/packages.scm b/tests/packages.scm index 8aa117a2e76..ed635d90116 100644 --- a/tests/packages.scm +++ b/tests/packages.scm | |||
| @@ -995,6 +995,28 @@ | |||
| 995 | ((one) | 995 | ((one) |
| 996 | (eq? one guile-2.0)))) | 996 | (eq? one guile-2.0)))) |
| 997 | 997 | ||
| 998 | (test-assert "fold-available-packages with/without cache" | ||
| 999 | (let () | ||
| 1000 | (define no-cache | ||
| 1001 | (fold-available-packages (lambda* (name version result #:rest rest) | ||
| 1002 | (cons (cons* name version rest) | ||
| 1003 | result)) | ||
| 1004 | '())) | ||
| 1005 | |||
| 1006 | (define from-cache | ||
| 1007 | (call-with-temporary-directory | ||
| 1008 | (lambda (cache) | ||
| 1009 | (generate-package-cache cache) | ||
| 1010 | (mock ((guix describe) current-profile (const cache)) | ||
| 1011 | (mock ((gnu packages) cache-is-authoritative? (const #t)) | ||
| 1012 | (fold-available-packages (lambda* (name version result | ||
| 1013 | #:rest rest) | ||
| 1014 | (cons (cons* name version rest) | ||
| 1015 | result)) | ||
| 1016 | '())))))) | ||
| 1017 | |||
| 1018 | (lset= equal? no-cache from-cache))) | ||
| 1019 | |||
| 998 | (test-assert "find-packages-by-name" | 1020 | (test-assert "find-packages-by-name" |
| 999 | (match (find-packages-by-name "hello") | 1021 | (match (find-packages-by-name "hello") |
| 1000 | (((? (cut eq? hello <>))) #t) | 1022 | (((? (cut eq? hello <>))) #t) |
