gnu: rocksdb: set TEST_TMPDIR for faster test i/o.

The rocksdb test can take an egregious amount of time on a spinning HDD.
This will inherit guixbuild's /tmp mount for the rocksdb testing
directory.

* gnu/packages/databases.scm (rocksdb)[arguments]: set TEST_TMPDIR for
check phase

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Ryan Sundberg 2021-07-28 20:43:14 -07:00 committed by Ludovic Courtès
parent 06c11434c9
commit 75e117bac7
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1396,6 +1396,15 @@ (define-public rocksdb
(delete 'configure)
;; The default target is only needed for tests and built on demand.
(delete 'build)
(add-before 'check 'mount-tmp
;; Use the provided workspace directory for test files.
;; Otherwise, /tmp is used which is a mount namespace on /gnu/store.
;; This speeds up the build when the host /tmp is a proper tmpfs or
;; other fast filesystem, as opposed to /gnu which may be a HDD.
(lambda _
(let ((test-dir (string-append (getcwd) "/../test")))
(mkdir test-dir)
(setenv "TEST_TMPDIR" (canonicalize-path test-dir)))))
(add-before 'check 'disable-optimizations
(lambda _
;; Prevent the build from passing '-march=native' to the compiler.