[functional-tests] factor out temp-file library

This commit is contained in:
Joe Thornber
2017-08-23 10:48:33 +01:00
parent 1cc2ab62ae
commit e3053df850
4 changed files with 29 additions and 17 deletions

View File

@@ -0,0 +1,26 @@
(library
(temp-file)
(export
temp-file
temp-file-containing)
(import (rnrs)
(fmt fmt))
(define temp-file
(let ((counter 0))
(lambda ()
(let loop ()
(let ((path (fmt #f (cat (dsp "/tmp/thinp-functional-tests-")
(pad-char #\0 (pad/left 4 (num counter)))))))
(set! counter (+ counter 1))
(if (file-exists? path) (loop) path))))))
;; Creates a temporary file with the specified contents.
(define (temp-file-containing contents)
(let ((path (temp-file)))
(with-output-to-file path (lambda () (put-string (current-output-port) contents)))
path))
)