From e3053df85009db9950487a8284823a75d222bdf1 Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Wed, 23 Aug 2017 10:48:33 +0100 Subject: [PATCH] [functional-tests] factor out temp-file library --- functional-tests/cache-functional-tests.scm | 1 + functional-tests/functional-tests.scm | 18 +------------- functional-tests/temp-file.scm | 26 +++++++++++++++++++++ functional-tests/thin-functional-tests.scm | 1 + 4 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 functional-tests/temp-file.scm diff --git a/functional-tests/cache-functional-tests.scm b/functional-tests/cache-functional-tests.scm index f1fa009..35c2c02 100644 --- a/functional-tests/cache-functional-tests.scm +++ b/functional-tests/cache-functional-tests.scm @@ -5,6 +5,7 @@ (functional-tests) (cache-xml) (fmt fmt) + (temp-file) (srfi s8 receive)) (define-tool cache-check) diff --git a/functional-tests/functional-tests.scm b/functional-tests/functional-tests.scm index 56758ba..196d3c9 100644 --- a/functional-tests/functional-tests.scm +++ b/functional-tests/functional-tests.scm @@ -4,8 +4,6 @@ (export info - temp-file - temp-file-containing slurp-file run @@ -34,6 +32,7 @@ (chezscheme) (fmt fmt) (list-utils) + (temp-file) (thin-xml) (utils) (srfi s8 receive) @@ -62,21 +61,6 @@ ;;;-------------------------------------------------------------------- - (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)) - (define (slurp-file path) (define (slurp) (let ((output (get-string-all (current-input-port)))) diff --git a/functional-tests/temp-file.scm b/functional-tests/temp-file.scm new file mode 100644 index 0000000..f78def1 --- /dev/null +++ b/functional-tests/temp-file.scm @@ -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)) + + ) diff --git a/functional-tests/thin-functional-tests.scm b/functional-tests/thin-functional-tests.scm index 1e08c52..3aa8801 100644 --- a/functional-tests/thin-functional-tests.scm +++ b/functional-tests/thin-functional-tests.scm @@ -7,6 +7,7 @@ (chezscheme) (fmt fmt) (functional-tests) + (temp-file) (thin-xml) (srfi s8 receive) (only (srfi s1 lists) drop-while))