From 1172b2f450611114a81f3bdcc6bfc33d3834c9f6 Mon Sep 17 00:00:00 2001 From: Joe Thornber Date: Wed, 18 Apr 2018 15:12:28 +0100 Subject: [PATCH] [functional-tests] with-temp-file-sized now takes *either* bytes or a disk-size object --- functional-tests/disk-units.scm | 3 ++- functional-tests/temp-file.scm | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/functional-tests/disk-units.scm b/functional-tests/disk-units.scm index 9799d52..10c96b3 100644 --- a/functional-tests/disk-units.scm +++ b/functional-tests/disk-units.scm @@ -1,6 +1,7 @@ (library (disk-units) - (export bytes + (export disk-size? + bytes sectors kilo meg diff --git a/functional-tests/temp-file.scm b/functional-tests/temp-file.scm index 6687f6e..bf757a3 100644 --- a/functional-tests/temp-file.scm +++ b/functional-tests/temp-file.scm @@ -14,6 +14,7 @@ disable-unlink) (import (chezscheme) + (disk-units) (fmt fmt) (srfi s8 receive) (only (srfi s1 lists) span)) @@ -94,10 +95,15 @@ (with-temp-file-containing (rest ...) b1 b2 ...)))))) + (define (safe-to-bytes maybe-size) + (if (disk-size? maybe-size) + (to-bytes maybe-size) + maybe-size)) + (define (with-temp-file-sized-thunk filename size fn) (with-temp-file-thunk filename (lambda (path) - (system (fmt #f "fallocate -l " (wrt size) " " path)) + (system (fmt #f "fallocate -l " (wrt (safe-to-bytes size)) " " path)) (fn path)))) (define-syntax with-temp-file-sized