diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2018-07-20 14:49:34 +0200 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2018-07-20 15:01:33 +0200 |
| commit | e4752118691e41ae8307649d1abfd4739b3e4bfa (patch) | |
| tree | eb1c1d4b794e3e00dad9ce0f10d959d12b870bcd /tests | |
| parent | 4f89a8eec69491b925f084381ea4de37527c9310 (diff) | |
database: Reset timestamps to one second after the Epoch.
Previously, store items registered in the database by this code (for
instance, store items retrieved by 'guix offload' and passed to
'restore-file-set') would have an mtime of 0 instead of 1.
This would cause problems for things like .go files: Guile would
consider them to be older than the corresponding .scm file, and
consequently it would ignore them and possibly use another (incorrect)
.go file.
Reported by Ricardo Wurmus.
* guix/store/database.scm (reset-timestamps): Pass 1, not 0, to
'utime'.
* tests/store-database.scm ("register-path"): Check the mtime of FILE
and REF.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/store-database.scm | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tests/store-database.scm b/tests/store-database.scm index fcae66e2de9..4d918842505 100644 --- a/tests/store-database.scm +++ b/tests/store-database.scm | |||
| @@ -32,7 +32,8 @@ | |||
| 32 | 32 | ||
| 33 | (test-begin "store-database") | 33 | (test-begin "store-database") |
| 34 | 34 | ||
| 35 | (test-assert "register-path" | 35 | (test-equal "register-path" |
| 36 | '(1 1) | ||
| 36 | (let ((file (string-append (%store-prefix) "/" (make-string 32 #\f) | 37 | (let ((file (string-append (%store-prefix) "/" (make-string 32 #\f) |
| 37 | "-fake"))) | 38 | "-fake"))) |
| 38 | (when (valid-path? %store file) | 39 | (when (valid-path? %store file) |
| @@ -50,7 +51,9 @@ | |||
| 50 | (and (valid-path? %store file) | 51 | (and (valid-path? %store file) |
| 51 | (equal? (references %store file) (list ref)) | 52 | (equal? (references %store file) (list ref)) |
| 52 | (null? (valid-derivers %store file)) | 53 | (null? (valid-derivers %store file)) |
| 53 | (null? (referrers %store file)))))) | 54 | (null? (referrers %store file)) |
| 55 | (list (stat:mtime (lstat file)) | ||
| 56 | (stat:mtime (lstat ref))))))) | ||
| 54 | 57 | ||
| 55 | (test-equal "new database" | 58 | (test-equal "new database" |
| 56 | (list 1 2) | 59 | (list 1 2) |
