diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-02-22 00:27:57 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-02-22 00:27:57 +0100 |
commit | b2bfa32d253337a48f3bc0260982cbb945b345a3 (patch) | |
tree | a75ae018b5c7608414bf50bd6e55683eb0c44f7a /tests/store.scm | |
parent | 99662b8dbf420d0112f83b7daddcecfb1bcb9bad (diff) | |
parent | 2096ef47aad57a9988c8fdfaa46a70770a0e0b12 (diff) | |
download | guix-b2bfa32d253337a48f3bc0260982cbb945b345a3.tar.gz guix-b2bfa32d253337a48f3bc0260982cbb945b345a3.zip |
Merge branch 'master' into core-updates
Conflicts:
gnu-system.am
Diffstat (limited to 'tests/store.scm')
-rw-r--r-- | tests/store.scm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/store.scm b/tests/store.scm index a61d449fb4..7b0f3249d2 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -398,6 +398,25 @@ Deriver: ~a~%" get-string-all)) files))))))) +(test-assert "export/import paths, ensure topological order" + (let* ((file1 (add-text-to-store %store "foo" (random-text))) + (file2 (add-text-to-store %store "bar" (random-text) + (list file1))) + (files (list file1 file2)) + (dump1 (call-with-bytevector-output-port + (cute export-paths %store (list file1 file2) <>))) + (dump2 (call-with-bytevector-output-port + (cute export-paths %store (list file2 file1) <>)))) + (delete-paths %store files) + (and (every (negate file-exists?) files) + (bytevector=? dump1 dump2) + (let* ((source (open-bytevector-input-port dump1)) + (imported (import-paths %store source))) + (and (equal? imported (list file1 file2)) + (every file-exists? files) + (null? (references %store file1)) + (equal? (list file1) (references %store file2))))))) + (test-assert "import corrupt path" (let* ((text (random-text)) (file (add-text-to-store %store "text" text)) |